- 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
904 B
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
- Create
packages/<name>/directory - Add
package.jsonwith"pi-package"keyword andpi.extensionsmanifest - Put source in
packages/<name>/src/index.ts - 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.