Willem van den Ende 57d238a1ea feat: restructure as pnpm monorepo workspace
- Move limit-turns.ts into packages/pi-turn-limit/src/index.ts
- Add root package.json (private workspace manifest)
- Add pnpm-workspace.yaml
- Add shared tsconfig.json
- Add pi package manifest to extension (pi.extensions, pi-package keyword)
- Update AGENTS.md with monorepo workflow
2026-04-20 23:04:34 +01:00

904 B

This is a monorepo for pi extensions using pnpm workspaces.

Structure

packages/
  pi-turn-limit/   # First extension: limits the number of turns

Development

pnpm install          # Install all workspace dependencies

Each extension lives in packages/<name>/ with its own package.json. The root package.json is the workspace manifest.

Adding a new extension

  1. Create packages/<name>/ directory
  2. Add package.json with "pi-package" keyword and pi.extensions manifest
  3. Put source in packages/<name>/src/index.ts
  4. Run pnpm install

Extension packaging

Extensions are loaded by pi as TypeScript files via jiti (no compilation needed). The pi key in package.json tells pi which files to load.

See ~/.local/share/mise/installs/node/24.0.1/lib/node_modules/@mariozechner/pi-coding-agent/docs/extensions.md and packages.md for full details.