24 lines
1.0 KiB
Markdown
24 lines
1.0 KiB
Markdown
# 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.
|
|
|
|
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
|