Skip to content

Latest commit

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

 .
|\.
| \.
__|__\.__
\________/
~~~~~~~~~~~ ship

A Claude Code skill that ships your changes in one command.

/ship # ship everything
/ship PD-5183 # ship with a ticket reference
/ship https://jira.com/PD-5183 # works with URLs too

Install

One-liner (global):

curl -fsSL https://raw.githubusercontent.com/leandroh/ship/main/install.sh | bash

One-liner (per-project):

curl -fsSL https://raw.githubusercontent.com/leandroh/ship/main/install.sh | bash -s -- --local

From a cloned repo:

./install.sh # global (~/.claude/skills/ship/)
./install.sh --local # per-project (.claude/skills/ship/)

The 10 steps

StepWhat happensStops if
1. Pre-flightChecks gh CLI, detects base branch, verifies there's something to shipNo changes, no remote, no gh
2. BranchCreates a conventional branch (fix/PD-5183-peer-address) if on main
3. StageAdds changed files, skips secrets and credentials
4. Merge mainFetches and merges base branch so tests run against latestMerge conflicts
5. LintAuto-detects linter, auto-fixes when possibleUnfixable lint errors
6. TestFinds and runs tests for changed files onlyTest failures
7. CommitCreates bisectable conventional commits
8. ReviewChecks diff against security/quality checklistCritical findings
9. PushPushes with upstream trackingDiverged remote
10. PRCreates PR with structured description, outputs URL

Supported languages

LinterTest runnerTest conventions
JS/TSESLint, Biome, Prettiernpm test, vitest, jest*.test.ts, *.spec.ts, __tests__/
PythonRuff, Blackpytesttest_*.py, *_test.py
RubyRuboCopRSpec, Minitest*_spec.rb, *_test.rb
Gogolangci-lintgo test*_test.go

package.json scripts and Makefile targets take precedence.

PR format

## Problem
Why this change is needed.
## Pre-landing review
Findings from the automated review, or "No issues found."
## Test plan-[x] Unit tests pass (12 tests, 0 failures)
-[ ] CI passes
Refs: [PD-5183](https://jira.example.com/browse/PD-5183)

Refs: only appears when a ticket is provided. No emoji, no AI attribution.

Customizing the review

Drop a .claude/review-checklist.md in your project. Use two severity levels:

## Critical (blocks shipping)- SQL injection: raw queries with string interpolation
- Hardcoded secrets in source code
## Informational (noted in PR, doesn't block)- Unused imports or dead code

Full template at review-checklist.md.

Safety

  • Never stages .env, private keys, credentials, or tokens
  • Never uses --no-verify
  • Never force pushes
  • Never skips existing tests or the pre-landing review
  • Stops immediately on any failure

License

CC0 1.0

About

A skill that helps you ship.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages