12vectors / bench docs for $version
$site_title $site_tagline GitHub ↗
Documentation

Run a team of coding agents.
Stay in control.

Your agents can ship faster than you can keep track. bench turns your repo into mission control: every task is a card, every agent works in its own isolated worktree, every change waits as a PR for your review. You see everything. Nothing merges without you.

no account, no service, no database. it is python 3 on your own machine.
~/your-repo first run · abridged
$install_block

  solo or team? [solo]:
  which agent adapter? [claude]:
  what command runs this project's tests? [python3 -m unittest]:



Task board for ~/your-repo/.task-manager/tasks
  http://127.0.0.1:26071/
The bench board: cards in backlog, to-do, in-progress, review
            and done, three agents working, each card showing its branch
            and the command its agent is running.
the board bench's own, running on this repo. Three agents at work, each on its own branch — and every one of them stops at review.

You've got agents. Now you've got a coordination problem.

“Which tab was that in?” Every agent's task, branch and status on one board — not scattered across chat sessions that forget everything.
“They keep stepping on each other.” Each agent works in its own git worktree. Parallel work, zero collisions.
“Did something just merge?” Never. bench opens PRs and puts CI on the card — the merge button is yours alone.
01 Running in two minutes Drop it into any repo, run one script, open the board. No account, no config sprawl — it untars into .task-manager/ and serves on port 26071. 02 Always know what every agent is doing Backlog to done at a glance. The board cannot drift from reality, because tasks are files in your repo: the directory a card sits in is its status. 03 Parallel agents, zero collisions Every agent gets its own git worktree and branch. Run five at once without them overwriting each other. 04 Nothing ships without you Finished work arrives as a PR with CI status on the card. bench never merges — you stay the gate, without being the bottleneck. 05 One board for the whole team Synced through git itself (BOARD_SYNC=1) — no shared server, no per-seat billing, no “who updated the ticket?” 06 Swap agents without rewiring Vendors are adapters. Change your coding agent, or run several, without changing your workflow.
Version $version read from manager/core/VERSION when this page was built. update.sh replaces an install with the latest release; BENCH_REF=v2 pins an exact one. Releases ↗