Files
calvana/CLAUDE.md

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