Standalone multi-agent swarm orchestrator
Project description
boring-swarm
Self-contained multi-agent swarm orchestration. One binary (bsw), one declarative flow.toml, and default worker prompts.
Install
uv tool install boring-swarm
Or with pip/pipx:
pipx install boring-swarm
Quick Start
bsw init
bsw doctor
bsw spawn
bsw robot
bsw doctorvalidates deps + local flow/prompt files.bsw robotruns hardened hybrid scheduling for autonomous operation.
Structure
boring-swarm/
├── cli/bsw/ # Go source — compiled into platform wheels via go-to-wheel
├── defaults/
│ ├── prompts/
│ │ ├── impl_worker.md
│ │ ├── impl_proofer.md
│ │ ├── impl_reviewer.md
│ │ ├── impl_committer.md
│ │ └── plan_reviewer.md
│ └── flow.toml # Default state machine definition
└── deps.toml # External dependency declarations
Dependencies
External — installed separately:
| Dep | Role |
|---|---|
| br | Work item CRUD (beads) |
| bv | Verification / robot ops |
| ntm | Tmux session + pane management |
| agent-mail | Inter-agent messaging (MCP) |
Prompt resolution
bsw init materializes local files:
.bsw/flow.toml.bsw/prompts/*.md
After init, runtime reads only local .bsw/* files. Users can fully overwrite flow.toml.
Flow DSL
- Full DSL reference:
docs/FLOW_DSL.md - Default example:
defaults/flow.toml
Build wheels locally
Requires Go 1.24+ and go-to-wheel:
pip install go-to-wheel
go-to-wheel cli/bsw --name boring-swarm --version 0.1.0 --entry-point bsw
Wheels are built automatically on GitHub release via CI.
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 Distributions
Built Distributions
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 boring_swarm-0.1.1-py3-none-win_arm64.whl.
File metadata
- Download URL: boring_swarm-0.1.1-py3-none-win_arm64.whl
- Upload date:
- Size: 7.4 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e06f8cca278f68fd34c68249ef6abb595921a6cf6dbb2390f51b0ba96a1a6c9
|
|
| MD5 |
a64b72c6f8355d7b4bafb8638ac3b133
|
|
| BLAKE2b-256 |
630fe540d52d43b6a380829eab268d245a1935ea137a2dedeb83b589e76a95d6
|
File details
Details for the file boring_swarm-0.1.1-py3-none-win_amd64.whl.
File metadata
- Download URL: boring_swarm-0.1.1-py3-none-win_amd64.whl
- Upload date:
- Size: 8.1 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8b4e8b38f7453b5262aa033ae7bb25a2843d1fae523e4397e5daf4803dcbf28
|
|
| MD5 |
f6f2b6c4dd66650fbabae443bfe78f4f
|
|
| BLAKE2b-256 |
053eead25d390f25d33a3f2cdeb28f4af08b85b31dcafe1ede93bc180e0a7153
|
File details
Details for the file boring_swarm-0.1.1-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: boring_swarm-0.1.1-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 7.7 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acbba265ae98c00c284b264ef3b33b1a48404a29dd5a90fe5e1865e4c32733bb
|
|
| MD5 |
1654e079303084ece0329d05018fb1a1
|
|
| BLAKE2b-256 |
73696aae253379c58ada67dcafb71706396908a9642e21e66d182e1b74fbac7e
|
File details
Details for the file boring_swarm-0.1.1-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: boring_swarm-0.1.1-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 7.3 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44311971b53c88629307297b14f2971a9ac4ab105395fde7872c9f64c58b1980
|
|
| MD5 |
c5e997f07ef45086e42b38b89f93c6c0
|
|
| BLAKE2b-256 |
0e91dd7da751c917f51cceca38edd4d3c8543e572c6c619d6cfdad85fba4c1eb
|
File details
Details for the file boring_swarm-0.1.1-py3-none-manylinux_2_17_x86_64.whl.
File metadata
- Download URL: boring_swarm-0.1.1-py3-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 7.7 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ec60db826fa6799c3d03347229cc10ef8fb6eaf54188be9af4d9b771f2f2f1d
|
|
| MD5 |
c06764ae54d31acd228f8b2f8abd1e7b
|
|
| BLAKE2b-256 |
fcbaf823b7cbd160b67da107bbd58a31263c396130c941098024537ead6383b9
|
File details
Details for the file boring_swarm-0.1.1-py3-none-manylinux_2_17_aarch64.whl.
File metadata
- Download URL: boring_swarm-0.1.1-py3-none-manylinux_2_17_aarch64.whl
- Upload date:
- Size: 7.3 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cd4160f622904b037d5839f35ac6a93091a4ddd22d5ec3928fde2a51a12c50d
|
|
| MD5 |
955bca98a391e7fb5039f23e586c0c1e
|
|
| BLAKE2b-256 |
6d2dd8a9091adc2d6605bf471482d51052d9e815aa18966af98b33a29147b718
|
File details
Details for the file boring_swarm-0.1.1-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: boring_swarm-0.1.1-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 7.4 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8408e78e79f26720e398638cbdd38a4e0b81b37fc13b16fd2170e9a243a8406
|
|
| MD5 |
ab528ff1689306dcc0f5b58983c13711
|
|
| BLAKE2b-256 |
46f830e845b2a864cb7d44122d69a82113cd285942c05594aeec40dfdef0a80b
|
File details
Details for the file boring_swarm-0.1.1-py3-none-macosx_10_9_x86_64.whl.
File metadata
- Download URL: boring_swarm-0.1.1-py3-none-macosx_10_9_x86_64.whl
- Upload date:
- Size: 7.9 MB
- Tags: Python 3, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6a7c1a72b5a656a82cd08597301dffa5e1ae9ab44b58f04216b0604d9ebf03c
|
|
| MD5 |
28381cf86aa671f8089ba11ba8d16fff
|
|
| BLAKE2b-256 |
df903b4bbf75f690c9e7991a535d87c1822f930b4328807caa4a48418ca011ca
|