# Pi vs CC — Extension Playground ## Infrastructure Access **Always read `.pi/infra.md` at the start of every session** — it contains live credentials and connection details. Pi Coding Agent extension examples and experiments. ## Tooling - **Package manager**: `bun` (not npm/yarn/pnpm) - **Task runner**: `just` (see justfile) - **Extensions run via**: `pi -e extensions/.ts` ## Project Structure - `extensions/` — Pi extension source files (.ts) - `specs/` — Feature specifications - `.pi/agents/` — Agent definitions for agent-team extension - `.pi/agent-sessions/` — Ephemeral session files (gitignored) ## Conventions - Extensions are standalone .ts files loaded by Pi's jiti runtime - Available imports: `@mariozechner/pi-coding-agent`, `@mariozechner/pi-tui`, `@mariozechner/pi-ai`, `@sinclair/typebox`, plus any deps in package.json - Register tools at the top level of the extension function (not inside event handlers) - Use `isToolCallEventType()` for type-safe tool_call event narrowing