Skip to content

Fleet · Steroids for AI coding

placeholder
v1.1.1 · MIT · works with any A2A agent

Steroids
for AI coding.

Your laptop, desktop, and EC2 — all running Claude Code, Codex, and Aider in parallel on the same repo. One command plans the work. Every machine takes a mission. GitHub is the only message bus.

$ npx fleetspark init copy
GH
missions3
ships3
agents3
wall time23 min
How it works

Map-Reduce for software development.

Watch the full flow: your laptop becomes the commander, missions fan out through GitHub, ships work in parallel, branches converge. Scrub or step through to inspect any phase.

01 Idle 00:00 / 36s
Three machines. Zero coordination.
Your laptop is on Claude Code. Your desktop is idle. Your EC2 is still running from last sprint.
YOUR MACHINES MESSAGE BUS BRANCHES · GIT TIMELINE
Live mission board

Watch the fleet from a single terminal.

fleet status — three ships, three branches, real-time heartbeats. Color-coded so a glance tells you who's working, who's stalled, who's ready to merge.

ship-laptop · M-001 · feature/auth · claude-code● HEALTHY
~/repo $ fleetspark ship --join git@github.com:you/repo.git
[claude-code] step 4/7 — adding session middleware…
✓ src/auth/oauth.ts (created)
✓ src/auth/session.ts (created)
[heartbeat] pushed fleet/state · +60s
writing tests · 3 of 8…
ship-desktop · M-002 · feature/ratelimiter · codex● READY · PR #243
~/repo $ fleetspark ship --join git@github.com:you/repo.git
[codex] step 7/7 — opening PR…
✓ src/middleware/ratelimit.ts
✓ tests/ratelimit.test.ts (12 passed)
✓ CI green · all checks passed
→ PR #243 open, awaiting merge ✓
ship-ec2 · M-003 · feature/docs · aider● STALLED · 3 beats
~ $ fleetspark ship --join git@github.com:you/repo.git
[aider] step 2/5 — regenerating openapi.yaml…
✓ docs/api/auth.md (updated)
⚠ no heartbeat for 180s
[commander] shadow dispatch: re-queueing M-003 → ship-laptop
waiting for next ship to claim…
drsti-dev-flow

Governed coding, not cowboy coding.

Most AI coding agents YOLO straight to a commit. FleetSpark's drsti-dev-flow plugin enforces three phases on every mission — spec, implementation, peer review — gated by maturity level. Risky changes get stricter scrutiny. Trivial ones breeze through. FleetSpark dogfoods this on itself.

M PHASE 01 spec scope · contracts acceptance PHASE 02 implement agent · commits heartbeats PHASE 03 review peer pass CI · gate main LEVEL 2 maturity EVERY MISSION · THREE GATES · ONE MERGE
01

Maturity-leveled gates

Auth, billing, schema changes — level 4 review. Doc tweaks — level 1. Configure triggers in .drsti/adapter.yml.

02

Three branches per mission

Spec, implementation, and review live on separate branches. Each phase is independently auditable.

03

One command, governed by default

fleet run --template drsti-dev-flow wires the whole flow. Or opt out and run lean.

$ fleet run --template drsti-dev-flow
Spark execution

The bits that turn three machines into one fleet.

Parallel dispatch, shadow re-runs when a ship goes dark, and fleet-wide context shared in seconds — not at the speed of "let me catch you up on Slack."

DISPATCH

DAG dispatch

The commander plans your goal as a dependency graph and pushes branches in topological order. Independent missions ship in parallel — automatically.

P M1 M2 M3
parallel: 3× topo-sort
SHADOW

Shadow dispatch

A ship missed three heartbeats. Without waking you up, the commander reassigns the same mission to a healthy ship — first one to PR wins. No babysitting.

ship-a · ec2 × ship-b · desktop WIN M-002 · 2 ships racing
timeout: 3 beats first-PR-wins
CONTEXT

Fleet brief

One mission generates context (an API schema, a migration plan). The brief is pushed once and every other ship picks it up before its next step. Map-reduce, but for context.

BRIEF api/schema M1 M2 M3
fan-out: ∞ push once
Agent ecosystem

Bring your own agent. Fleet doesn't care.

8 adapters ship out of the box. Mix Claude Code on your laptop with Codex on a desktop and Aider on a spot instance — all on the same plan, coordinated through GitHub.

🅒
Claude Code
@fleetspark/adapter-claude
shipped

Anthropic's CLI agent. The default for most fleet runs — battle-tested across hundreds of missions.

OpenAI Codex
@fleetspark/adapter-codex
shipped

OpenAI's terminal agent. Reasoning-heavy missions; runs alongside Claude Code on the same plan.

Aider
@fleetspark/adapter-aider
shipped

The original local AI pair-programmer. Ideal for surgical edits and quick refactors on spot instances.

OpenCode
@fleetspark/adapter-opencode
shipped

Open-source CLI agent. Run completely offline on your own hardware — no API keys required.

Gemini CLI
@fleetspark/adapter-gemini
shipped

Google's Gemini CLI. Pair with Claude Code for multi-model redundancy across long-running runs.

Cursor
@fleetspark/adapter-cursor
shipped

Cursor in headless mode. Leverage its codebase-aware context engine inside fleet missions.

Amp
@fleetspark/adapter-amp
shipped

Sourcegraph Amp. Deep symbol navigation across large codebases — strong on refactor missions.

A2A / Custom
@fleetspark/adapter-a2a
shipped

Any A2A-compatible agent. Write a 50-line adapter and ship your own agent into the fleet.

+
Your adapter here
≈50 lines — see /adapters/
Why fleet

Every AI coding tool assumes one developer, one machine, one session.

Fleet is the only thing that turns the agents you already use into a coordinated swarm. The same Claude Code, Codex, and Aider — just multiplied.

Tool
Multi-machine
Multi-agent
Auto-planning
Auto-merge
Failover
Claude Code
·
·
·
·
·
Codex CLI
·
·
·
·
·
Aider
·
·
·
·
·
GitHub Copilot
·
·
·
·
·
fleetSpark
8 agents

See it in action

From zero to a coordinated AI coding fleet in four steps.

1

Initialize your project

One command sets up Fleet in any git repo.

Terminal
~/my-project $ npx fleetspark init
Created .fleet/config.yml
Created fleet/state branch
Initialized empty FLEET.md
Fleet is ready. Run fleet command --plan to get started.
2

Plan your work

Describe what you want built. Fleet's LLM planner decomposes it into independent missions with dependencies.

Terminal — Commander
~/my-project $ npx fleetspark command --plan "Add OAuth login, fix rate limiter, update API docs"
Planning 3 goals...
M-001 feat/oauth-login → branch created
M-002 fix/rate-limiter → branch created
M-003 docs/api-documentation → branch created, depends: M-001
Plan written to FLEET.md — 3 missions, 1 dependency
Commander monitoring started. Waiting for ships...
3

Launch ships on other machines

Each machine joins the fleet, picks up a mission, and starts its AI coding agent autonomously.

Machine 2 — Ship Alpha
~ $ npx fleetspark ship --join git@github.com:you/project.git
Cloned repository
Assigned mission M-001 (feat/oauth-login)
Starting claude-code adapter...
Heartbeat: pushing every 60s
Agent working on M-001...
Machine 3 — Ship Beta
~ $ npx fleetspark ship --join git@github.com:you/project.git
Cloned repository
Assigned mission M-002 (fix/rate-limiter)
Starting gemini adapter...
Heartbeat: pushing every 60s
Agent working on M-002...
4

Watch, merge, ship

Monitor from the terminal or your phone. Fleet auto-creates PRs, runs CI, and merges clean code.

Terminal — Status
~/my-project $ npx fleetspark status
Fleet Status Updated 5s ago
M-001 feat/oauth-login ship-alpha completed → PR #12 merged
M-002 fix/rate-limiter ship-beta completed → PR #13 merged
M-003 docs/api-docs ship-alpha in-progress 2/4 steps
Ships: 2 alive │ Merged: 2/3 │ Time: 23 min
v1.1.1 · MIT · open source

Three machines.
Three missions.
Twenty-three minutes.

While you slept. While you were in a meeting. While you were doing literally anything else.

~/your-repo
$ npx fleetspark init
$ npx fleetspark command --plan \
    "the thing you've been putting off"
↳ 7 missions planned. Open your laptop tomorrow.