jj-surgeon
Jujutsu (jj) Agent Guide
Key concepts
Working copy is always a commit. The working directory is automatically
snapshotted into commit @ at the start of every jj command. There is no
staging area. All file changes are immediately part of @.
"Clean" means an empty @. When @ has no diff vs its parent, the working
copy is clean. You do NOT need to jj abandon an empty @ — it is harmless
and jj creates a new empty @ automatically after operations that consume it.
Always finish your work with a clean @. Use jj commit -m "message"
(not jj describe) when you're done with a change — jj commit finalizes @
and creates a new empty working copy on top. If you use jj describe instead,
@ still contains your changes and you're still "editing" it. This is the jj
equivalent of leaving a dirty working copy in Git.