lechnerio-git-hooks
v1.1.9
Published
Shared git hooks for lechnerio projects
Readme
lechnerio-git-hooks
Shared git hooks for all lechnerio projects. Install once, get commit linting, lint-staged, version bumping, and changelog generation.
Install
pnpm add -D lechnerio-git-hooks
pnpm approve-builds
pnpm installFor pnpm workspaces, add the -w flag:
pnpm add -wD lechnerio-git-hooksWhat it does
On install, the package automatically:
- Copies
pre-commit,commit-msg, andpost-commithooks into.husky/ - Copies
generate-changelog.mjsintoscripts/ - Copies
commitlint.config.jsand.lintstagedrc.jsinto the project root - Adds a
lint-stagedscript topackage.json - Configures git to use
.husky/as the hooks path
Hooks
| Hook | What it does |
| ------------- | -------------------------------------------------------------------------------------------- |
| pre-commit | Runs lint-staged (eslint --fix + prettier) |
| commit-msg | Enforces conventional commits via commitlint |
| post-commit | Interactive version bump (subtle/patch/minor/major), changelog generation, push/merge prompt |
Peer dependencies (auto-installed)
@commitlint/cli@commitlint/config-conventionallint-staged
Project requirements
These are not included and must be installed by the project:
eslintprettier
Environment variables
For non-interactive usage (CI, scripts):
| Variable | Values |
| -------------- | --------------------------------------------------------------- |
| VERSION_BUMP | 1 = subtle, 2 = patch, 3 = minor, 4 = major, 0 = skip |
| POST_ACTION | 1 = push, 2 = merge to main, 0 = skip |
Update
pnpm update lechnerio-git-hooksRemoving old setup
If migrating from a manual setup, remove these before installing:
Remove-Item .husky\post-commit
Remove-Item .husky\pre-commit
Remove-Item .husky\commit-msg
Remove-Item commitlint.config.js
Remove-Item .lintstagedrc.js
Remove-Item scripts\generate-changelog.mjsAlso remove these from devDependencies if present:
pnpm remove @commitlint/cli @commitlint/config-conventional husky lint-staged