@devground/husky-config
v1.2.0
Published
Git hooks setup with Husky (pre-commit runs lint-staged, commit-msg runs commitlint)
Downloads
409
Maintainers
Readme
@devground/husky-config
Git hooks setup with Husky. Configures a pre-commit hook that runs
lint-staged and a commit-msg hook that validates the message with commitlint.
Install
pnpm add -D @devground/husky-config husky lint-staged @commitlint/cli @devground/commitlint-configUsage
npx devground-huskyThis will:
- Initialize husky (if not already done)
- Write a
.husky/pre-commithook that:- Escanea secretos con gitleaks (ADR-0008). Si gitleaks detecta un secreto, bloquea el commit. Si gitleaks no está instalado, avisa cómo instalarlo y deja pasar el commit (la garantía dura la da CI).
- Corre
pnpm exec lint-staged(lint + format de archivos staged).
- Write a
.husky/commit-msghook that:- Valida el mensaje del commit con commitlint (
pnpm exec commitlint --edit "$1"), aplicando@devground/commitlint-config(ADR-0005). Si el mensaje no cumple Conventional Commits, bloquea el commit. - Si commitlint no está disponible, avisa y deja pasar el commit (mismo criterio de degradación explícita que gitleaks; CI es el gate duro).
- Valida el mensaje del commit con commitlint (
- Add
"prepare": "husky"to yourpackage.json
El
commit-msgespera encontrar una config de commitlint en el proyecto consumidor (p. ej.commitlint.config.jsque extienda@devground/commitlint-config). Sin ella, commitlint falla y el commit se bloquea — instala y configura ambos paquetes.
gitleaks (recomendado)
brew install gitleaks # macOS
# o ver https://github.com/gitleaks/gitleaks#installingSin gitleaks el hook no rompe, pero el escaneo de secretos se omite localmente. Configura gitleaks como job obligatorio en CI para el gate duro. Ver ADR-0008.
