How to explore the pi-mono repository?
This post might have stale content, as HEAD is 338 commits ahead.
explore this repo
Perfect! Now let me create a comprehensive summary of this repository:
##Repository Overview: pi-mono
This is the Pi Monorepo - a comprehensive toolkit for building AI agents with a focus on coding tasks. The project is maintained by Mario Zechner (@badlogic).
###Core Purpose
Pi is a framework for building AI agents with:
- Unified multi-provider LLM API supporting OpenAI, Anthropic, Google, and many others
- Agent runtime with tool calling and state management
- Interactive coding agent CLI for real-world development tasks
- Terminal UI (TUI) library with differential rendering
- Web UI components for chat interfaces
###5 Main Packages
| Package | Purpose |
|---|---|
| @mariozechner/pi-ai | Unified multi-provider LLM API supporting OpenAI, Anthropic, Google, Mistral, Bedrock, and 20+ more providers with advanced features like prompt caching, reasoning, extended thinking |
| @mariozechner/pi-agent-core | Core agent runtime with tool calling, state management, and extensibility for building custom agents |
| @mariozechner/pi-coding-agent | Production-ready interactive CLI agent for coding tasks with file editing, bash execution, git, debugging |
| @mariozechner/pi-tui | Terminal UI library with differential rendering, keybindings, autocomplete, and rich terminal features |
| @mariozechner/pi-web-ui | Web components for building AI chat interfaces |
###Key Features
- Multi-Provider Support: Abstracts 20+ LLM providers (OpenAI, Anthropic, Google, Mistral, Bedrock, Fireworks, OpenRouter, etc.)
- Advanced LLM Features:
- Prompt caching (Anthropic, OpenAI)
- Reasoning/Extended thinking (Anthropic, OpenAI, Google)
- Tool calling standardization
- Image and file handling
- Coding Agent Capabilities:
- File editing with context
- Bash command execution
- Git integration
- Interactive and batch modes
- Session management with branching and compaction
- Session Recording & Sharing: Can publish sessions to Hugging Face for improving agents with real-world data
- Extensible Architecture: Custom providers, extensions, and skills for the coding agent
###Development Stack
- Language: TypeScript
- Runtime: Node.js (v20+)
- Build Tools: Biome (linting/formatting), tsx, vitest
- Monorepo: npm workspaces
###Project Stats
- ~300 files across 5 packages
- Extensive test suite including unit, integration, and E2E tests
- 80+ test files covering providers, agents, UI, and tools
- Active development with CI/CD via GitHub Actions
###Notable Commands
npm install # Install all dependencies
npm run build # Build all packages
npm run check # Lint, format, and type check
./test.sh # Run tests
./pi-test.sh # Run pi from source (from any directory)
npm run dev # Watch mode for development
###Contribution Model
The project has a quality-first gatekeeping system:
- New issues/PRs auto-closed; maintainers review daily
lgtmiapproval: future issues not auto-closedlgtmapproval: issues + PR rights- Must follow CONTRIBUTING.md and AGENTS.md
- Core rule: You must understand your code; no un-reviewed AI-generated slop
- Uses agents for development but enforces review practices
###Community
- Discord: https://discord.com/invite/3cU7Bz4UPx
- Hugging Face sessions: https://huggingface.co/datasets/badlogicgames/pi-mono
- Chat bot workflows: https://github.com/earendil-works/pi-chat
What would you like to explore further? I can dive deeper into any specific package, architecture patterns, the agent implementation, provider support, or anything else in the codebase.
END OF POST