Thanks for helping improve this Pi package.
npm install
npm run cinpm run test:coveragePrints line, branch, and function coverage for lib/ and extensions/ using Node's built-in --experimental-test-coverage reporter (no extra dependencies).
Baseline (Node 24): CI enforces average coverage across lib/**/*.ts and extensions/index.ts via scripts/coverage-gate.mjs (lines ≥ 75%, branches ≥ 68%, functions ≥ 75%), plus per-file hotspot floors on critical modules. See COVERAGE_HOTSPOTS / COVERAGE_DENYLIST in that script.
pi -e .Before opening a PR:
- Run
npm run ci - Update docs when behavior changes
- Update
CHANGELOG.mdfor user-facing changes - Keep package contents small and intentional
Releases use npm Trusted Publishing. Do not add NPM_TOKEN to GitHub Secrets.
npm version patch
git pushOn main, .github/workflows/auto-release.yml creates the v<version> tag and GitHub Release, then dispatches .github/workflows/publish.yml to publish to npm. See docs/release.md.