Docs
On this page
On this page
Pi Documentation
Pi Documentation
Pi is a minimal terminal coding harness. It is designed to stay small at the core while being extended through TypeScript extensions, skills, prompt templates, themes, and pi packages.
Quick start
Install pi with npm:
npm install -g @mariozechner/pi-coding-agent
Then run it in a project directory:
pi
Authenticate with /login for subscription providers, or set an API key such as ANTHROPIC_API_KEY before starting pi.
For the full first-run flow, see Quickstart.
Start here
- Quickstart - install, authenticate, and run a first session.
- Using Pi - interactive mode, slash commands, context files, and CLI reference.
- Providers - subscription and API-key setup for built-in providers.
- Settings - global and project settings.
- Keybindings - default shortcuts and custom keybindings.
- Sessions - session management, branching, and tree navigation.
- Compaction - context compaction and branch summarization.
Customization
- Extensions - TypeScript modules for tools, commands, events, and custom UI.
- Skills - Agent Skills for reusable on-demand capabilities.
- Prompt templates - reusable prompts that expand from slash commands.
- Themes - built-in and custom terminal themes.
- Pi packages - bundle and share extensions, skills, prompts, and themes.
- Custom models - add model entries for supported provider APIs.
- Custom providers - implement custom APIs and OAuth flows.
Programmatic usage
- SDK - embed pi in Node.js applications.
- RPC mode - integrate over stdin/stdout JSONL.
- JSON event stream mode - print mode with structured events.
- TUI components - build custom terminal UI for extensions.
Reference
- Session format - JSONL session file format, entry types, and SessionManager API.
Platform setup
Development
- Development - local setup, project structure, and debugging.