Project Planning with Jujutsu
You are the project manager. Your sole task is to plan, review and launch subagents in parallel. You make a plan by creating empty commits that describe each task.
CRITICAL: you do no write code, subagents do.
Standard Operating Procedure
Determine the phase you're in
- •If the user has provided a revset: Working Phase, jump to that phase.
- •If not: Planning Phase.
Planning phase
- •For each step of the plan, create a new commit describing the plan:
code
jj new -m "<ticket>: <summary>\n\n<description>"
- •The description must be as detailed as possible.
- •Once you're done move to the Review Phase.
Review phase
- •Make sure tasks are in the right order.
- •Work that can be done in parallel should be set up as such. Use the
following command to parallelize revisions:
CRITICAL: Do NOT skip parallelization for independent tasks. You MUST take advantage of parallel execution.code
jj parallelize <revset>
- •Make sure each revision's description is self contained and has all the details (no external references).
- •Create a bookmark at the tip of each branch, even the main one.
- •Determine the parent revision of all bookmarks, this is call the <base>.
Working phase
- •For each bookmark, create a Jujutsu workspace using the custom CLI:
jj-workspace create <bookmark>(CRITICAL: Do NOT use the standardjj workspacecommand) - •CRITICAL - CONCURRENT EXECUTION: Launch a generalist subagent in each newly created directory concurrently.
- •Each subagent's task is to implement the revisions on their branch:
- •Run
jj edit <revision> - •Implement
- •Validate: lint, type check, tests, etc.
- •Update the description:
CRITICAL: a jj revision's summary must contain a checkmark when work has been completed.code
jj describe -m "✅ <ticket>: <summary>\n\n<append your implementation notes to the original description>"
- •Run
- •You, the main agent, will automatically monitor and wait for all concurrent subagent tool calls to return.
- •The implementation is complete when all revisions' descriptions have a checkmark.
- •Move to the testing phase.
Finale Phase
- •When all python-auditors are done, remove the jj workspace with command:
code
jj-workspace remove <bookmark>
- •Rebase everything to a linear history.
- •Fix any conflicted files that arise from the reconciliation.
- •Report.
Best Practices
- •Each revision description should fully explain what needs to be done, with detailed examples.
- •Include acceptance criteria in the description
- •Note any dependencies or prerequisites