pi-jj-auto

extensionmaintained

Automatic jj revision management — guards file edits to keep Jujutsu revisions focused

by — · v0.1.6 · published 4mo ago

$ pi install npm:pi-jj-auto
downloads/mo
207
stars
3
last push
3d ago
open issues
0

Signals

license: MITtestspi manifest: missinginstall size: —deps: 0peer deps: 0

Download trend

No downloads in the last 12 weeks.

README

pi-jj-auto

Automatic jj revision management for pi coding agent.

What it does

  • 🛡️ Guards file edits — blocks write/edit when 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 new or jj desc

Install

pi install npm:pi-jj-auto

How it works

  1. You send a prompt
  2. LLM tries to edit a file
  3. 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 "..."
  4. LLM runs the right jj command and retries the edit
  5. 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
}
FieldTypeDefaultDescription
enabledbooleantrueEnable/disable
blockOnMismatchbooleantrueBlock edits or just notify
autoDescribebooleantrueWarn at turn end when revision has diff but no description
maxPromptLengthnumber72Max 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