Armada: Turn Any Repository Into a Self-Organizing AI Engineering Team
Why use one coding agent when your repository can have an entire AI engineering team?
Armada turns any code repository into a self-organizing team of eight AI specialists. Instead of relying on a single bot that might mess up your work, this system sets up distinct roles for backend coding, frontend design, security auditing, and quality testing.
The Problem With Solo AI Agents
AI coding agents are fast. Theyβre also:
- Unsupervised β βBuild the login pageβ becomes a framework choice, auth strategy, and color palette decided without you
- Unverified β The same agent that wrote the bug declares it fixed (no maker/checker split)
- Amnesiac β Kill the terminal, lose the context
- Boundaryless β A solo agent rewrites your CI config while fixing a CSS bug
- Destructive β Direct edits on your active branch, parallel tasks collide
These arenβt model failures. Theyβre environment failures.
Loop Engineering
Armada implements loop engineering β replacing one-shot prompting with control loops that prompt agents for you.
contract β dispatch β build β test β review β PR
β |
βββββ evidence gates every transition βββββ
You write the contract (what to build and how to know it works). The fleet runs the loop until a reviewed Pull Request lands in your repo.
The Eight Specialists
| Role | Codename | What It Does |
|---|---|---|
| You | Admiral | Sets the mission, signs the contract, merges the PR |
| Orchestrator | Commodore | Co-writes contract, dispatches specialists, gates evidence |
| Backend | Galleon | Server logic, APIs, databases, backend tests |
| Frontend | Clipper | UI, styling, responsive pages, client tests |
| QA | Corvette | E2E tests, screenshots, owns the defect ledger |
| Adversary | Xebec | Hostile review β hunts edge cases, vulns, UI flaws |
| Security | Frigate | Auth, permissions, data leaks, dependency audit |
| Docs | Caravel | READMEs, API docs, changelogs, user manuals |
| Architect | Bark | Code review, refactoring risk, pattern compliance (read-only) |
Boundaries are enforced by SDK permissions, not prompt politeness. The Commodore cannot edit source code. Security, adversary, and architect can only write their own review artifacts.
Why This Works
Maker/checker split β Developers write code. QA and the adversary check it. A maker never passes its own work.
Parallel phases β Independent phases dispatch simultaneously as background subagents with disjoint file scope. Only phases that depend on each other serialize.
Evidence, not reports β Every gate requires proof you can read: a passing test run, a screenshot, a file:line citation. Nothing advances on βtrust me.β
Crash-proof state β Every transition writes to disk. Kill the session, reopen, and the loop continues where it left off.
Isolated Feature Voyages
Each feature runs in its own Git worktree (sandbox). Multiple features run simultaneously without colliding:
armada voyage auth-system # boots a lane for feature "auth-system"
armada voyage dashboard # boots another lane β runs in parallel
armada fleet # dashboard: one row per active lane
Features in separate worktrees cannot collide. main stays pristine. Every voyage ends in a PR, never a local merge.
Quick Start
# Install globally
npm install -g @rafamacalaba/armada
# Existing repo β detects your stack, scaffolds the team
cd your-repo && armada init
# New project β questionnaire, scaffold, ready to ship
armada new my-app && cd my-app
# Zero-install trial
npx @rafamacalaba/armada@latest new my-app
Requires Node.js 22+ and an authenticated opencode install.
Real Results
Armada uses itself β the fleet builds Armadaβs own features:
- Built the session-based state system in ~26 minutes at a cost of $0.18, fully autonomously
- Surfaced a real permission deadlock the fleet asked about instead of silently failing
- QA caught and self-corrected 3 test failures the developers introduced
Every feature Armada ships was built by Armada.
Save 20x on OpenRouter
Route to discounted providers (Novita, StreamLake, Xiaomi):
# Check live prices and savings
armada models --discounts
# Init with preferred provider
armada init --openrouter-provider Novita
Project Structure
your-repo/
βββ opencode.json
βββ AGENTS.md
βββ armada/
β βββ armada.yaml # manifest: re-runnable source of truth
β βββ REQUIREMENTS.md # contract: phases + success criteria
β βββ state/ # restart-proof loop memory
β βββ ledgers/<feature>/ # DEFECTS.md, reviews, findings
β βββ e2e/<feature>/ # per-feature E2E evidence
β βββ screenshots/<feature>/ # per-feature visual evidence
βββ .opencode/
βββ agent/ # 8 native agents with SDK-enforced permissions
βββ commands/ # /voyage, /patrol, /fleet, /status
Why This Matters
The current AI coding paradigm is βone smart agent, fingers crossed.β Armada flips this to βspecialized team, verified handoffs, evidence-gated delivery.β
Itβs the difference between a solo contractor and a proper engineering org β with all the checks and balances that implies.
Links: