Expand description
One module per ported hook. Phase 1 of docs/rust-migration.md moves them across one at a time; each keeps a shim at its original path so the existing .zsh suite exercises the Rust implementation unchanged.
Modules§
- ban_
terms - pre-commit-ban-terms — refuse focused/debug leftovers in staged JS/TS.
- branch_
pattern - pre-push-branch-pattern — reject branch names that don’t follow the convention, unless the branch is already on the remote.
- branch_
protect - pre-push-branch-protect — refuse a direct push to a protected branch.
- commit_
msg - commit-msg — validate the summary line and reformat the message.
- common
- Shared plumbing for the linter-orchestration hooks.
- k8s
- The three Kubernetes hooks: argo-lint, kube-linter, kubeconform.
- lint_js
- pre-commit-lint-js — ESLint over staged JS/TS, scoped to repos that lint.
- lint_
json_ yaml - pre-commit-lint-json-yaml — parse staged JSON/YAML so a syntax error never reaches the repo. Both linters soft-fail when absent: warn, don’t block.
- merge_
conflict - pre-commit-merge-conflict — refuse staged files still carrying conflict markers.
- package_
lock - pre-commit-package-lock — keep package.json and its lockfile in step.
- prepare_
commit_ msg - prepare-commit-msg — append the issue id found in the branch name.
- prettier
- pre-commit-prettier — format check over staged files, scoped to repos that actually opt into prettier.
- pull_
rebase - pre-push-pull-rebase — sync a branch with ITS OWN upstream before pushing, and warn (never act) when the default branch has moved ahead.
- python_
tools - pre-commit-ruff and pre-commit-pyright — the two Python hooks.
- run_
tests - pre-push-run-tests-js — run each touched JS package’s gate before pushing.
- rust_
tools - The three Rust hooks:
cargo fmt --check,cargo clippy,cargo test. - usual_
name - pre-commit-usual-name — warn the first time an author commits under a
given name/email, so a misconfigured
user.nameis noticed at the first commit rather than after twenty. - yamllint
- pre-commit-yamllint — strict YAML lint, but only where a repo has opted in.