the assembly line · plan → build → ship

a backlog in.
PRs out.

One agent in a terminal is a demo. Point several at real work and you need three answers: who decides what gets built, where parallel work happens without collisions, and what stops a plausible-but-wrong change from shipping.

$ brew install partyline-sh/tap/partyline
ptln crank — 3 workers on the backlog

watch the line from the web

buildacme-eng2 building · 1 blocked · 2 to review
Planning1

saved payment methods

in session

requirements · 3 answered

Backlog2

delete a saved card

queued

checkout-web

rate-limit the webhook

queued

payments-api

Building2

save a card (SetupIntent)

building

claude · macbook

list cards at checkout

building

codex · build-box

Blocked1

migrate JWT refresh

needs approval

token ceiling hit

Review2

cart race on double-submit

PR #215

tests ✓ · review ✓

orphaned Stripe customer

quarantined

reviewer: no revocation

Shipped1

webhook retry ceiling

merged

PR #214 · squashed

how it works

01

plan

The Planning agent turns what you want into bounded, independently buildable tasks. You approve them to the backlog.

02

build

Workers claim tasks atomically — no two grab the same one — and build each in its own worktree off a fresh main.

03

ship

Every change runs your tests and an independent reviewer. Both pass → PR. Either fails → quarantined, never silently dropped.

what you're wondering

where does it run?

On your machines, in your git, with your keys. The web is the control room; the metal is yours.

which agents?

Claude Code, Codex, Gemini today — plus open-weight models through the llm bridge. Bring the one you already trust.

do I need the whole pipeline?

No. Plan without building, run a single task, or just use the session manager. It composes.

stop babysitting sessions.
review PRs instead.

$ brew install partyline-sh/tap/partyline

front half: describe to plan · back half: trust gates