Files
deepseek-harness/lefthook.yml
T

92 lines
2.1 KiB
YAML

# 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:
parallel: true
jobs:
- name: test
run: pnpm run test
- name: snapshot
run: pnpm run test:snapshot
# Flatten `pnpm run hygiene` and `pnpm run doc-sync` so lefthook can run
# their independent member gates concurrently before a push.
- name: knip
run: pnpm run knip
- name: publint
run: pnpm run publint
- name: constraints
run: pnpm run constraints
- name: node-next types
run: pnpm run verify-node-next-types
- name: doc typecheck
run: pnpm run doc-typecheck
- name: cordis catalog
run: pnpm run verify-cordis-catalog
- name: tool catalog
run: pnpm run verify-tool-catalog
- name: persistence catalog
run: pnpm run verify-persistence-catalog
- name: doc graphs
run: pnpm run verify-doc-graphs
- name: markdown wrap
run: pnpm run verify-md-wrap
- name: markdown links
run: pnpm run verify-md-links
- name: doc refs
run: pnpm run verify-doc-refs
- name: package paths
run: pnpm run verify-package-paths
- name: mermaid
run: pnpm run verify-mermaid
- name: rfc classification
run: pnpm run verify-rfc-classification
- name: rfc format
run: pnpm run verify-rfc-format
- name: type equivalence
run: pnpm run verify-type-equiv
- name: translation pairing
run: pnpm run verify-translation-pairing
- name: doc budgets
run: pnpm run verify-doc-budgets
- name: module-graph freshness
run: pnpm run verify-module-graph