███████╗██╗ ██╗██╗██████╗ ██╗████████╗
██╔════╝██║ ██║██║██╔══██╗██║╚══██╔══╝
███████╗███████║██║██████╔╝██║ ██║
╚════██║██╔══██║██║██╔═══╝ ██║ ██║
███████║██║ ██║██║██║ ██║ ██║
╚══════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═╝
Shipit is a Rust command line interface for managing merge requests, changelogs, tags, and releases using a plan and apply interface. Built with coding agent integration in mind. | gitshipit.net
Why use shipit?
Most release tools execute immediately. Shipit uses a plan/apply pattern that separates "gather and review" from "execute." You see exactly what will be created before anything is pushed, which makes it safe to hand off to an AI agent without fear of a surprise tag or PR.
- Agent-native by design. Deterministic plan files and
--yamloutput make shipit a first-class citizen in agentic coding workflows while still being a standalone tool meant for humans. - Claude Code skill included. Run
shipit claudeto install the shipit skill globally. Then type/shipitin any Claude Code session to load the full workflow guide. No per-project setup required. - GitHub, GitLab, and more platforms to come in one binary. No plugins, no config switching, and no git platform lock-in. Platform is detected automatically from your remote URL.
- Multi-repo releases. Coordinate releases across multiple repositories in a defined order from a single config file using an agent or write your own script.
- Commit enrichment. Fetches PR/MR titles from the platform API so your changelogs read like release notes, not raw git log output.
- No runtime required. Single compiled Rust binary with no Node, Python, or dependency installation.
Demo

Installation
Install Script (macOS/Linux/Windows)
|
Cargo
Homebrew (macOS)
&&
From Source
Pre-built Releases
See the releases page for the binaries installed by gitshipit.net/install
Install Claude Code Skill
Claude Code Skill Usage

The /shipit skill loads the full workflow guide into Claude's context. Claude will confirm your intent, generate a plan (title, description, and commit list) before touching anything, and ask for your approval before creating any PR/MR or tag.
Opening merge requests
/shipit create a merge request
Claude will run shipit b2b plan to collect commits between your source and target branches, enrich the description from PR/MR titles, present the plan for review, and open the pull/merge request only after you approve.
Creating tags
/shipit create a tag
Claude will run shipit b2t plan to collect commits since the last tag, suggest the next semantic version, present the annotated tag plan for review, and push the tag only after you approve.
Multi-project releases
/shipit run a multi-project release
Claude will check for a .shipit/multi-release.yml config (creating one interactively on first run), walk through each project and pipeline step in order, present every plan before applying it, and produce a Markdown release summary with links to every PR/MR and tag created. These summaries are a great way to build a static site of release notes.
CLI Docs
Platform support
| Platform | Architecture | Status |
|---|---|---|
| Linux | x86_64 | ✅ |
| macOS | x86_64 | ✅ |
| macOS | aarch64 | ✅ |
| Windows | x86_64 | ✅ |
Contributing
See CONTRIBUTING.md for local development setup, coverage, and pre-commit hooks.