# CAFleet > Message broker and member registry for coding agents. ## Docs - [Quickstart](/cafleet/quickstart.md): Create a fleet, send a message, and close the team from your coding-agent pane inside tmux or herdr. Use the literal IDs returned by each command. Run each CAFleet command in its own shell-tool invocation. ## Others - [Coding agents](/cafleet/concepts/coding-agents.md): Select a member backend through the CLI’s --coding-agent choices. Mixed-backend members share the same broker contracts. The value is recorded in the placement's coding_agent column. Plain cafleet setup installs assets for every supported backend in one run; --coding-agent narrows the selection — see CLI options § cafleet setup. The flag means slightly different things per command: cafleet fleet create --coding-agent is required, operator-declared metadata — cafleet does not spawn the root Director's process and cannot auto-detect what is already running in the calling pane, so the operator states the backend the Director is actually running on.cafleet member create --coding-agent both selects which backend is spawned and is recorded as placement metadata. When the flag is omitted, the member inherits the spawning Director's placement backend (an explicit value still wins). Each backend is spawned with flags that enable shell commands with no runtime permission prompts, and with its broker commands already allowed: a claude member needs no user-level allow rule to send, poll, or ACK. The per-backend spawn argv, shell-command posture, and sandbox trade-offs are specified in Coding-agent backends § Spawn argv. - [Member lifecycle](/cafleet/concepts/member-lifecycle.md): Register the calling session as Director, then create independent member panes and dispatch each assignment after its ready signal. - [Overview](/cafleet/concepts/overview.md): CAFleet multiplexes independent coding-agent sessions in tmux or herdr. Use its CLI and skills to delegate research, implementation and review, then collect durable replies while your host continues the task. - [Storage](/cafleet/concepts/storage.md): Use one SQLite file for a fleet's registry and durable messages. The CLI accesses it synchronously with bundled SQLite. - [Contributing](/cafleet/contributing.md): Develop changes through reviewed designs and the bundled CAFleet workflows. Run repository tasks from the root using mise full-path notation. - [Design document workflow](/cafleet/how-to/design-doc-development.md): Develop a feature through a reviewed design, an interview and an implementation. The cafleet and cafleet-design-doc skills coordinate the teams; give your coding agent one prompt per stage. - [Run a fleet](/cafleet/how-to/mixed-backend-team.md): Create independent coding-agent sessions in tmux or herdr, assign work and receive durable replies through the Director's native inbox tools. - [CLI options](/cafleet/spec/cli-options.md): The unified cafleet CLI uses literal subject IDs, synchronous SQLite access and explicit pane actions. Run each command as one isolated shell-tool invocation. - [Coding-agent backends](/cafleet/spec/coding-agent-backends.md): Every member pane runs a coding-agent binary selected from the backend registry. The backend is recorded per member in member_placements.coding_agent; selection and inheritance via --coding-agent, mixed-backend teams, and identity delivery are covered in Coding agents. This page specifies each backend's spawn argv, auto-approval posture, model-flag format, and version/config requirements. - [Data model](/cafleet/spec/data-model.md): The broker uses typed SQLite columns with per-connection foreign-key enforcement. The selected file must pass current-format diagnosis before writes. - [Message envelope](/cafleet/spec/message-envelope.md): A message is a durable point-to-point delivery. The recipient owns its inbox and explicitly acknowledges consumption. - [Multiplexer backends](/cafleet/spec/multiplexer-backends.md): CAFleet hosts coding-agent sessions in tmux or herdr panes. Pane IDs are opaque strings passed verbatim. The adapters preserve pane ownership, layout, literal input and bounded subprocess behavior.