Repository-native AI Chief of Staff orchestration
Project description
Brichan
Coding agents are very good at the work in front of them and very bad at remembering why it was asked for. Context lives in a chat window, so it is lost when the window closes; decisions are re-litigated, status is reconstructed from memory, and the record of what was actually verified never outlives the session. Running several agents at once makes this worse, not better, because nothing owns the state between them.
This package introduces an AI Chief of Staff that sits above the coding agent rather than inside it. You give it a project goal; it keeps only the context that goal needs, hands bounded tasks to independent workers, checks the evidence they return, and records decisions and status as files in your repository — outside chat, where they survive the session.
The distribution, the importable package, and every console command all share
the name brichan / brichan-*.
Requirements
Brichan coordinates independent worker sessions through Herdr, the approved worker-control plane. A single coordinator session runs without it, but Herdr is required as soon as Brichan hands off bounded tasks to workers.
Install it on Linux or macOS:
$ curl -fsSL https://herdr.dev/install.sh | sh
or via Homebrew on macOS:
$ brew install herdr
Then install the integration for your runtime, e.g.:
$ herdr integration install claude
$ herdr integration install codex
See the Herdr documentation for other install methods (mise, Nix, Windows preview) and integration options.
Installation
PyPI
To install Brichan, simply:
$ pip install brichan
Brichan runs on POSIX-compatible systems with Python 3.10 or newer. It has no runtime dependencies.
From source
The repository ships an installer that builds a wheel and installs every console command into a dedicated environment. It can be invoked from any directory and does not activate or modify your project's virtual environment:
$ /absolute/path/to/brichan/scripts/install-brichan
By default it creates an environment at $HOME/.local/share/brichan/venv and
command symlinks in $HOME/.local/bin, selecting an available Python 3.10+
interpreter with pip, setuptools, venv, and wheel. If the command
directory is not on PATH, the installer prints the exact export to add to your
shell profile.
Usage
Brichan operates on an existing top-level Git repository. Initialization defaults to a dry run and performs zero writes, so you can preview the complete footprint before anything is created:
$ brichan init --project /absolute/path/to/repository
Once the footprint looks right, apply it:
$ brichan init --apply --project /absolute/path/to/repository
This creates only a versioned .brichan/ directory holding managed policy, model
routing, Herdr skill resources, and mutable project memory. Repeating it against
healthy state is idempotent. Your AGENTS.md, CLAUDE.md, .codex/, and
provider configuration are left untouched.
Diagnose and launch from any directory by naming the target explicitly:
$ brichan status --project /absolute/path/to/repository
$ brichan doctor --project /absolute/path/to/repository
$ brichan run --project /absolute/path/to/repository -- <codex arguments>
From inside a healthy initialized repository, bare brichan launches Codex
directly:
$ brichan
Arguments after -- are forwarded to Codex. Option-looking text after -- is
treated as literal prompt content, so a prompt beginning with a dash cannot
silently become a flag:
$ brichan run --project /absolute/path/to/repository -- --review the auth module
Before the --, Brichan rejects native delegation, permission bypasses,
cwd/scope widening, profiles, remote execution, and arbitrary Codex
configuration. State diagnostics reject malformed, dangling, symlinked,
inaccessible, or incompatible .brichan/ state rather than silently repairing it.
Schema v1 has no automatic migration: a package-version change requires
deliberate backup and reinitialization.
Coordinating workers
Herdr is the worker control plane. Native runtime delegation stays disabled so worker ownership, evidence, and cleanup remain visible:
- You describe the outcome and constraints.
- Brichan reads only the project context that work needs.
- Brichan gives bounded tasks to independent workers through Herdr.
- Brichan verifies the results, records decisions and status, then reports back.
Herdr is needed only when Brichan coordinates independent worker sessions.
Project context is written to projects/<project-slug>/ as a small set of
Markdown files covering overview, current state, tasks, decisions, and
references.
Coordinator defaults and worker routes are settings-driven, so the coordinator and the implementation, review, planning, or scan workers may each use a different runtime.
Other console commands
Installing brichan also provides:
brichan-codex— resolves coordinator routing from a Brichan source checkout (orBRICHAN_ROOT), or from an already-initialized project's.brichan/state.brichan-claude— resolves only from a checkout orBRICHAN_ROOT.brichan-herdr-agent-start— starts a Herdr worker session.brichan-validate-receipts— validates canonical handoff receipts.
brichan-codex and brichan-claude are checkout-oriented and intended for
development, not standalone installed-project launches. --help and --version
work from any directory.
License
Brichan is available under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file brichan-0.7.0.tar.gz.
File metadata
- Download URL: brichan-0.7.0.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82d792358fe068d541067e2ce27ee410b632317a4c6e2b62e51626fdabbf79b7
|
|
| MD5 |
cf4b736d2f543b7ff6c89c146120e43f
|
|
| BLAKE2b-256 |
34d4ec8bc25f7fc4bb4542af3e3d1882d90fa358ed20aa3311e331df402633c3
|
File details
Details for the file brichan-0.7.0-py3-none-any.whl.
File metadata
- Download URL: brichan-0.7.0-py3-none-any.whl
- Upload date:
- Size: 46.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5288e98561ae29e57da2b8d7e9787f55913a4e116717e488440d8dbaa4fcf018
|
|
| MD5 |
6a7c37bad84f1f09eaae7f20d5efa929
|
|
| BLAKE2b-256 |
2b7e61d3bb2f0fd388c3d2bde7314fb706d47331efd3a201886870de41bf94af
|