Pi extensions repo. Do not commit changes to git automatically.
- Run
pnpm installbefore development - Extensions live in
extensions/<name>/index.ts - To develop an extension locally, run
pi -e ./extensions/<name>/
- All tests must pass: run
pnpm testafter changes and fix errors - All code must compile: run
pnpm run typecheckand fix any errors - All code must pass linting: run
pnpm run lintand fix any errors - After every change, run
pnpm run formatto reformat all files with Prettier - Use conventional commits:
feat(git): ...,fix(git): ...,docs: ...,chore: ... - Update the README table when adding extensions
- Peer deps (
@mariozechner/pi-coding-agent,@mariozechner/pi-tui,@sinclair/typebox): useimport type, never bundle - Never catch and ignore errors unless they are expected; report all caught errors in a log or in the UI.
- always write a failing test before fixing a bug or implementing a new feature
- do not add tests for static configuration such as UI layout that is not dynamic