# Git hooks (lefthook). Hooks call the same package.json scripts CI runs — # one source of truth; the hook is just an earlier, faster checkpoint. # Install: `pnpm exec lefthook install` (runs automatically via postinstall). pre-commit: parallel: true jobs: - name: lint (staged) glob: '*.{ts,mts,cts,mjs}' exclude: - 'vendor/*/src/**' run: node_modules/.bin/eslint --fix {staged_files} && git add {staged_files} stage_fixed: true - name: typecheck glob: '*.ts' run: pnpm run typecheck - name: vendor manifest guard run: scripts/check-vendor-manifest.sh pre-push: jobs: - name: full check run: pnpm run check:pre-push