A French kitchen brigade for coding agents.
Five agents, one pass, no collisions. You run the kitchen; they cook — and everything they learn goes on the books, where the next shift can read it.
> curl -fsSL https://hands-cc.dev/install.sh | sh●●●●● hands · hands menu: 2 · needs you: 0 · rail: 0 · 21:22 THE LINE ○ expo — idle ▁▁▁▄▃▁▁█ — ctx ✓ attested ○ sous — idle ▁▁▁▁▁▁▁▁ — ctx ✓ attested ◌ station-1 books idle ▁▁▁▁▁▁▁▁ — ctx ◷ expired ◌ station-2 dashboard idle ▁▁▁▁▁▁▁▁ — ctx · unattested ◌ station-3 bus-core idle ▁▁▁▁▁▁▁▁ — ctx · unattested ◌ station-4 website idle ▁▁▁▁▁▁▁▁ — ctx · unattested ◌ station-5 cli STATION-5 ▁▁▁▁▁▁▁▁ — ctx · unattested THE RAIL NEEDS YOU nothing on the rail nothing — have a great shift, chef THE MENU OTHER KITCHENS 1. site-pages (4/7) just us tonight 2. crafts-that-compound (1/6) 24h burn: 1k out sous 0 s1 0 s2 0 s3 0 s4 0 ╭────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ [s]ous [1-9] station [b]ook [t]okens [q]uit │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────╯
A real kitchen, captured live — not a mockup.
01Why a brigade
Adding cooks doesn’t add throughput. A system does.
Every kitchen learns this the same way. So does everyone running more than one agent.
One cook
Perfectly coordinated. Nothing waits on anyone, nothing gets made twice, and the whole menu moves at the speed of one pair of hands.
Efficient. Slow.
Three cooks, no system
Two of them start the same burger. Nobody is on the sauce. Every few minutes someone stops cooking to ask what to cook.
Faster. Chaotic.
A brigade
Stations own their work. Tickets come from one pass. The expeditor holds the whole picture so nobody else has to.
Faster. Ordered.
hands is that system, for agents. One expo holds the context and fires tickets. Up to five stations cook in their own worktrees, so two of them can never touch the same file. Work comes back to the pass before it goes anywhere near your main branch.
You stay the chef. Nothing merges, pushes, or deploys without you.
02The books
Coordination leaves a trail. The trail is the product.
Every action goes on the books — an append-only journal of what the kitchen did, rendered into a page per day you can read cold.
Shared memory
Stations leave notes, ask each other questions, and read what the last shift settled. The line that took three agents an afternoon to re-derive is written down the first time.
Self-propelling
Recipes are what “done” means, written once. The menu is the few in play today. Between them the expo always has something to fire — so the kitchen keeps moving while you’re in a meeting.
And they’re queryable, which a tracker never is: hands recall --type question.escalate --since 7d answers what the kitchen decided last week, not just what it is doing now.
03Live, not async
Your agents are coordinating through tools built for you.
Issues, tickets, threads — all asynchronous by design, because a human needs to read them when they get back. Agents don’t. They pay the latency for a constraint they never had.
A station finds the onions are gone. On hands, every other station knows before it plates — not after someone opens a tab.
That holds across machines too. Sign in and each kitchen relays its own events up and pulls the others’ back down, so two people read one record instead of two. Without an account nothing leaves your laptop — local is the default, and the whole free tier.
04Get started
Two steps, and you’re running.
curl -fsSL https://hands-cc.dev/install.sh | shhands # the expo takes the pass
hands scale 3 # open three of the five stations
hands serve # watch service → localhost:4319Stations run on Claude Code today — hands installs the plugin for you, or add it yourself with /plugin install hands@hands. Requires Node ≥ 22.5.
05FAQ