brigada by Blackfire AI

Talk to the foreman.

It splits the work into tasks. brigada gives each task to the agent with the best measured record on your repo among those with quota left, checks and cross-reviews the result, and learns from the outcome.

~/your-repo
# install (Go 1.27+)
$ go install github.com/Blackfire-AI/brigada/cmd/brigada@latest

# pick the foreman, the CLIs that run tasks, the check
$ brigada init

# talk to the foreman
$ brigada attach

# engine, jobs, plans, what needs you
$ brigada status

# which agent actually wins where
$ brigada stats
The problem

You pay for more than one AI coding subscription. So today, you are the foreman.

  1. You split the work into agent-sized tasks by hand.
  2. You pick an agent per task by gut feel, and switch CLIs when one hits its 5-hour or weekly limit.
  3. You babysit: rerun, paste errors back, decide when to give up.
  4. You don’t know which agent is actually best on your repo for this kind of task.
  5. Agents say “done” without running the tests, and nobody from another model family reviews the change.
How it works

A crew of agents, one foreman, and a record of who does what best.

brigada sits above the official command-line tools and uses them as workers. The foreman decides; the engine enforces, in code.

YouAskTalk in brigada attach, or walk away.
ForemanPlanAn agent CLI with brigada’s tools turns the ask into a task graph.
EngineDispatchPlain code, no LLM: quota, record, leases, review policy, gates.
RunnerWorkA git worktree per task, the agent CLI headless, then the check.
01 · Foreman

Plans with dependencies

One of your CLIs, in a brigada-owned session. Your attached chat and the headless turns that wake on events while you’re away are one transcript.

02 · Dispatcher

Picks by measured record

Each task goes to the agent with the best record for that kind of task on your repo, among agents that still have quota.

03 · Check

“Done” is not taken on trust

Every task’s own check — tests, lint, any command — runs on the result.

04 · Reviewer

Another model family reads it

A reviewer from a different family than the author reads every change. Fix rounds are capped.

05 · Outcome

Learns from every task

Every outcome is recorded locally. brigada stats shows which agent actually wins where.

06 · Landing

Lands what passed

Each approved task is squashed onto the target branch, your check reruns on the result, and the push follows your push gate.

Gates

The loop is brigada’s. The stops are yours.

Every step the check and the cross-family review have already decided runs without you. You choose where the loop waits by writing rules into the project file. The engine enforces a gate; the foreman has no tool to pass one.

Gate 1

Plan

A plan with more tasks than you allow, a class outside your list, or a path you protect waits for you. Everything else starts on its own.

Gate 2

Land

Approved tasks land as soon as their dependencies have. A conflict or a failing check on the landed result is never resolved by a rule.

Gate 3

Push

default: auto

A landed task is pushed at once. Set it to ask to hold pushes until you approve, or never to push yourself.

Works with

The CLIs you already pay for. Unmodified.

  • Claude Code
  • Codex
  • Kimi
  • opencode
  • dsh · experimental

brigada drives the vendors’ unmodified command-line tools, each signed in with your own account, one login per account. It never stores your tokens, and logins are never shared between people. See TERMS.

Reviews need a model family other than the author’s, so offer review-capable agents from at least two families.

Local-first

One Go binary and a SQLite store, on your machine.

brigada init starts the engine and a detached runner; brigada start brings them back after a reboot. Tasks keep running after the conversation ends, and the plan is also written into the repo, so a foreman session can end or crash without losing work.

Before you start

Workers run in git worktrees, not containers, each under its CLI’s own permission scope. They inherit your environment, so a check or a test run can still reach your credentials and network: don’t point brigada at a repository you don’t trust.

Install

Three commands to your first plan.

You need:

  • Go 1.27 or newer, and git
  • a repository with an origin remote
  • signed-in agent CLIs on PATH, from at least two model families

Install the binary

shell
go install github.com/Blackfire-AI/brigada/cmd/brigada@latest

Make sure $(go env GOPATH)/bin is on your PATH.

Run brigada init in your repo

shell
brigada init

Pick the foreman model and effort, the CLIs that may run tasks, tasks at once, and the check. Init shows every file it would change; nothing is written until you confirm. --probe writes nothing.

Talk to the foreman

shell
brigada attach

Then brigada status, brigada diff <task> and brigada land <task>. The guide covers the rest.