Skip to content
cars
Menu

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.

Sample run (made-up goal and stories)
  1. Level 1

    • S1Add the session tablepassed
    • S2Add the token helperpassed
  2. Level 2

    • S3Sign-in routerunning
    • S4Role checksrunning
    • S5Route testsrunning
  3. 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 (claude by default, or openai) reads your code and writes a PRD: stories with acceptance criteria, test commands and dependsOn lists.

  • 02

    Run the DAG in parallel

    Stories whose dependencies have all passed form a level and run at the same time. --parallel N caps how many; 0 means no cap.

  • 03

    One Claude agent per story

    Each story agent is one claude CLI 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

  1. 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.

  2. Step 2

    Review

    The plan opens on the Review screen. Refine it with feedback, accept it, or quit. --dry-run saves the PRD to prd.json without running it.

  3. 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.

  4. 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-pr or --no-push.

The whole path →

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.