Runafleetofcodingagents. See every move.
Armada gives each ticket to one agent, puts a coordinator in charge of every project, and shows the whole fleet live, from the first question to the green merge.
Node 22 or later. Workers run on Conductor Cloud or in Claude Code; the tracker is Linear, the code GitHub. Click the sky to launch a squadron.
Grill the decisions.
Every open question is asked and answered before a line of code is written.
Write the spec.
The answers become one spec: the goal, the decisions, what stays out.
Cut it into tickets.
Linear holds them, each small enough for one agent, with what blocks what. Armada ranks the ready ones by what they unlock.
Ship each one green.
One worker claims each ticket, reports every phase and hands back its pull request only when every required check is green on its head.
The coordinator merges.
It checks the hand-back, the head and the checks, squash-merges pinned to that commit and moves the ticket to Done. Workers never merge.
Every agent, every phase, one screen.
Every session in flight on one board: a lane for the coordinator that runs it, a column for each step. The coordinators answer their workers and merge their pull requests; what only you can decide is marked To validate, and its lane comes first. Below, every session's day on one timeline.
- 01The coordinator answers a question; the worker is back at work
- 02A green pull request is handed back to the coordinator
- 03Its merge needs you: the session is To validate
The dashboard's own components, playing the demo world (bun run demo:seed) fifteen times faster.
One coordinator per project. As many workers as you need.
The coordinator briefs and launches workers, carries your answers and merges. Each worker holds one ticket, reports every phase, asks when it is unsure and hands back a green pull request.
- Coordinator
- brief · watch · answer · merge
- Worker
- claim · report · ask · release
- You
- answer, approve, launch and ask to merge from the dashboard
- brief, answer
- question
- green hand-back, merged
28 commands. Every agent speaks them.
Workers write to Linear only through Armada, so every claim, report and question lands in the same format. When a command cannot go on, it prints the reason and the next command to run.
ask-owner: Escalate a question to the owner, with its choicesdone: Close a design ticket the owner approvedinbox: Questions, plans, requests, hand-backs, silent workerswatch: Wait in the background until something needs youstop: Stop a local worker after its work is pushedanswer: Deliver local worker answers and record decisionsmerge: Check a hand-back and squash-merge it, pinned to its SHAlaunch: Launch a local worker or revoke an unclaimed launchbrief: A worker's launch prompt, with a one-time tokenhook: Claude Code's Stop hook: keep watching while workers fly
attach: Attach screenshots and links for the owner to checkheartbeat: Keep a worker's session alive in the backgroundclaim: Take a ticket: In Progress, phase planningreport: Report a phase; the same phase again is a heartbeatrelease: Give the ticket backask: Ask the coordinator, then wait for the answerrun: Run a command with those secrets in its environment
status: Tickets in flight, ready to start, pull requests waitingvalidate: Show the owner a design or a change, then waitsecrets: The project's secrets for workers, never shownlogin: Sign this terminal in to Armadawhoami: Who this terminal is signed in aslogout: Sign this terminal out
setup: Set up local harnesses, choose permissions and answer their first-run questionsdoctor: What the repository lacks, with the fix for eachinit: One pull request that sets the repository upskills: Update the bundled skills on the current branchauth: Keys on this machine, for an Armada without accounts
Your keys stay in Armada. Not on laptops, not in prompts.
Enter the Linear key once. Terminals sign in, workers get a one-time token, and Armada hands each command only the keys it needs.
A launch token covers one ticket, works once and expires after an hour. Only the prompt handed to the worker carries it; everywhere else it shows masked.
A worker session acts on its own ticket only: claim, report, ask and release, with the keys they need. It ends on release, on merge, or when you revoke it.
Each key is sealed with its own data key. No page or log ever shows it again, and every handout is in the audit list.
Launch your fleet.
Three commands set a repository up: init opens one pull request that adds what it lacks.
- 01
- 02
- 03