Skip to main content

Git workflow accelerator for humans and agents

Project description

jetsam

PyPI Docs CI

Git workflow accelerator for humans and agents.

Jetsam wraps common multi-step git workflows into single, plannable commands. Every action generates a preview plan before executing, making it safe for interactive use and ideal for AI agent integration via MCP.

Documentation | PyPI | GitHub

Installation

pip install jetsam-mcp
# or
uv pip install jetsam-mcp

Quick start

# Initialize in a repo
jetsam init

# Check status
jetsam status

# Stage + commit
jetsam save -m "fix parser bug"

# Full pipeline: stage → commit → push → PR
jetsam ship -m "add dark mode"

# Tag and release
jetsam release v0.1.0 --title "First release"

Every command shows a plan and asks for confirmation before executing. Use --dry-run to preview without executing, or --execute to skip the prompt.

Verb reference

Verb Alias Description
status s Show repository state snapshot
save v Stage and commit with smart defaults
sync y Fetch, rebase/merge, and push
ship h Full pipeline: stage, commit, push, open PR
switch w Switch branches with automatic stash/unstash
start b Start work on an issue or feature (branch or worktree)
finish f Merge PR and clean up branch
tidy t Prune merged branches and stale remote refs
release r Tag, push tag, and create platform release
log l Condensed commit history
diff d Show diff with smart defaults
pr p Pull request operations (view/create/list)
prs List PRs with check and review status
checks c Show CI check status
issues i List issues from project tracker
init Initialize jetsam in a repo

Common flags

All workflow verbs (save, sync, ship, switch, start, finish, tidy, release) support:

  • --dry-run — show plan without executing
  • --execute — execute without prompting
  • --json (global) — output as JSON

Key verb options

save [-m MESSAGE] [--include GLOB] [--exclude GLOB] [FILES...]

ship [-m MESSAGE] [--to BRANCH] [--no-pr] [--merge] [--include GLOB] [--exclude GLOB] [FILES...]

sync [--strategy rebase|merge]

switch BRANCH [-c/--create]

start TARGET [-w/--worktree] [--base BRANCH] [--prefix PREFIX]

finish [--strategy squash|merge|rebase] [--no-delete]

release TAG [--title TITLE] [--notes NOTES] [--draft]

MCP integration

Jetsam includes a built-in MCP server for agent integration:

# Full agent setup: MCP config + routing instructions + warning hooks
jetsam init --mcp --agents claude --hooks claude

# Or just the MCP server config
jetsam init --mcp

This creates .mcp.json for automatic MCP discovery, CLAUDE.md with a routing table that teaches agents to use jetsam tools instead of raw git/gh, and warning hooks that alert agents when they bypass jetsam.

The MCP tools mirror CLI verbs with a plan → confirm flow:

  1. Call a workflow tool (e.g. save, ship, release) — returns a plan
  2. Optionally call modify_plan to adjust the plan
  3. Call confirm to execute, or cancel to discard

Additional MCP tools for PR interaction: pr_comment, pr_review, pr_comments, issue_close.

Shell aliases

Install short aliases for common operations:

jetsam init --aliases

This adds the following aliases to your shell config:

Alias Command
jt jetsam
jts jetsam status
jtv jetsam save
jty jetsam sync
jth jetsam ship
jtp jetsam ship --pr
jtw jetsam switch
jtl jetsam log
jtd jetsam diff

Worktree support

Jetsam supports git worktrees for parallel development:

# Start work in a new worktree
jetsam start my-feature --worktree

# Finish and clean up the worktree
jetsam finish

Shared paths

Create a .git-worktree-shared file in the repo root to automatically symlink paths into new worktrees (one path per line):

.env
node_modules
.venv

Lines starting with # are ignored.

Configuration

Jetsam stores its configuration in .jetsam/ at the repo root:

Path Purpose
.jetsam/ Config directory (created by init)
.jetsam/plans/ Temporary plan storage (5-minute TTL)
.mcp.json MCP server config (created by init --mcp)
.git-worktree-shared Paths to symlink into worktrees

Platform support

Jetsam auto-detects GitHub and GitLab from remote URLs:

Git pass-through: any unrecognized command is forwarded to git, so jetsam log --oneline works exactly like git log --oneline.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jetsam_mcp-1.1.7.tar.gz (154.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jetsam_mcp-1.1.7-py3-none-any.whl (74.3 kB view details)

Uploaded Python 3

File details

Details for the file jetsam_mcp-1.1.7.tar.gz.

File metadata

  • Download URL: jetsam_mcp-1.1.7.tar.gz
  • Upload date:
  • Size: 154.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jetsam_mcp-1.1.7.tar.gz
Algorithm Hash digest
SHA256 455d3919f230696f0a1ba86d8aed31fc09aa47510065f8aaf173c4437637f3db
MD5 8b8d17ca49fc27f14d6f61ee0ffa99a7
BLAKE2b-256 25adb6f691b68462c682641e116b6a9a2af70aabe7fced4bb20ddb5c74a48d6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for jetsam_mcp-1.1.7.tar.gz:

Publisher: publish.yml on teaguesterling/jetsam

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jetsam_mcp-1.1.7-py3-none-any.whl.

File metadata

  • Download URL: jetsam_mcp-1.1.7-py3-none-any.whl
  • Upload date:
  • Size: 74.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jetsam_mcp-1.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e20ca59466072b68bce7771f004734d3b0b00e8b7e8c161d9d2821ffe39c0ee5
MD5 8df63faf87315f1502b629c59efcbd33
BLAKE2b-256 9c22f87a33e8f9c4419d92960052cddc5ee755b36f48ae47f2aba42c20493b15

See more details on using hashes here.

Provenance

The following attestation bundles were made for jetsam_mcp-1.1.7-py3-none-any.whl:

Publisher: publish.yml on teaguesterling/jetsam

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page