Skip to main content
Change of provenance

The repository or configuration that created this release differ from a previous release. View details.

Pre-release

This release is a pre-release and may not be stable for production use.

Brigade (by Escoffier Labs)

One shared record for every coding agent you run: ready work, safe claims, proof that checks passed, and memory that carries over between tools.

Install · Docs · Compare · Quickstart

CI status PyPI version Combined PyPI and npm downloads per month Python 3.10+ Rust: code graph engine Go: evidence log engine MIT license

Brigade is a local CLI for people who point Claude Code, Codex, Cursor, and other agents at the same repos. Each harness keeps its own notes, its own MCP config, and its own idea of what "tests pass" means. Brigade gives them one ledger in the repo instead: what is ready, who claimed it, which commands actually ran and how they exited, and what the last session handed off.

Stable: v0.30.0 (brigade-cli==0.30.0 on PyPI, @escoffier-labs/brigade@0.30.0 on npm). Beta: paused. Use stable: until main moves to the next version, brigade update --channel beta resolves older 0.29.0 development builds. See the changelog for what each release changed.

The downloads badge sums brigade-cli on PyPI (excluding mirrors) and @escoffier-labs/brigade on npm over the same 30 completed UTC days. Downloads include automation and do not count unique people. The metric JSON records each source, the period, and the last successful refresh. npm platform companions are excluded. Daily refreshes retain the previous metric if a source fails validation or its latest day is more than three UTC days old.

What it does

  • Ready work and safe claims. brigade work ready lists unblocked tasks. Claims are atomic, so two agents cannot take the same item.
  • Verification receipts. A check run through Brigade records the command, the real exit code, and the Git state. An agent's "tests pass" becomes something you can open and read.
  • Shared memory with an owner. Agents write handoffs. The memory owner lints and files them. Safe notes can auto-file, and risky ones wait for review. Session-start recall is capped.
  • One tool catalog, previewed first. MCP servers, tools, and skills are defined once and shown as a dry run before Brigade writes them into each harness.
  • Cloud agents tracked next to local ones. Tasks you hand to Codex Cloud, Cursor cloud agents, or Jules are registered with their provider task ID and reconciled against provider and GitHub state, so they show up beside local runs instead of disappearing into another tab.
  • Optional fleet view. A self-hosted hub can arbitrate repo claims across machines and show runs, harness sessions, and cloud tasks on one board.

Learning in Brigade means scoring skills against captured receipts, then promoting or rolling them back. It is not autonomous reflective memory.

Examples

Two agents, one backlog. Each agent asks for the next ready task. The second claim on the same item fails with exit 13 and names the holder.

brigade work ready --parallel-safe          # ready tasks, grouped into waves that do not touch the same files
brigade work claim --next --actor codex     # take the highest-priority ready task

"Tests pass" with a receipt. The agent runs the check through Brigade instead of reporting it from memory.

brigade work verify run --target . --command "pytest -q"

The receipt keeps the command, exit code, Git commit, and dirty state, so a reviewer can check the claim without rerunning it.

Switching harnesses mid-task. Claude Code ends a session with a handoff. The next Codex session starts from the brief instead of a blank context.

brigade handoff lint                        # check the handoff before it is filed
brigade work brief --target .               # what the next agent sees at session start

One MCP config for every tool.

brigade mcp plan                            # read-only preview
brigade mcp sync --write                    # merge into each harness's native config

Install

If Node.js 22 or newer and npm are installed on glibc Linux x64/ARM64, macOS x64/ARM64, or Windows x64, install the npm package. This route does not need Python or pipx first:

npm install --global @escoffier-labs/brigade@0.30.0
brigade setup

To try it without a global install, run each command through npx instead, for example npx --yes @escoffier-labs/brigade@0.30.0 --version. The package brings its own uv, through platform packages that npm installs as optional dependencies, and the published 0.30.0 wheel. Leave optional dependencies enabled. The first launch downloads a managed Python, so it needs network access. Install Git yourself for repository features. npm targets are Linux (glibc) x64 and ARM64, macOS x64 and ARM64, and Windows x64. Upgrade with npm, because brigade update refuses npm-managed installs. Platform details and known limits: npm package notes.

On other platforms, or to use Python 3.10 or newer directly:

pipx install brigade-cli      # or: uv tool install brigade-cli
brigade setup

Then follow the install guide or QUICKSTART.md. To let your coding agent do the setup, hand it first 10 minutes and the agents guide.

For preview builds on a pipx install, run brigade update --channel beta. Details: update channels.

MCP servers

brigade-cli includes two read-only MCP servers. --stdio runs them over stdin and stdout, and --http serves them on loopback Streamable HTTP for hosts that connect by URL (details).

  • brigade memory serve-mcp --stdio: the repo's memory cards, with list_cards, search_cards, and get_card.
  • brigade skills serve-mcp --stdio: the reviewed skill registry, with search, read, lint, compatibility, and install-history tools.

Without a global install, uvx --from brigade-cli brigade memory serve-mcp --stdio runs the same server.

How it compares

Most neighbors go deeper on one layer. Brigade connects work, memory, tool config, and evidence around the same coding-agent task. Where a neighbor is stronger, its cell says so. Sources, dated notes, and projects that left these tables: docs/comparison.md (checked 2026-10-18).

Key: Supported Supported · Partial Partial · Not documented Not documented

Work and orchestration

Project Ready work Claim safety Parallel and run control Task store Verification
Brigade Supported Ready set + parallel-safe waves Supported Fail-closed claims, optional hub Partial Waves, campaigns, declared limits Partial Local JSON ledger, not a task DB Supported Command receipts
Beads Supported Built in Supported Atomic claim Partial Agent workflow + Dolt sync Supported Dolt-backed distributed store Partial Task history
Gas Town Supported Beads-backed Not documented Not documented Supported Multi-agent runtime Partial Beads ledger Partial Refinery merge-queue gates
Claude Code agent teams Supported Shared list with dependencies Supported File-locked self-claim Partial Lead + teammates, experimental Partial One Claude Code session Partial TaskCompleted hook can block
Backlog.md Partial Board + dependencies Not documented Not documented Not documented Not documented Supported Markdown in Git Partial Acceptance criteria

Memory

Project Durable memory Capture and recall Care and operations Learning Provenance
Brigade Supported Shared files + cards Supported Linted handoffs + bounded recall Supported Owner policy + Memory Operations Partial Outcome score, promote, rollback Supported Work receipts + sources
agentmemory Supported Shared coding-agent memory Supported Hooks + MCP + REST Partial Decay, audit, governed delete Partial Lessons + reflect Supported Write-time origin + citations
Hindsight Supported Facts + experiences + models Supported Retain + recall Supported Reflect + feedback Supported Reflective memory learning Supported Temporal + causal links
Mem0 Supported User + agent + session Supported Extraction + hybrid search Partial History + metadata Partial Extraction + retrieval Partial Timestamps + entities
Built-in harness memory Supported Per tool Partial Rules + auto memory Partial Varies by harness Partial Harness-specific Partial Harness-specific

Tools and configuration

Project MCP Rules and skills Projection Source of truth Audit and rollback
Brigade Supported MCP + tools catalog Supported Skills + harness adapters Supported Dry run first, then write Supported Brigade catalog Supported Preserve, gate, roll back
Rulesync Supported Supported Supported Rules, skills, hooks, subagents Supported Per-target generation Supported Rulesync project Partial Generated outputs
Ruler Supported Supported Supported Rules, skills, subagents Supported Per-agent files Supported .ruler/ directory Partial Gitignore automation, no rollback
add-mcp Supported MCP servers Not documented Not documented Partial Maps fields into native files Partial Native files + sync Partial Warns on dropped fields
agentsync Supported Many agent targets Supported Skills, hooks, memory, plugins Supported Native/lossy/skipped report Supported Canonical config Supported Native/lossy/skipped report

Evidence and operations

Project Receipts Code impact Agent activity Cloud state Replay and learning
Brigade Supported Command + exit code + Git state Supported Impact queries + blast radius Supported Center, fleet board, harness sessions Supported Codex, Cursor, Jules task status Partial Score + rollback, run diff/resume
ActiveGraph Partial Event trace Not documented Not documented Partial Reactive behaviors Not documented Not documented Supported Replay, fork, and diff
Graphiti Partial Episode provenance Not documented Not documented Not documented Not documented Not documented Not documented Partial Temporal fact updates
Codex Cloud Partial Changed files + test results Not documented Not documented Partial Task review Supported Hosted task workspaces Not documented Not documented

"Not documented" means the capability was not found in that project's official README or docs on the dated pass. It is not proof of absence.

Scope

Brigade is a local, file-first control plane. Nothing runs until you run a command or your own scheduler does. The work ledger is machine-local JSON, not a distributed task database, and the optional fleet hub coordinates claims and events without replacing local records. Run budgets apply only when declared. Brigade does not push to GitHub, publish packages, or send messages unless you use an explicit send action. Full boundaries: execution model.

Name collisions: this is brigade-cli from escoffier-labs/brigade, not the archived CNCF Kubernetes Brigade, Spinabot Brigade, or the 2017 Python package that became Nornir.

Docs

License

MIT. See LICENSE.

Project identity: GitHub escoffier-labs/brigade, website brigade.tools, PyPI brigade-cli, npm @escoffier-labs/brigade, command brigade.

Metadata

Release files for brigade-cli 0.30.0.dev20261020

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Change of provenance

This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Built distribution (wheel)

Table of built distributions (wheels) for brigade-cli 0.30.0.dev20261020
File Interpreter ABI Platform
brigade_cli-0.30.0.dev20261020-py3-none-any.whl Python 3 none any Details

Release files / brigade_cli-0.30.0.dev20261020-py3-none-any.whl

Change of provenance

This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Download URL brigade_cli-0.30.0.dev20261020-py3-none-any.whl
Size 3.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
6de6ca36bfed0cc575543aec72a4a14c1b905400cfd4a78d7c8db51172674477
BLAKE2b-256 checksum
How to use checksums
d788a3bd2ca8f4ffe16dfd354bec353b56fb89f41aa0048794c4b3e0016e4938
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Security for brigade-cli 0.30.0.dev20261020

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Change of provenance

The configuration that created this release differs from a previous release.

While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.

Configuration

  • Removed 0.30.0 publish.yml
  • Added 0.30.0.dev20261020 publish-dev.yml

Attestation for brigade_cli-0.30.0.dev20261020-py3-none-any.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page