Install
$ curl -fsSL https://raw.githubusercontent.com/srujan375/bird/main/install.sh | sh
$ bird
Needs git and Python 3.11+; Node adds the full-screen TUI. The first bird walks you through keys and picks a model that answers — local Ollama, Ollama Cloud or OpenRouter. Run the same line again to upgrade.
What is bird
It designs before it builds.
Most coding agents start editing on turn one. bird designs first, on a canvas you can see and edit, with a second model arguing against the design while it's being made. Only then does it write code. Three harnesses share one engine, so permissions, sessions and the context engine work the same in all of them. It runs on models you control: local Ollama, Ollama Cloud, or anything on OpenRouter.
Why architect first. An agent that starts editing on turn one makes your architecture decisions for you, badly, while you watch a diff scroll past. Plan-first tools (Claude Code's plan mode, spec-driven workflows) exist because a plan is reviewable and a 400-line diff isn't. Splitting design from implementation also keeps each agent's scope small, which is where most runaway edits come from.
one engine · one toolbox · knowledge graph
Comparison
| Median per run one task · n=3 | bird glm-5.2 | bird --no-kg | Claude Code Sonnet |
|---|---|---|---|
| Task solved | 3 / 3 | 3 / 3 | 2 / 2 |
| Retrieval latency | <1 ms | 7.2 s | n/a |
| Tool calls to the fix | 5 | 6 | 6.5 |
| Context at the fix | 7,847 | 5,693 | 57,577 |
| Total tool calls | 22 | 21 | 8 |
| Wall time | 51 s | 48 s | 37 s |
| Cost per run | ~$0 | ~$0 | $0.36 |
arch
Don't just plan, Architect.
When most of your code is written by agents, the architecture is the part that still has to be right.
bird arch opens a workbench when the work needs one and walks the feature through step by
step: components, endpoints, db schemas, infra requirements, and the shortcomings it won't pretend
away. Plan mode gives you prose to approve. This gives you a structure to argue with.
code
Read, plan, edit, verify.
kg_query is the primary search tool for the whole session, and the engine nudges the model back when it drifts into grep. Anything multi-step gets a plan pinned into the conversation, with the current step and its files; done is blocked while steps are open. bash is allowlisted to read-only search, tests, linters and git reads. Everything else is refused loudly. You approve every edit with a real diff.
lead
Talks, explores, decides where the work goes.
lead has no edit, write, or bash tools. It answers questions, reads and researches, and each turn decides whether to reply or dispatch. New features go through arch first, then code. Localized fixes go straight to code. An agent quietly changing something while answering a question isn't possible here, it's structural.