Armada logo Armada
Multi-agent AI orchestration

One developer.
An entire fleet.

Put independent tasks in flight across your repositories with the agents and models you already use. Armada gives each mission its own branch and worktree, routes roles to your preferred captains, and tracks logs, diffs, approvals, and outcomes. Come back to a clear record of what landed and what still needs you.

v1.1.0 · Open Source · MIT CLI + API Captains Cross-Platform Built on .NET
  Armada CLI example
# Explicit tasks become separate missions
$ armada go "Harden the API" \
  --task "Add rate limiting" \
  --task "Add input validation" \
  --task "Add request logging"

Admiral Initializing fleet...
Admiral ✓ Vessel detected: task-api
Admiral ✓ 3 missions created, dispatching captains
Captain-1 [msn_1] Add rate-limiting middleware
Captain-2 [msn_2] Add input validation to POST /tasks
Captain-3 [msn_3] Add request logging + correlation IDs

Admiral ✓ Example outcome: 3/3 missions complete
$ _
Works with the agents you already have
Claude Code claude Codex codex Gemini gemini Cursor cursor Mux mux OpenCode opencode
The Killer Feature

Your AI agent becomes the orchestrator

Chat with your favorite AI assistant and have it command an entire fleet. Armada's MCP server exposes tools that let an MCP-capable assistant decompose work, create missions, monitor progress, and request retries or landing actions within its permissions. Armada supplies the worktrees, state, and execution machinery.

  • ✓Describe work in natural language; your AI plans and executes it through Armada.
  • ✓Ask Armada keeps private conversations on the web, terminal, or mobile app. It reads live fleet state and presents supported operational actions as proposals you approve, with work cards tracking the result.
  • ✓armada mcp install configures supported clients including Claude Code, Codex, Gemini, and Cursor, plus Mux and OpenCode when installed.
Set up AI orchestration →
  Illustrative MCP Session
/* Describe the outcome; the assistant uses Armada tools */ You: "Harden the task API with validation, rate limiting, and request logging." AI: Creating a voyage with 3 missions and dispatching in parallel... ▶ dispatch (three explicit tasks) ▶ voyage_status ... ✓ 3/3 missions complete. Branches merged to main. Ready for your review.
Single Pane of Glass

Every agent, every repo — one live view

The embedded dashboard brings captains, missions, voyages, and the merge queue into one view, with live WebSocket updates. English and eight beta locales are available across the dashboard, TUI, and mobile app.

  • ✓Mission history, logs, diffs, and signals form a queryable record, subject to your retention settings. Find the evidence before deciding what to do next.
  • ✓A Needs-You inbox surfaces everything awaiting a human decision, most-urgent first.
  • ✓The keyboard-first terminal UI (armada tui) covers dashboard screens and adds an Approvals center. Visible focus and contextual key hints help you review work over SSH or without a browser.
Explore capabilities →
Armada web dashboard - system status
Dashboard — captains, missions, voyages, and real-time signals in one place
Define the Roles

Make your workflow explicit.

Give each persona an editable prompt, choose its preferred captain classes, and set the review gates between stages. Review diffs in the workspace and use configured delivery workflows when it is time to deploy.

  • ✓Editable persona templates carry requirements, evidence, tool limits, and handoff instructions into each stage.
  • ✓The in-browser workspace provides file access, a terminal, and diff review; delivery workflows add approvals, verification, and rollback commands.
  • ✓A ranked backlog: refine an objective with a captain into acceptance criteria, then dispatch it.
See the pipeline →
Armada architect persona prompt template
Persona Templates: editable stage instructions and handoff requirements
Product Tour

See Armada in action

Explore the dashboard, Harbor desktop app, and terminal UI. Expand a surface and select a screenshot to view it at full size. Activity charts include synthetic demonstration data.

Quality Gates

Choose who plans, builds, tests, and reviews.

Personas define the roles; pipelines define their order. Use WorkerOnly for a single implementation stage, Reviewed or Tested for additional checks, or Recorded to capture lessons. The sequence below shows the eight persona stages in FullPipeline.

Built-in multi-stage pipelines include human review gates. Approve the work, request changes, or edit the gates for unattended runs. Landing and deployment are separate choices, configured through landing modes and delivery workflow profiles.

01
ProductManager
Shape
Define the user outcome, requirements, and acceptance criteria.
→
02
Architect
Plan
Scope missions with file lists, dependencies, and self-contained handoffs.
→
03
Worker
Implement
Modify files in an isolated mission worktree.
→
04
UsabilityEngineer
Usability
Review the experience, edge cases, and product consistency.
→
05
TestEngineer
Test
Add relevant coverage and report executable checks and results.
→
06
Linter
Lint
Inspect changed code and docs; fix clear in-scope issues.
→
07
Judge
Review
Compare the result with the mission and return a structured verdict.
→
08
Recorder
Remember
Capture useful lessons as durable memory when this stage is enabled.
Capabilities

Less coordination work. More visible progress.

Keep independent work moving while retaining control over instructions, permissions, review, and landing.

🧠

Durable agent memory

Add the Recorder stage to store useful lessons as episodic, semantic, or procedural memory. Search the native memory store through REST or MCP and carry repository context into later missions. Keep decisions, evidence, and follow-up steps with provenance so later agents can search what was learned.

⚖

Git worktree isolation

Implementation missions get separate worktrees and branches. Broad-scope scheduling reserves a vessel exclusively when requested, while normal independent work can run in parallel. Integration can still have conflicts; your chosen landing mode determines when changes reach the target branch.

⚗

Merge queue

Choose LocalMerge, MergeAndPush, PullRequest, MergeQueue, or None. In queue mode, branches are integrated serially against the current target, with configured checks and recorded results. Enable PR auto-merge only when it fits your workflow.

☍

MCP + REST + WebSocket

An MCP server, REST API with OpenAPI on port 7890, and WebSocket events at /ws let scripts and agents work from the same durable state. The 1.x compatibility policy documents its stable surface and experimental exclusions.

🗃

Your database, your choice

Zero-install embedded SQLite by default, scaling to PostgreSQL, MySQL, and SQL Server — the same schema, migrated across all four.

📊

Built-in observability

Inspect mission history, API request activity, model token charts, and daily token heatmaps. Harbor charts show jobs, occupied slots, launch speed, and link health. OpenTelemetry export and the Docker Grafana stack support deeper operational monitoring.

♻

Self-healing reliability

Stall detection and dock repair can relaunch agents within configured retry limits. Eligible mechanical failures can trigger bounded rescue missions. Failures that require judgment stay visible for a person to resolve.

☵

Backlog, objectives & planning

First-class objectives and a ranked backlog with acceptance criteria and linked evidence. Refine an objective with a captain, plan interactively against the repo, then turn a reply into a dispatch with one click.

📋

Fleet actions & vessel health

Import every repo under a directory in one pass, then grade each vessel: drift, stale branches, outdated or vulnerable packages, tests, and CI. Run one command or one captain mission across all the vessels that need it, with per-vessel results.

🔒

Permissions and tenant boundaries

Tenant-scoped access, secret redaction, and CLI permission policies give you control over who can act and how tools are approved. Operator commands have audit records. Mission tools may bypass approval by default; choose policies appropriate to your environment.

⚓

Local or split with Harbors

Run captain processes on the Admiral host, or use a Harbor where your repositories, git credentials, and agent logins live. The Harbor connects outward to a containerized or remote Admiral. Split mode remains experimental.

🔌

Bring your own inference

Use CLI captains or register a supported hosted/local inference endpoint for an ApiEndpoint captain. OpenAI-compatible, Azure OpenAI, Anthropic, Gemini, Vertex AI, Bedrock, and Ollama adapters support provider-specific configuration. Configure model selection and tool access for each captain.

↻

Controlled upgrades

Experimental source rebuild supports configured native Windows deployments with versioned slots, SQLite backup, and rollback controls. Docker installations update by pulling and recreating their containers. See the deployment guides for setup and limitations.

🧭

Persona-based captain routing

Rank preferred runtime, model, Mux endpoint, or capability-tier classes on each persona. Decide whether a busy first choice waits or falls through. Any role can prefer a local or hosted model; the pipeline stays independent of that choice.

📱

Review from your phone

The iOS/Android client provides saved connection profiles, biometric unlock, activity views, and push approval flows. Deny supported requests from a notification; approving opens the full request. Available as builds, with app-store distribution pending.

✈

Remote operations

Your Admiral dials out to Armada.Proxy over an authenticated tunnel; sign in at the proxy, pick a deployment, and use the same dashboard from anywhere. Missions, logs, diffs, and status history stay queryable.

Why Armada

Built for developers who ship faster

Tangible advantages that change how you work with AI coding agents.

01

Single pane of glass

Monitor and manage all AI agent work across every project from one dashboard, in the browser or the terminal.

02

Reduced context-switching

History, logs, diffs, and signals are preserved, so you pick up exactly where you left off.

03

Scale across more projects

Keep independent work moving across repositories at once, with each result tracked back to its task and project.

04

Planning meets conversational AI

Task tracking and orchestration sit directly inside agents like Claude Code, bridging planning and execution.

05

Isolated mission worktrees

Separate mission worktrees keep concurrent edits apart; landing checks and review address integration conflicts.

06

Automated merge queues

Choose queue-based landing to integrate branches one at a time with configured checks and recorded outcomes.

07

Auditable event trails

Every dispatch, transition, completion, and failure is recorded in a structured, queryable log.

08

Reproducible workflows

Define repeatable stages with pipelines and reusable guidance with playbooks. Voyages keep related missions together with dependencies and outcomes.

09

Team visibility

Shared status, WebSocket updates, and supported notification flows help teammates see progress and decisions from the same record.

10

Productivity anywhere

Dispatch and inspect work from a browser, terminal, or mobile app. Approval flows bring pending decisions back to you.

Architecture

Built for reliability, not complexity

A cross-platform .NET Admiral owns the orchestration state, using embedded SQLite by default or PostgreSQL, MySQL, or SQL Server. Implementation missions use isolated worktrees. Run agents on the Admiral host or connect an experimental Harbor runner where your repositories and CLI logins live.

Run it locally →
You
CLI / TUI / AI Chat / API
↓
Coordinator
Admiral
↓    ↓    ↓
REST + WebSocket
Port 7890
MCP Server
Port 7891
Dashboard
/dashboard
↓    ↓    ↓
Agent
Captain 1
Agent
Captain 2
Agent
Captain 3
↓    ↓    ↓
Isolated
Worktree 1
Isolated
Worktree 2
Isolated
Worktree 3
Command Line

Powerful CLI, intuitive commands

Everything you need from your terminal — rich output powered by Spectre.Console, and a full terminal UI when you want more than a command.

armada go "<prompt>"
Auto-init, detect runtime, spawn captain, dispatch task. The one command to rule them all.
armada status
Dashboard scoped to current repo. Add --all for a global view across vessels.
armada watch
Live auto-refreshing dashboard with desktop notifications on completion or failure.
armada tui
The whole dashboard in your terminal: every screen, Ask Armada, and an Approvals center. Keyboard-first, and it works over SSH.
armada inbox --critical
Everything that needs a human: reviews, failed landings and merges, pending approvals.
armada health
Grade every vessel: drift, stale branches, outdated or vulnerable packages, tests, and CI.
armada log <captain> -f
Tail a specific agent's output in real time. Like tail -f for your AI agents.
armada mcp install
Configure Armada MCP entries for supported clients, including Claude Code, Codex, Gemini, Cursor, Mux, and OpenCode.
armada doctor
System health check. Validates runtimes, connectivity, git state, and configuration.
Quick Start

Start with one repository.

For the default source install, use the .NET 10 SDK and a supported agent CLI on your PATH, signed in. .NET 8 builds are supported with --framework net8.0. Register an inference endpoint if you prefer an API captain. Prefer containers? See the Docker guide; a remote or containerized Admiral can use an experimental Harbor runner for your local agents.

1

Install Armada

Clone the repo and run your platform's install script. macOS is shown below; Linux uses scripts/linux/install.sh, and Windows uses scripts\windows\install.bat.

git clone https://github.com/jchristn/armada cd armada ./scripts/macos/install.sh
2

Dispatch your first task

Navigate to any git repo and go:

cd ~/projects/my-api armada go "Add input validation..."
3

Enable AI orchestration

Let your AI assistant control the fleet:

armada mcp install claude --agent armada
Documentation

Extensively documented

Guides, API references, and orchestrator setup instructions for every supported runtime.

Ready to put more work in flight?

Start with an independent task, inspect the result, then add the routing, gates, and parallelism that fit your work.