Coxswain
Agents pull the oars. You hold the tiller.
Coxswain is a platform that builds software with a crew of AI agents and keeps a person on the tiller. You describe a change; it is filed as a work item, planned, built in a worktree under a dollar budget, reviewed by two independent reviewers who are made to disagree, arbitrated, checked against the project's own tests as evidence, and handed to you as a pull request. You merge. Every step leaves a record you can read back.
Status: beta. The loop runs itself daily on its own repositories. Interfaces are still moving; see the release notes for what each version changes.
Install
uv tool install coxswain-tools
cox setup doctor
cox setup doctor tells you whether this machine can run an epic and what is missing. cox install sets up every component from the manifest in this repository; cox setup is a screen over the same steps. The install guide covers a fresh machine end to end.
The loop, in one screen
cox route file --repo R --title T --body FILE # a work item, from a sentence or a file
cox route launch epic --initiative work/<id> # plan → build → review ×2 → arbitrate → check → validate
cox runs top # every run in flight, live
cox runs land <run> --repo R --apply # rebase, PR, merge on green, clean up
A run is a detached process. It plans one task at a time, builds it in a worktree it owns, runs the real tests, and asks two reviewers — one holding the change to the team's written charter, one whose job is to find what is wrong — before an arbiter decides. A task that fails its budget is split, never given more money. Nothing merges to a default branch without a person.
What is in the box
This repository is the umbrella: the docs site, the version manifest that pins every component in lockstep, and the installer. The components are their own repositories, tagged together at every release.
| Component | What it owns |
|---|---|
coxswain-cartridges |
Who a run works for: roles, skills, budgets, policy, the tighten-only layers a team writes over the base. |
coxswain-graphs |
What runs: the graphs as pure functions, and the harness that budgets, reviews, checks and records them. |
coxswain-tools |
The cox command: install, doctor, route, runs, land, the setup and editor screens. |
coxswain-crew |
The seats: who speaks, with what authority, in what voice. |
The manifest is manifest.toml. cox versions reports every installed component against it.
Make it yours
Everything a stranger needs is a command in a public repository; everything that makes it yours is a file the command reads. A cartridge is that file for your team — which skills each role carries, what budget a build gets, what a reviewer holds code to. A profile is that file for your machine. Neither is code. cartridge init <team> writes one that inherits everything and lets you tighten what you care about; the customize guide walks through it.
Contributing
Every change to any component lands as a pull request, most of them built by the platform itself. Ruff runs in CI and pre-commit on every repository with one shared rule set; pre-commit install mirrors it locally. Ideas go in as intake items and are decomposed before they are built.
License
MIT. See LICENSE.
Release files for coxswain 0.16.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| coxswain-0.16.0.tar.gz | 179.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| coxswain-0.16.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 183.4 kB
Release files / coxswain-0.16.0.tar.gz
| Download URL | coxswain-0.16.0.tar.gz |
|---|---|
| Size | 179.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1fff607d46f05e95ecc2be9227f286864d5ab891e6e7b71fec7484bebd8ae48
|
|
BLAKE2b-256 checksum How to use checksums |
c14565a9eff46e08c2720ae079aa3adc3a074df64faf638212f4f362e9f3d137
|
| 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 Sep 25, 2026.
Transparency logRelease files / coxswain-0.16.0-py3-none-any.whl
| Download URL | coxswain-0.16.0-py3-none-any.whl |
|---|---|
| Size | 3.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f879c4a0d81a51596271cb45e3c1f1145725c3fc74e2f5b0635dcd0c0c6afdeb
|
|
BLAKE2b-256 checksum How to use checksums |
57ecfab076567e3f24218348c8a598339348dbd55d8cc42b62e87561c0322f44
|
| 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 Sep 25, 2026.
Transparency log