jj
Installation
SKILL.md
JJ Version Control
In JJ, the working copy is always a live commit (@). There is no staging area and no explicit commit step — every file change automatically amends @ on the next jj command. The only actions needed are describe (label your work) and push (send to remote).
Detect JJ repo
Before any VC operation, verify you're in a JJ workspace with:
jj root >/dev/null 2>&1. If that succeeds, use only jj commands — never bare git.
Action: Describe (when user says "commit" or "save")
In JJ, "committing" means describing the current change and moving on:
- Gather context:
jj status,jj diff,jj log --limit 10 - Draft a message matching the repo's commit style
- Run:
jj describe -m "<message>" && jj new
That's it. No git add, no staging. The jj new creates a fresh change on top so future edits don't amend the described work.