Concurrent Agent Runtime Supervisor
One goal in, a DAG of stories out, every story its own agent
Give cars a goal. The Planner explores your codebase and writes a PRD of stories with dependencies. You review it in the terminal, then cars runs the DAG level by level, one Claude agent per story, on its own run branch.
Level 1
- S1Add the session tablepassed
- S2Add the token helperpassed
Level 2
- S3Sign-in routerunning
- S4Role checksrunning
- S5Route testsrunning
Level 3
- S6Docs and changelogwaiting
run branch cars/add-auth · 3 of 6 stories in parallel
What it does
- 01
Plan from a goal
The Planner (
claudeby default, oropenai) reads your code and writes a PRD: stories with acceptance criteria, test commands anddependsOnlists. - 02
Run the DAG in parallel
Stories whose dependencies have all passed form a level and run at the same time.
--parallel Ncaps how many;0means no cap. - 03
One Claude agent per story
Each story agent is one
claudeCLI process with its own retries and story timeout. Auth comes from your Claude CLI session. - 04
Observers on a shared bus
The Critic checks every turn against acceptance criteria, the Librarian shares what earlier stories explored, the Sentry flags two agents writing one file, and the Surgeon replans terminal failures.
- 05
A live terminal UI
A Rust TUI shows the welcome screen, the plan review, a dashboard with live agent logs, a DAG view and run stats.
- 06
Ends in a pull request
Commits land on a
cars/<name>run branch. When the run succeeds, the Finalizer opens a pull request on GitHub (gh) or Azure DevOps (az).
From goal to pull request
- Step 1
Plan
The Planner explores the target directory and turns your goal into a plan: a PRD of stories with acceptance criteria, test commands, retries and dependencies. Cycles are rejected.
- Step 2
Review
The plan opens on the Review screen. Refine it with feedback, accept it, or quit.
--dry-runsaves the PRD toprd.jsonwithout running it. - Step 3
Run
The Conductor runs the DAG one level at a time. Every story in a level gets its own story agent on the run branch; each agent is told to build the project before it commits.
- Step 4
Finish
At the end the TUI shows time saved by running in parallel. The Finalizer opens one pull request per successful run unless you pass
--no-pror--no-push.
Run a whole goal as parallel agents
cars runs on your machine, in your repository, with your Claude CLI login. There is no hosted service and no account.