Run these checks on all changed files before committing:
pnpm run format:check # prettier
pnpm run lint # eslint
pnpm run test # vitestIf prettier or eslint fail, fix with:
npx prettier --write <files>
npx eslint --fix <files>A pre-commit hook (husky + lint-staged) runs prettier and eslint automatically on staged files, but always verify manually before pushing — CI checks the entire repo, not just staged files.
src/— TypeScript source (server, router, helpers, responses, types)src/__tests__/— Vitest test suitedocs/— GitHub Pages website (static HTML)fixtures/— Example fixture JSON files shipped with the package
- Tests live in
src/__tests__/and use Vitest - When adding features or fixing bugs, add or update tests
- Run
pnpm testbefore pushing
Automated drift remediation lives in scripts/:
scripts/drift-report-collector.ts— runs drift tests, producesdrift-report.jsonscripts/fix-drift.ts— reads drift report, invokes Claude Code to fix builders, creates PR or issue
See DRIFT.md for full documentation and .github/workflows/fix-drift.yml for the CI workflow.
- NEVER commit internal planning documents (specs, plans, design docs) to this repo. No
docs/superpowers/, nodocs/plans/, nodocs/specs/. These are gitignored. Store them in Notion or~/.claude/instead.
- This repo enforces conventional commit prefixes via commitlint:
fix:,feat:,docs:,test:,chore:,refactor:, etc. - No Co-Authored-By lines