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

33 lines
904 B
Markdown

This is a monorepo for pi extensions using pnpm workspaces.
## Structure
```
packages/
pi-turn-limit/ # First extension: limits the number of turns
```
## Development
```bash
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.