Validador de Mensajes de Commit|Comprueba Conventional Commits con 8 Reglas
Pega un mensaje de commit y comprueba si sigue el formato de Conventional Commits a través de 8 reglas. El formato del asunto, su longitud, el modo imperativo, el ajuste del cuerpo, los marcadores de cambio incompatible y el formato del pie aparecen uno al lado del otro, marcados como correcto, aviso o error.
💡 Sobre esta herramienta
Cuando varias personas trabajan sobre el mismo repositorio, el historial de Git suele convertirse en una mezcla de estilos: unos empiezan con feat:, otros escriben frases largas, otros olvidan dejar la línea en blanco antes del cuerpo. Acordar una convención es fácil; recordarla en cada commit, no tanto. Esta herramienta convierte ese acuerdo en una lista de comprobación: pega el mensaje y corrige lo que aparezca en rojo.
Las 8 reglas son: R1 formato del asunto (type(scope): subject), R2 longitud del asunto (50 recomendado, 72 obligatorio), R3 sin punto final, R4 modo imperativo, R5 línea en blanco entre asunto y cuerpo, R6 líneas del cuerpo ajustadas a 72 caracteres, R7 marcador de cambio incompatible (! o BREAKING CHANGE:) y R8 formato de token en el pie (Refs:, Closes #N). El resultado se copia como un informe de texto plano que puedes pegar en una revisión o en la guía de estilo del equipo.
🧐 Preguntas Frecuentes
P. ¿Qué es Conventional Commits?
Es una convención ligera que añade un tipo como feat, fix o docs al inicio del asunto, de modo que las herramientas puedan generar registros de cambios y versiones semánticas a partir del historial. Se usa ampliamente en proyectos de código abierto.
P. ¿Por qué 50 y 72 caracteres?
Los 50 caracteres mantienen el asunto legible en git log y en plataformas como GitHub; 72 es el límite antes de que la línea se corte en la terminal. La herramienta avisa al pasar de 50 y marca error al pasar de 72.
P. ¿Cómo funciona la comprobación del modo imperativo?
La regla R4 es una heurística: detecta si la primera palabra termina en -ed o -ing (por ejemplo "Added" o "Adding") y sugiere la forma imperativa. Es orientativa y muestra un aviso, no un error.
P. ¿Es obligatorio el alcance (scope)?
No. feat: ... supera la regla R1 igual que feat(parser): .... El alcance entre paréntesis es opcional y solo admite minúsculas, dígitos y guiones.
P. ¿Cómo marco un cambio incompatible?
Añade un ! tras el tipo (feat!:) o una línea BREAKING CHANGE: en el cuerpo. Basta con uno de los dos: la regla R7 acepta ! solo, BREAKING CHANGE: solo o ambos, e indica qué forma de marcador se ha usado.
📚 De la Convención al Aprendizaje
Para quien aprende Git, dominar la escritura de commits suele ser el paso que más cuesta automatizar en la cabeza. La estructura de Conventional Commits ayuda precisamente porque impone un patrón claro: tipo, alcance opcional, asunto en imperativo y un cuerpo que explica el "por qué". Practicar con un validador que muestra las 8 reglas a la vez funciona como un tutorial interactivo: en lugar de leer la especificación de memoria, ves de inmediato qué parte de tu mensaje no encaja. Así la convención deja de ser una norma abstracta y se convierte en un hábito que entiendes por qué importa: un asunto bien formado alimenta a las herramientas que construyen versiones y registros de cambios automáticamente.