Bosun
An opinionated multi-agent coding environment built on Pi. Agents run in tmux windows, coordinate through a mesh, and a background daemon handles the rest.
What you get
Agents that work together. Spawn a test runner while you write code. Delegate a file search to a scout. Get a code review from a dedicated reviewer. Each agent runs in its own tmux window with the right model and tools for the job.
Coordination built in. Agents reserve files before editing them, send messages to each other, and know who's working on what. No stepping on each other's work.
Background automation. A daemon summarizes your sessions, generates builder's logs, fills in handoffs, and backs up your workspace — all on a schedule, without you thinking about it.
Sandboxed by default. Process-level isolation via bubblewrap. Tool-level access control for reads, writes, and commands. Agents can only touch what you allow.
Extensible foundation. Every piece is an independent Pi package. Use them standalone, or build your own multi-agent environment on top of bosun as a git submodule.
Who it's for
Bosun is for developers who want a multi-agent setup without building the infrastructure. If you've used Pi and wanted to run multiple agents simultaneously — with coordination, automation, and sandboxing — bosun is that, pre-configured.
It's opinionated. The agent tiers, the tmux workflow, the daemon system — these are choices made for you. That's the point.
Quick start
git clone https://github.com/oddship/bosun.git
cd bosun
just onboard # install deps, create config
# edit config.toml with your API keys
just start # sandboxed tmux session
Inside the session:
You: Explore this codebase and then add rate limiting to the API
Bosun: I'll spawn scout for recon, then plan the implementation.
Read the full Quickstart for details.
How it works
┌─────────────────────────────────────────────────────┐
│ tmux session │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌──────────┐ │
│ │ bosun │ │ lite │ │ verify │ │ scout │ │
│ │(orchestr)│ │(fast) │ │(tests) │ │(recon) │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬─────┘ │
│ └────────────┴──────────┴────────────┘ │
│ pi-mesh │
│ (reservations, messaging) │
├─────────────────────────────────────────────────────┤
│ pi-daemon (background) │
│ summarize sessions · fill handoffs · backup │
│ generate chronicles · scheduled workflows │
├─────────────────────────────────────────────────────┤
│ sandboxing │
│ bwrap (process) + pi-sandbox (tool-level) │
└─────────────────────────────────────────────────────┘
Packages
Every component is an independent Pi package:
| Package | What it does |
|---|---|
| pi-agents | Agent discovery, model tiers, spawn_agent tool |
| pi-mesh | Multi-agent coordination — reservations, messaging |
| pi-tmux | Terminal tools — split panes, send keys, capture output |
| pi-daemon | Background workflows — scheduling, queue, retry |
| pi-sandbox | Tool-level access control for reads/writes/commands |
| pi-chronicles | Builder's log generation from session history |
| pi-session-tools | Session summarization and handoff workflows |
| pi-q | Task, project, and roadmap management |
Learn more
- Quickstart — Getting started step by step
- Guide
- Walkthrough — Guided tour of a session
- Agents — Agent tiers, spawning, mesh coordination
- Workflows — Daemon, scheduled automation
- Daily Use — Day-to-day patterns and commands
- Extending
- Architecture — Package design, sandbox model, data flow
- Downstream — Build your own environment on bosun
- Packages — Package reference and API details