Pre-commit Hooks
Scripts que se ejecutan automáticamente antes de crear un commit de git, usados para aplicar estándares de calidad de código, ejecutar linters y prevenir commits de código problemático.
Definicion
Los pre-commit hooks son parte del sistema de hooks de Git (.git/hooks/pre-commit). Pueden bloquear commits que fallen las verificaciones. Usos comunes: ejecutar linters (ESLint, Prettier), verificar secretos, ejecutar unit tests y aplicar formatos de mensajes de commit. Herramientas como Husky (Node.js), pre-commit (Python) y Lefthook facilitan la gestión de hooks.
Por que es importante
Los pre-commit hooks desplazan las verificaciones de calidad a la izquierda, capturando problemas antes de que el código sea committeado o pusheado. Esto proporciona retroalimentación inmediata a los desarrolladores y previene contaminar el historial de git con commits de "fix lint". Complementan (pero no reemplazan) las verificaciones de CI.
Ejemplo
Un desarrollador intenta committear código con declaraciones console.log. El pre-commit hook ejecuta ESLint, que detecta la violación de no-console y bloquea el commit con un mensaje de error explicando qué necesita ser corregido.