Skip to content

leandroh/ship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

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

Step What happens Stops if
1. Pre-flight Checks gh CLI, detects base branch, verifies there's something to ship No changes, no remote, no gh
2. Branch Creates a conventional branch (fix/PD-5183-peer-address) if on main
3. Stage Adds changed files, skips secrets and credentials
4. Merge main Fetches and merges base branch so tests run against latest Merge conflicts
5. Lint Auto-detects linter, auto-fixes when possible Unfixable lint errors
6. Test Finds and runs tests for changed files only Test failures
7. Commit Creates bisectable conventional commits
8. Review Checks diff against security/quality checklist Critical findings
9. Push Pushes with upstream tracking Diverged remote
10. PR Creates PR with structured description, outputs URL

Supported languages

Linter Test runner Test conventions
JS/TS ESLint, Biome, Prettier npm test, vitest, jest *.test.ts, *.spec.ts, __tests__/
Python Ruff, Black pytest test_*.py, *_test.py
Ruby RuboCop RSpec, Minitest *_spec.rb, *_test.rb
Go golangci-lint go 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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages