1.2 KiB
1.2 KiB
Pi vs CC — Extension Playground
Infrastructure Access
Always read .claude/infra.md at the start of every session — it contains live credentials and connection details.
To set up: copy .claude/infra.md.example → .claude/infra.md and fill in real values.
Team distribution: share the real file via 1Password shared vault (or age-encrypted blob, never git).
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/<name>.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