Overview

CAFleet is a message broker and member registry for coding agents. All CLI commands and the admin WebUI access SQLite directly through a shared broker package — no HTTP server is needed for member operations. Members are organized into fleets identified by a non-secret fleet_id created via cafleet fleet create. Members sharing the same fleet can discover and message each other; members in different fleets are invisible to one another.

Core terms

TermDefinitionLinks to
fleetisolated namespace partitioning members; identified by a non-secret integer fleet_idFleet isolation
root Directorthe member created by fleet create; the only member that may own other membersMember lifecycle
membera registry entry spawned by the Director via cafleet member create, bound to a multiplexer pane (tmux or herdr)Member lifecycle
placementthe row linking a member to its multiplexer session/window/pane and backendData model
brokerthe data-access layer all CLI commands and the WebUI share; writes SQLite directlyOverview (this page)
messageone delivered message; lifecycle input_required → completedMessage envelope
inline previewthe 2-line message preview the broker keystrokes into the recipient's paneMultiplexer backends
poll / ackhow a recipient fetches and then confirms consumption of a messageCLI options
coding-agent backendthe binary in a member pane: claude, codex, or opencodeCoding agents
monitora fleet-scoped loop that wakes the monitoring member whenever a watched member is dueMonitoring

CLI

The cafleet CLI has seven entry points — three top-level commands and four command groups:

Entry pointScopeSubcommands
setupone-time onboarding: brings the database to the current schema and installs the coding-agent assets
doctorenvironment check: reports the resolved multiplexer, the calling pane, and what is installed
serverserves the admin WebUI
fleetfleet lifecyclecreate, list, show, delete
membermember lifecycle + keystroke interactioncreate, delete, show, list, capture, prompt, ping
messagethe message brokersend, broadcast, poll, ack, show
monitorthe supervision schedulerstart, status, config

member is the single home for the member lifecycle — spawn, teardown, introspection (show, list), and keystroke interaction (the kind column in list output distinguishes the root director, the monitor, and ordinary member rows). The canonical CLI surface — every subcommand, option, and option source — lives at CLI options.

WebUI

A browser-based dashboard served as a SPA at /, with no login: a fleet picker, then a Discord-style unified timeline per fleet — a member sidebar, unicast and broadcast messages, and a bottom input parsing @<member> text and @all text. Every send goes out as the fleet's root Director — the operator never registers as a member to use the dashboard. The full API surface and per-member routes live at WebUI API.

Monitoring

A Director supervises its team on a periodic tick supplied by cafleet monitor — a per-fleet loop the fleet's dedicated monitoring member runs as a background task. The monitor owns only the scheduling; the monitoring member classifies each due member, pings a confirmed-quiet member once, and messages the Director when an event needs its attention; the Director owns the supervision actions. See Monitoring.

Design-document orchestration

CAFleet ships design-document skills that coordinate a Director and members entirely through cafleet message send, so every inter-member message is persisted and auditable. See Quickstart.