Stats
Actions
Tags
How this command is triggered — by the user, by Claude, or both
Slash command
/jj-workflow:jj-commitThe summary Claude sees in its command listing — used to decide when to auto-load this command
# Jujutsu Commit Workflow Create focused jj commits with related changes only. Unlike git, jj has no staging area — the working copy IS the current commit (@). ## Arguments - `$ARGUMENTS` - Commit message (optional, will prompt if not provided) ## Workflow ### 1. Show changed files grouped by category Run `jj status` and group files into categories: - **Scripts**: `*.sh`, `*.hs`, `*.py`, `bin/*` - **Config**: `*.conf`, `*.toml`, `*.yaml`, `*.yml`, `*.json`, `CLAUDE.md`, `.claude/*` - **Data**: `*.journal`, `*.csv`, `*.rules`, `*.ledger`, `*.beancount` - **Docs**: `*.md` (excluding CLAU...
Create focused jj commits with related changes only. Unlike git, jj has no staging area — the working copy IS the current commit (@).
$ARGUMENTS - Commit message (optional, will prompt if not provided)Run jj status and group files into categories:
*.sh, *.hs, *.py, bin/**.conf, *.toml, *.yaml, *.yml, *.json, CLAUDE.md, .claude/**.journal, *.csv, *.rules, *.ledger, *.beancount*.md (excluding CLAUDE.md), *.txt, *.rstOutput format:
Changed files by category:
[1] Scripts (2 files)
bin/fetch-prices.sh
hledger-factset-paystub.hs
[2] Config (1 file)
CLAUDE.md
If only ONE category has changes:
If MULTIPLE categories have changes:
AskUserQuestion with multiSelect: trueCheck for .claude/jj-pre-commit.sh in the project root:
This allows projects to add custom validation (e.g., hledger check, cargo test, npm run lint) without modifying the plugin.
# Commit only the selected files
jj commit -m "<message>" <file1> <file2> ...
# Other files remain in working copy (@) for future commits
jj log -r @ -r @-
After the commit, remind:
Tip: Run `jj bookmark advance` (or `jj ba`) to move bookmarks forward.
| Aspect | Git | Jujutsu (jj) |
|---|---|---|
| Staging | git add required | No staging — working copy is @ commit |
| Selective commit | Stage files, then commit | jj commit [paths...] directly |
| Uncommitted changes | Outside staging area | Remain in working copy (@) |
| Commit all | git commit -a | jj commit (no paths) |
npx claudepluginhub kalupa/jj-workflow --plugin jj-workflow