Most coding agents ship as a single opinionated binary — you take the whole thing or nothing. Pi inverts that: the harness is broken into four independently publishable npm packages you can adopt piecemeal, from just the provider-agnostic LLM call layer up to a full coding agent that can read and modify its own tooling.
What Sets It Apart
- Layered, not monolithic:
pi-ai(one API over OpenAI/Anthropic/Google),pi-agent-core(tool calling + state),pi-coding-agent(the CLI), andpi-tui(differential-rendering terminal UI). You can pull in a single layer without dragging in the rest. - Self-extensible agent: the coding agent can explain itself and edit its own tools, so customization flows through the agent rather than a wall of config flags.
- Supply-chain hardening as a first-class concern — exact-pinned dependencies, a two-day minimum release age, and a shrinkwrapped published CLI — rigor that is rare in agent projects.
- Backed by the Earendil Works org, with contributors including Armin Ronacher and Mario Zechner.
Who It's For
Great fit if you want agent building blocks instead of a locked-in product — you need only a clean multi-provider LLM API, or want to embed a tool-calling loop inside your own program. Look elsewhere if you expect a batteries-included GUI: Pi is terminal-first, ships no built-in permission sandbox (you containerize it yourself), and auto-closes issues and PRs from new contributors by default.