A coding agent that audits its own npm dependencies
The pi project bundles a CLI coding agent with an unusually paranoid approach to supply-chain security.

What it does
Pi is a TypeScript monorepo centered on a coding agent CLI, plus supporting libraries: a unified LLM API wrapper (pi-ai), an agent runtime with tool calling (pi-agent-core), and a terminal UI library with differential rendering (pi-tui). There’s also a separate Slack/chat automation repo. The coding agent itself is interactive and self-extensible — you can ask it to explain its own codebase.
The interesting bit
Most agent projects treat dependencies as an afterthought. Pi treats every npm change as a reviewed code change: exact-version pinning, a two-day minimum release age, pre-commit hooks that block accidental lockfile commits, and a shrinkwrap with an explicit allowlist for lifecycle scripts. The paranoia is the feature.
Key highlights
- Unified LLM API across OpenAI, Anthropic, Google, and others via
pi-ai - Agent runtime with tool calling and state management in
pi-agent-core - Differential-rendering TUI library (
pi-tui) — not just another React-for-terminals clone - Publishes OSS session data to Hugging Face to improve agents on real-world tasks instead of benchmarks
- Supply-chain hardening includes
--ignore-scriptsby default, signature audits, and release smoke tests in isolated installs
Caveats
- New issues and PRs from new contributors are auto-closed by default; maintainers review them daily, but it’s a friction point
- LLM-dependent tests are skipped without API keys, so full test coverage requires external credentials
- The Slack/chat integration lives in a separate repo (
pi-chat), not this monorepo
Verdict
Worth a look if you’re building agent infrastructure and want supply-chain practices you can steal. Skip if you need a drop-in coding agent with no setup friction — the security rigor trades off against convenience.