conventional_commits
SKILL.md
conventional_commits
Conventional Commits es un estándar ligero para los mensajes de commit que estructura la información de manera legible por humanos y máquinas. Es el input de semantic-release para determinar la versión y el CHANGELOG.
When to use
Aplicar desde el primer commit del proyecto. Configurar commitlint + husky para rechazar commits que no sigan el formato.
Instructions
- Formato:
<type>(<scope>): <description>feat(liveness): add MiDaS depth estimation→ minor bumpfix(ocr): correct MRZ parsing for Spanish DNI→ patch bumpfeat!(api): change response format for /verify→ major bump (breaking change)chore(deps): update paddleocr to 2.7.3→ no releasedocs(architecture): add C4 component diagramperf(face-match): optimize ArcFace inference batching
- Instalar commitlint:
npm install --save-dev @commitlint/cli @commitlint/config-conventional - Configurar
.commitlintrc.json:{"extends": ["@commitlint/config-conventional"]} - Configurar husky para ejecutar commitlint en
commit-msghook:npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"' - Scopes recomendados para el proyecto KYC:
capture,liveness,ocr,face-match,antifraud,decision,audit,gateway,infra,ml.
Notes
- Commitlint en el pre-commit hook previene que commits con formato incorrecto lleguen al repositorio.
- El scope es opcional pero muy recomendado — facilita el filtrado del CHANGELOG por agente.
- Los commits de merge automático de GitHub (
Merge pull request #123) no siguen el formato pero son ignorados por semantic-release.