Conventions for human contributors and AI agents working on this repository.
- Terse technical prose. No emojis in commits, issues, PR comments, or code.
- TypeScript strict mode. No
any, nounknowncasts where avoidable, no@ts-ignore, no@ts-expect-error, no enums. - ESM modules with
.jssuffix in import paths (Node16 resolution). - Tabs for indentation. Double quotes for strings (matches biome config).
- Tests use vitest with
#given .. #when .. #thendescription style or plain// given / // when / // thenbody comments.
npm install— install dependencies.npm test— run vitest once.npm run typecheck— strict TypeScript check.npm run check— type check + biome.pi -e ./src/index.ts— load the extension into a local pi session for manual smoke testing.
- No Bun APIs. Runtime is Node only.
- This extension registers the
apply_patchtool and only activates it for OpenAI GPT-family models. - Keep the tool schema, grammar, and descriptions byte-for-byte compatible with Codex unless intentionally updating the golden source.
- No dependency on pi-coding-agent internal modules outside the documented public extension API in
@mariozechner/pi-coding-agent.
- No
git add -Aorgit add .. Stage only the files you changed. - No
git commit --no-verify. No force pushes. No history rewriting on shared branches.