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 worktree, every change waits as a PR for your review.

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.
bench's own board, on this repo. Three agents at work, each on its own branch — and every one of them stops at review.
Two minutes

Untar it, run it, open the board.

It goes into .task-manager/ inside the repo it manages. One script wires the project and serves the board on port 26071 — pinned, so the url is always the one you bookmarked.

Two questions on the first run: solo or team, and which coding agent runs the headless jobs. What runs your tests is read off the project. Everything else is written into a settings file, commented, for when you want it.

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]:



Task board for ~/your-repo/.task-manager/tasks
  http://127.0.0.1:26071/

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 ↗