Agent harnesses and frameworks

earendil-works/

pi

Extensible coding agent CLI and TypeScript SDK: unified LLM API, agent loop, TUI, and npm-shareable extension packages.

What’s new here

Pi provides strong defaults for the interactive coding loop but deliberately omits sub-agents and plan mode. Instead it exposes a formal extension and package system: extensions, skills, prompt templates and themes are the customization primitives. You bundle your additions as a Pi package and share it over npm or git.

What it does

Pi is a monorepo that ships several separable pieces:

  • @earendil-works/pi-coding-agent: the interactive TUI coding agent CLI you run with pi
  • @earendil-works/pi-ai: a unified multi-provider LLM API covering OpenAI, Anthropic, Google and others
  • @earendil-works/pi-agent-core: agent runtime with tool calling and state management
  • @earendil-works/pi-durable: durable conversation, task and document runtime
  • @earendil-works/chord: typed host runtime for hot-reloadable plugins, replicated state and RPC over JSON links
  • @earendil-works/pi-tui: terminal UI library with differential rendering

You can use Pi interactively, pipe it in print or JSON mode, control it over RPC, or import the TypeScript SDK into your own app. Extensions, skills, prompt templates and themes are the customization primitives. Pi packages bundle them for distribution.

Pi does not include a built-in permission system. The README documents three containerization patterns (a Gondolin micro-VM extension, plain Docker, and an OpenShell policy sandbox) for teams that need tighter process boundaries.

Who it’s for

Developers who want a coding agent they can bend to their workflow. The extension and package system rewards people willing to customize behavior in TypeScript and share the result. Teams that need a scriptable, RPC-controllable agent backend (rather than just an interactive tool) will also find the architecture useful.

Try it

Requires Node.js 22.19 or newer. Prebuilt binaries for macOS (arm64, x64), Linux (arm64, x64) and Windows (arm64, x64) are in the v1.3.0 release assets.

macOS / Linux:

curl -fsSL https://pi.dev/install.sh | sh

Windows:

powershell -c "irm https://pi.dev/install.ps1 | iex"

npm (transitive deps not pinned):

npm install -g --ignore-scripts @earendil-works/pi-coding-agent

Nix:

nix run github:earendil-works/pi/stable

Then:

cd /path/to/project
pi

Run /login inside Pi to connect a provider subscription or API key.

How mature is it

116,035 stars, 14,796 forks, at least 100 contributors, and at least 100 releases (the API cap was hit). Current release is v1.3.0, dated 2026-10-15. The repo was created 2025-08-09 and last pushed 2026-10-18. Commits in the last 90 days also hit the 100-entry cap. 261 open issues, 86 open PRs. New contributor issues and PRs are auto-closed pending daily maintainer review. Licensed MIT.