fleet — run coding agents in isolated git workspaces
Every agent gets its own clone, on its own branch, in a headless tmux session you can attach to from a browser. One bridge fronts every machine you own, so a fleet can span hosts and still answer as one API.
$ git clone https://github.com/firesquid6/fleet.git $ cd fleet && bun install $ ./apps/cli/local-install.sh
no published package yet — the fleet binary is built from a checkout. bun everywhere; git and tmux on any machine that hosts workspaces.
01 · Command center
Every workspace, branch, and running agent on one board. fleet client serve puts the fleet in a browser: repos down the side, ships across the top, live sessions counted in the header, and a terminal one click away.
fleet 3 of 6 sessions live ┌────────────┬──────────────────────────┬─────────────────────┐ │ │ ship-a │ ship-b │ ├────────────┼──────────────────────────┼─────────────────────┤ │ fleet │ ● first-task building │ ○ docs-site │ │ │ ● shannon verifying │ │ ├────────────┼──────────────────────────┼─────────────────────┤ │ webterm │ ● vt-parser planning │ ○ tmux-bun │ └────────────┴──────────────────────────┴─────────────────────┘ ● active ○ inactive
02 · Topology
One bridge fans out to every ship — laptop, home box, rented server. Each ship owns the workspaces on its own machine: a full clone at <fleetDirectory>/<repo>/<name>, on its own branch, in its own tmux session. Commands travel down over HTTP; state comes back up over WebSockets.
clients bridge ships workspaces
─────── ────── ───── ──────────
browser ─┐ ┌─ ship-a ──────── fleet/first-task claude-code ●
cli ─┼─────── bridge ──────┼─ ship-b ──────── fleet/docs-site opencode ○
fagent ─┘ (one process) └─ ship-c ──────── webterm/vt-parser copilot ●
webterm/tmux-bun codex ○
● active ○ inactive03 · Capabilities
Declare your environment once, in a directory on the bridge. Every ship pulls the armory, installs it for whichever agent providers exist on that host, and re-installs it whenever it changes.
| name | claude-code | opencode | copilot | codex | installed by |
|---|---|---|---|---|---|
| skills — markdown + tools, installed into every provider present on the ship | |||||
| fleet-agent status reporting from inside a workspace | ● | ● | ● | ● | ship startup |
| armory skills/ your own skill directories, synced from the bridge | ● | ● | ● | ● | armory sync |
| plugins — hooks and drop-in files the ship installs under a provider config root | |||||
| fleet-agent-bootstrap activates the skill when a session opens in a workspace | ● | ● | ● | ○ | ship startup |
| armory plugins/ provider files written at the path you name, verbatim | ● | ● | ● | ● | armory sync |
| dotfiles — symlinked into the ship user’s home from the armory cache | |||||
| dotfiles/ files, or whole directories, one symlink each | ● | ● | ● | ● | armory sync |
| dotfile-map.json source under dotfiles/ → destination in ~ | ● | ● | ● | ● | armory sync |
● installed · ○ not available · codex has no drop-in plugin directory, so nothing auto-activates its skill — the skill is still there to run.
04 · Reach
The bridge keeps running whether or not you are watching. Attach from the browser, from a phone, or from a bare shell — the tmux session lives on the ship, not in the client.
fleet / first-task quickstart ship-a ● building ────────────────────────────────────────────────────────────── terminal │ diff stop switch branch rm ────────────────────────────────────────────────────────────── $ bun test 142 pass, 0 fail $ fagent agent status verifying -d "running the suite" status updated to verifying on fleet/first-task $ █
┌────────────────┐ │ fleet │ │ 3 sessions │ ├────────────────┤ │ fleet │ │ ● first-task │ │ ● shannon │ │ ○ docs-site │ ├────────────────┤ │ webterm │ │ ● vt-parser │ │ ○ tmux-bun │ └────────────────┘
$ fleet client ls --wide SHIP REPO NAME BRANCH ACTIVE ship-a fleet first-task quickstart yes ship-b fleet docs-site docs no $ fleet client activate fleet docs-site $ fleet client status fleet docs-site repo: fleet name: docs-site branch: docs state: active ship: ship-b
05 · Integrations
A forge for the code, git and tmux for the machine, providers for the model. The bridge holds the repo registry and talks to GitHub on the agent's behalf, so an agent reads issues, pull requests, reviews, and CI with fagent repo without ever holding a token.
github ──┐ ┌── claude-code
git ──┼──────── fleet bridge ────┼── opencode
tmux ──┘ one repo registry ├── copilot
one ship roster └── codexgithub is the only forge implemented — any other provider answers 501.
06 · Install
One binary, built from the checkout and dropped in ~/.local/bin. No account, no telemetry, nothing hosted.
$ ./apps/cli/local-install.sh $ fleet launch init $ fleet launch