Git Hooks Toolkit
Install production-ready Git hooks in seconds with pre-built templates.
Quick Start
# List all available templates
python3 scripts/git_hooks.py list
# Install a hook
python3 scripts/git_hooks.py install pre-commit lint-staged
python3 scripts/git_hooks.py install commit-msg conventional
# Preview before installing
python3 scripts/git_hooks.py show pre-commit no-debug
# Check what's installed
python3 scripts/git_hooks.py status
# Remove a hook
python3 scripts/git_hooks.py remove pre-commit
Available Templates
pre-commit
- lint-staged — Run ESLint/Ruff/Flake8 on staged files only
- no-debug — Block console.log, debugger, pdb, breakpoint()
- large-files — Prevent files over 500KB from being committed
- format-check — Auto-run Prettier, Black, gofmt on staged files
commit-msg
- conventional — Enforce Conventional Commits (feat/fix/docs/etc.)
- ticket-ref — Require ticket reference (#123, PROJ-456)
- no-wip — Block WIP commits on main/master/release branches
pre-push
- run-tests — Auto-detect project type and run test suite
- branch-protect — Prevent direct push to main/master
post-merge
- install-deps — Auto-install deps when lockfiles change
Commands
list— Show all templatesinstall <hook> <template> [--repo path] [--force]— Install a hookshow <hook> <template>— Preview template contentstatus [--repo path]— Show installed hooksremove <hook> [--repo path]— Delete a hook