Integrations
GitHub (gh)
Section titled “GitHub (gh)”All review data comes through the authenticated gh CLI — check runs,
commit statuses, review threads (GraphQL), labels, merges. No tokens to
configure; if gh works, bro works.
Beads (bd)
Section titled “Beads (bd)”beads is the default memory: debt rows project into bd as labeled
beads, drill frames are beads, retros and wtfs are beads.
bd ready -l debt is the work queue; discovered-from links keep
provenance. Opt out per repo with "stores": ["jsonl"] — the JSONL
ledger keeps the receipts either way.
Agent clients
Section titled “Agent clients”One repo ships adapters for each client — generated from the same skills
and hooks by scripts/gen-plugins.ts:
| Client | Package |
|---|---|
| Devin | plugins/devin/bro |
| Claude Code | plugins/claude/bro |
| Codex | plugins/codex/bro |
Every adapter wires hooks/run.sh:
- Session start / post-compaction — rehydrates state (open drill frames, pending debt)
- Stop gate — blocks once while a drill frame is open or review threads are unresolved; a repeated stop is let through — gates, not loops
- Self-approve —
broandbdcommands run without prompting
Local dist → bro on PATH → major-pinned npx fallback; always
fail-open so a broken bro never wedges a session.
The data ref
Section titled “The data ref”bro sync pushes untracked artifact dirs (.agents/, the ledger) to
refs/bro/data — git memory that travels with the repo but never
appears in a PR diff or branch list. Files already tracked in the repo
stay out — the data ref is for runtime state, not a second source tree.