engineering / agent
Pi
An agent harness with a coding agent CLI, customized through extensions, skills, prompt templates and themes, plus a TypeScript SDK.
At a glance
- Purpose
- An agent harness with a coding agent CLI, customized through extensions, skills, prompt templates and themes, plus a TypeScript SDK.
- Runs in
- Local agent with shell
- Operating systems
- macOS, Linux, Windows
- Needs
- Runtime: Node.js 22.19+; Needs internet: Yes; Needs accounts or API keys beyond your agent: Not stated
- Files and data
- Reads files: Not stated; Writes files: Yes; Sends data to other services: Not stated
- Tool type
- Agent
- Delivery
- From GitHub
- Version
- Latest on the main branch
- Access
- Code on GitHub
- Compatibility
- According to the README, installers exist for macOS, Linux and Windows, and Pi requires Node.js 22.19 or newer. The README says the Nix route supports ARM64 and x86-64 on Linux and macOS. The README's package table describes a multi-provider LLM API and names OpenAI, Anthropic and Google as examples. The README names three sandbox patterns: a Gondolin extension, plain Docker and OpenShell.
- External costs
- The README says that for a built-in AI provider you run /login to connect a subscription or an API key. It names OpenAI, Anthropic and Google among the providers of its multi-provider API and states no prices. Your coding agent or model provider may charge for usage.
- Permissions
- The README offers a downloaded shell installer piped into sh, a downloaded PowerShell installer executed with irm and iex, and a global npm installation using --ignore-scripts. The README says the installers can install Node.js if needed and that /login connects a provider subscription or API key. The README says Pi has no built-in permission system restricting filesystem, process, network or credential access and runs by default with the permissions of its launching user and process. The README lists containerization patterns using a Gondolin extension, Docker or OpenShell. For local-package development, the README says the configuration command updates the consumer's package.json and writes transitive overrides to package.json or pnpm-workspace.yaml. The README also describes publishing coding-agent sessions with the separate pi-share-hf tool and a Hugging Face account and CLI.
- Usage terms
- MIT License, as stated in the repository. See its LICENSE file for the exact terms.
Code on GitHub
earendil-works/pi
MITAI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI
Public GitHub data fetched · 0 days old
Skill folders in this repository (17)
Folders that contain a SKILL.md file, from GitHub's file list on .
packages/coding-agent/examples/extensions/dynamic-resourcespackages/coding-agent/test/fixtures/skills-collision/first/calendarpackages/coding-agent/test/fixtures/skills-collision/second/calendarpackages/coding-agent/test/fixtures/skills/consecutive-hyphenspackages/coding-agent/test/fixtures/skills/disable-model-invocationpackages/coding-agent/test/fixtures/skills/invalid-name-charspackages/coding-agent/test/fixtures/skills/invalid-yamlpackages/coding-agent/test/fixtures/skills/long-namepackages/coding-agent/test/fixtures/skills/missing-descriptionpackages/coding-agent/test/fixtures/skills/multiline-descriptionpackages/coding-agent/test/fixtures/skills/name-mismatchpackages/coding-agent/test/fixtures/skills/nested/child-skillpackages/coding-agent/test/fixtures/skills/no-frontmatterpackages/coding-agent/test/fixtures/skills/root-skill-preferredpackages/coding-agent/test/fixtures/skills/root-skill-preferred/nested-childpackages/coding-agent/test/fixtures/skills/unknown-fieldpackages/coding-agent/test/fixtures/skills/valid-skill
What it does
The README describes Pi as a minimal, extensible agent harness. The README lists customization through extensions, skills, prompt templates and themes, bundled as Pi packages and shared through npm or git. The README says Pi skips features such as sub-agents and plan mode, and suggests asking Pi to build a desired feature or installing a package for it.The README describes interactive use, automation in print or JSON mode, RPC control and app development with the Pi TypeScript SDK. The README's package table lists a multi-provider LLM API, an agent runtime with tool calling and state management, an interactive coding agent CLI, a terminal UI library, a durable conversation, task and document runtime, telemetry contracts and an application-composition runtime.
The README points to the separate pi-chat repository for Slack and chat automation and workflows. The README also names OpenClaw as a real-world integration.
Who it is for
Developers who want a customizable coding agent for the terminal, or building blocks for their own agents.Example tasks
Install the Pi command-line interface and start it with pi in a project directory.Run /login inside Pi to connect a subscription or API key.
Automate Pi in print or JSON mode.
Bundle extensions, skills, prompt templates or themes as a Pi package.
Run Pi in Docker or another sandbox to limit what it can access.
Getting started
The README gives an install script and, for Windows, a PowerShell command. It says the installer pins all dependencies and that pi update updates Pi.It also gives an npm route that does not pin transitive dependencies:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
Start Pi in the directory where you want it to work, by changing into your project directory and running:
pi
For a built-in AI provider, the README says to run /login inside Pi to connect a subscription or API key, then give Pi a task. It also describes a Nix route.
The README has the exact commands.
Limitations
The README says Pi requires Node.js 22.19 or newer, and that the macOS, Linux and Windows installers can install it if needed. For a built-in AI provider, you run /login inside Pi to connect a subscription or an API key. The README says Pi does not include a built-in permission system and by default runs with the permissions of the user and process that launched it. It says Pi skips features like sub-agents and plan mode. It notes that installing with npm does not pin transitive dependencies, while the installer pins all dependencies.The repository can change at any time; check its README before you install.
Data practices
The README does not describe the prompt or file payloads sent to built-in model providers. The README says /login connects a provider subscription or API key. The README says Pi overlays newer model catalog data from pi.dev at runtime. The README's package table describes pi-telemetry as vendor-neutral telemetry contracts, a reference adapter, conformance tests and typed schemas, without describing a runtime collection policy.The README asks users to publish open-source coding-agent sessions to Hugging Face through the separate pi-share-hf tool, requiring a Hugging Face account and CLI. The README says public session data includes real-world tasks, tool use, failures and fixes and is intended to help improve coding agents.