TypeScriptNode.jsGitHub ActionsDockerAWS ECRSemantic Versioning

ShipKit

ShipKit is a zero-config release automation tool. It reads Conventional Commits, bumps semver, generates changelogs, and triggers environment-specific deployment pipelines-all from a single CLI command.

950 GitHub stars
ShipKit - main screenshot

// key outcome

Cut release cycle from 2 hours to 8 minutes, eliminating manual changelog work.

01 / Problem

The Problem & User Context

Release processes at small teams were largely manual: bumping versions, writing changelogs, tagging Docker images, and coordinating staging vs. production rollouts all required hand-crafted shell scripts that differed per project.

02 / Solution

Approach & Tradeoffs

ShipKit parses git history using Conventional Commits spec, computes the next semver, generates a CHANGELOG.md, publishes to npm and Docker Hub, then triggers Vercel/AWS deployments-all in a single invocation.

03 / Architecture

Technical Architecture

TypeScript CLI built with Commander.js. GitHub Actions composite action for CI/CD use. Uses @octokit/rest for GitHub API calls. Husky + lint-staged integration for commit validation. Published as both npm package and Docker image.

// tech stack

TypeScriptNode.jsGitHub ActionsDockerAWS ECRSemantic Versioning

// architecture diagram

Add your architecture diagram here (Excalidraw, Figma, or SVG)

04 / Visuals

Screenshots & UI States

ShipKit screenshot 1
ShipKit screenshot 2
05 / Results

Results & Lessons Learned

  • Release cycle time down from 2 hours to ~8 minutes
  • 950+ stars, 120+ NPM weekly downloads
  • Adopted by 3 YC-backed startups as their default release process
  • Zero changelog-related post-mortems since adoption

Explore the Code

All source code is open-source on GitHub. Issues, PRs, and feedback are always welcome.