# Quickstart

Five minutes from clone to a working agent kitchen.

The `brigade` command name is canonical. `solo-mise` is a deprecated alias, and the workspace config directory is `.brigade` (older `.solo-mise` installs are still read).

## 1. Install

Brigade supports Linux, macOS, and native Windows PowerShell. If `pipx` is not installed, start with the [per-OS install guide](/docs/getting-started/install).

```bash
pipx install brigade-cli
pipx ensurepath          # then open a new shell so `brigade` is on PATH
brigade setup            # installs the built-in Code and Evidence engines, digest-verified
```

To track main instead:

```bash
pipx install git+https://github.com/escoffier-labs/brigade
```

## Fastest path

One command wires a repo end to end, and a second one checks the result:

```bash
brigade operator quickstart --target ./my-repo --harnesses codex
brigade operator doctor --target ./my-repo --profile local-operator
```

In PowerShell, the same setup can use Windows-style paths:

```powershell
brigade operator quickstart --target .\my-repo --harnesses codex
brigade operator doctor --target .\my-repo --profile local-operator
```

Add `--dry-run` to either quickstart or `brigade init` to preview the planned steps without writing anything. Quickstart reports each step as `planned` in dry-run mode, and `brigade init --dry-run` marks files that already exist as refused-without-force. Quickstart scopes handoff source coverage, gitignore entries, and built-in tool projections to the harnesses you select; a `--harnesses codex` setup leaves the other harness paths alone until you add them.

Quickstart says when the memory owner was auto-selected and how to override it (`--owner`). The templates ship an inactive `hooks/pre-push` hook that runs Brigade's embedded content guard through `brigade scrub`. Brigade never activates hooks itself, and `operator doctor --profile local-operator` treats the inactive hook as advisory rather than blocking (the strict `internal-dogfood` profile still blocks on it).

## Interactive install

Prefer prompts? Run `brigade init` with no flags:

```bash
$ brigade init --target ~/agent-kitchen

Which harnesses do you use? (type numbers separated by space/comma to toggle, enter to confirm)
  [x]  1. Claude Code
  [ ]  2. Codex
  [ ]  3. OpenCode
  [ ]  4. Antigravity
  [ ]  5. Pi
  [ ]  6. Cursor
  [ ]  7. Aider
  [ ]  8. Goose
  [ ]  9. Continue
  [ ] 10. GitHub Copilot CLI
  [ ] 11. Qwen Code
  [ ] 12. Kimi Code
  [ ] 13. AdaL
  [ ] 14. OpenHands
  [ ] 15. Grok CLI
  [ ] 16. Amp
  [ ] 17. Crush
  [ ] 18. OpenClaw
  [ ] 19. Hermes

Depth? (type a number, enter for default)
  * 1. repo       (handoff flow + publish guard)
    2. workspace  (full home: MEMORY.md, TOOLS.md, USER.md, ...)

Add-ons? (type numbers separated by space/comma to toggle, enter to confirm)
  [ ] 1. publisher  (extra content guard policies for blog/social/docs)
```

Defaults are the claude harness, repo depth, and no includes. Enter ships the install.

## CI / scripted install

Pass flags directly to skip the prompt:

```bash
# Claude Code + Codex + OpenClaw, full workspace
brigade init --target ~/agent-kitchen \
  --depth workspace \
  --harnesses claude,codex,openclaw

# Codex-only project, minimal install
brigade init --target ./my-project --depth repo --harnesses codex

# Generic layout, no harness-specific files
brigade init --target ./my-project --harnesses none
```

## Verifying

After install, `brigade doctor --target <path>` reports the apparent harness shape and checks every configured inbox and adapter:

```text
brigade doctor: target /home/you/agent-kitchen
  harnesses: claude, codex, openclaw (owner=openclaw, depth=workspace)
  [ok]   bootstrap: AGENTS.md   /home/you/agent-kitchen/AGENTS.md
  [ok]   handoff: claude inbox  /home/you/agent-kitchen/.claude/memory-handoffs
  [ok]   handoff: codex inbox   /home/you/agent-kitchen/.codex/memory-handoffs
  [ok]   openclaw: config        /home/you/.openclaw/openclaw.json
  ...
```

A `[fail]` line means the install is incomplete; `[warn]` is informational; `[todo]` means the check needs your attention.

## Reconfiguring

To change which harnesses are installed on an existing target:

```bash
# Add a harness
brigade reconfigure --target . --harnesses claude,codex

# Drop one (without removing its files)
brigade reconfigure --target . --harnesses claude

# Drop one and remove its files
brigade reconfigure --target . --harnesses claude --prune
```

## The handoff flow

Write a handoff with the CLI (one of `--content` or `--content-file` is required), then check the wiring:

```bash
brigade handoff draft --target ./my-repo --inbox codex \
  --title "What changed" \
  --summary "Short note future agents should know." \
  --content "The durable note itself goes here."
brigade handoff lint --target ./my-repo
brigade handoff doctor --target ./my-repo
```

The starter handoff template lives at `<inbox>/TEMPLATE.md`. Agents can also copy it to a new dated file (for example, `2026-05-16-1430-fixed-X.md`) and fill it in. The ingester promotes safe card handoffs into `memory/cards/`, appends targeted updates to the right file, and kicks ambiguous material to the review inbox.

Already have handoff-style notes in your own format? `brigade handoff migrate --target .` shows which ones convert cleanly into the Brigade template; `--apply` rewrites them and preserves the originals.

Inbox folders stay local except each inbox's `TEMPLATE.md`, which is deliberately un-ignored so the handoff format travels with the repo. A `?? .codex/` in `git status` is just that template. If a global gitignore entry like `.claude/` shadows the template (which git cannot override), `brigade operator verify-harness` detects and reports it.

See the [Solo Cookbook](https://github.com/escoffier-labs/solos-cookbook) for the longer-form guidance on what makes a good handoff and when to use which routing.

## Next steps

- Read [the cookbook](https://github.com/escoffier-labs/solos-cookbook) for the deep version of every concept here.
- Customize `USER.md` and `TOOLS.md` with your real preferences and runbooks (kept private; do not commit personal details).
- Wire the ingester on a cron or a manual end-of-day workflow.
- Add a memory-care staleness scan when your card set starts to matter. See `memory/cards/memory-care-staleness.md`.
- `brigade init` wires `brigade-work` and `ultra-work-scout` into selected harnesses by default. Use `brigade add skills` to see the built-in skills and the optional Skillet roster command.
- If you use Token Glace, wire Claude Code and Codex hooks deliberately and tell agents what the wrapper means. See `memory/cards/token-glace-output-compaction.md`.