- 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
33 lines
904 B
Markdown
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.
|