Skip to content
boo --watch on simulated data

The control tower for the pull requests of your agents

Your coding agents open the pull requests. Review bots answer, run out of quota, and leave red checks. boo shows each pull request on one line, knows the agent that owns it, and tells you or your orchestrator what to do next.
Terminal window
npm install --global @sakuga-software/boo
boo --watch

Knows the agent of each pull request

Claude Code, Copilot, Codex, Cursor or Devin. A local Claude Code session shows its name and its state, and a sub-agent that opened the pull request shows its task: working, done, or failed with its error.

Talks to the agent

a sends a prompt to the session that owns the pull request: rebase, review, fix or test. The session reads it after its current turn.

Feeds your orchestrator

--json gives the state of each pull request. --watch --events streams each change as NDJSON: a state, a review, a check, a comment of a person, a merge, a stack to rebase.

Guards the merge

A merge policy keeps an agent from merging too early: a minimum score from the deepest review, a proof, resolved bot threads, an answer to a review that was asked for, files that only their owner merges.

Reads every reviewer

Bots and people, with no list to keep. A quota refusal is not a review, a red check of a refused bot is not a failure, and a queued CI run still runs.

Spots the work that stopped

A red pull request with no agent at work and no new commit is stalled. A stacked pull request whose parent merged asks for a rebase.

  1. Agents open the pull requests. Your Claude Code sessions, their sub-agents, or a GitHub App such as Copilot. boo --author @me --author app/my-agent lists them all.

  2. boo watches them. One small GraphQL query probes 50 pull requests, and only the ones that changed are read again. All the runs on the machine share the reads. It retries CodeRabbit by itself when its quota comes back.

  3. The orchestrator follows the stream. boo --watch --events tells it which pull request turned red, which reviewer answered, and which person wrote a comment that the agent must read.

  4. A person merges. m merges the pull request that is ready, and refuses one that misses a rule of the team.