pi-jj-auto
v0.1.6
Published
Automatic jj revision management — guards file edits to keep Jujutsu revisions focused
Readme
pi-jj-auto
Automatic jj revision management for pi coding agent.
What it does
- 🛡️ Guards file edits — blocks
write/editwhen the current jj revision already has work - 🏷️ Auto-describes — sets revision description from your prompt when work finishes on an empty revision
- 🤖 LLM decides — blocked edits show clear instructions, the model chooses
jj neworjj desc
Install
pi install npm:pi-jj-autoHow it works
- You send a prompt
- LLM tries to edit a file
- Extension checks the current jj revision:
- Empty description → pass through (fresh revision)
- Description + no diff → pass through (revision just created via
jj new -m) - Description + diff → block with guidance: new task →
jj new -m "...", same task →jj desc -m "..."
- LLM runs the right jj command and retries the edit
- When done, auto-describes the revision from your prompt if description is still empty
Configuration
Global: ~/.pi/agent/pi-jj-auto.json
Project: .pi/pi-jj-auto.json
{
"enabled": true,
"blockOnMismatch": true,
"autoDescribe": true,
"maxPromptLength": 72
}| Field | Type | Default | Description |
| ----------------- | ------- | ------- | ---------------------------------------------------------- |
| enabled | boolean | true | Enable/disable |
| blockOnMismatch | boolean | true | Block edits or just notify |
| autoDescribe | boolean | true | Warn at turn end when revision has diff but no description |
| maxPromptLength | number | 72 | Max task length in guard messages |
Debug
Run pi with debug logging to verify activation, skill injection, and bash classification:
PI_JJ_AUTO_DEBUG=1 pi