Comparison
Why not just ask Claude?
You can. Claude is the right shape for work you do once.
@katforge/imp is the right shape for the git ritual you do twenty times a day — commit, split, PR, release — where you want a verb, not a chat.
- A verb, not a conversation.
imp commit -atakes under a second. Asking an agent to read your staged diff, draft a message, and paste it back takes a minute and breaks your flow. - Deterministic shape. Every commit passes commitlint. Every release bumps semver and syncs every package manifest. An agent does what you ask that day;
@katforge/imp enforces the rule across every repo, every time. - Scriptable. Git hooks, CI pipelines, shell aliases, cron. You can't put a chat session in a
pre-commithook. You can putimp commit -a -y. - Atomic and reversible.
imp releaserolls back every manifest, tag, and commit on failure. A chat session can leave you half-deployed with no transcript of what got committed where. - Local, private, free. Point
@katforge/imp at Ollama and the diff never leaves your machine. No API key, no subscription, no usage cap on the boring stuff. - They compose. Not either-or:
@katforge/imp can use the Claude CLI as its provider, so prompts run inside your existing subscription. Use an agent for thinking; use
@katforge/imp for typing.
Against commit generators
| Capability | aicommits | OpenCommit | commitizen | |
|---|---|---|---|---|
| Commit message from diff | Yes | Yes | Yes | Prompts you |
| Conventional Commits | Enforced | Optional | Optional | Enforced |
| Split dirty tree into commits | Yes | — | — | — |
| Rewrite past history | Yes (tidy) | — | — | — |
| AI changelog | Yes | — | — | Template |
| AI PR title and body | Yes | — | — | — |
| AI merge conflict resolution | Yes | — | — | — |
| Local models (Ollama) | Yes | Partial | Yes | n/a |
| Claude CLI provider | Yes | — | — | n/a |
| Runtime deps | 3 | Many (Node) | Many (Node) | Many (Python) |
aicommits and OpenCommit cover the commit-message step.
@katforge/imp covers the whole loop: dirty tree → clean commits → PR → release → changelog.
imp vs Claude Code
Claude Code can write commit messages too. They are different shapes for different jobs.
| Claude Code | ||
|---|---|---|
| Interaction | One-shot command | Conversational session |
| Latency | Sub-second to a few seconds | Multi-turn |
| Scriptable in hooks, aliases, CI | Yes | — |
| Conventional Commits | Enforced | Whatever you ask for that day |
| Semver from commit history | Computed | Manual |
| Manifest sync + atomic rollback | Built in | — |
Multi-repo (imp fleet) | Yes | Single session |
| Local / offline / private | Yes (Ollama) | — |
| Cost | Free with Ollama | Subscription / API |
Use Claude Code for open-ended work where you need a thinking partner. Reach for
@katforge/imp for the same git ritual you do twenty times a day. They compose:
@katforge/imp can use the Claude CLI as its provider, so the prompts run inside your existing Claude subscription.