Mejora tus commits con Conventional Commits
Cuando trabajamos en equipo (o incluso solos), mantener un historial de cambios claro y ordenado puede ser un desafío. Muchas veces encontramos mensajes de commit como “cambios”, “arreglos varios” o simplemente “update”, que no aportan información útil a futuro. Para solucionar esto, existe una convención llamada Conventional Commits.
¿Qué son los Conventional Commits?
Conventional Commits es una especificación para escribir mensajes de commit de manera estructurada. Fue creada para facilitar tareas como la generación automática de changelogs, el versionado semántico (SemVer), y para mejorar la legibilidad del historial de cambios.
Su estructura básica es:
tipo(scope opcional): mensaje breve
Tipos más comunes
- feat: se usa cuando se añade una nueva funcionalidad
- fix: para corregir errores
- docs: cambios en la documentación
- style: formato del código (sin cambios de lógica)
- refactor: cambios en el código que no agregan funcionalidad ni corrigen errores
- test: se agregan o modifican pruebas
- chore: tareas menores de mantenimiento
- ci: configuración de integración continua
Ejemplos reales
feat(auth): agregar soporte para login con Google
fix(user-service): corregir error al validar emails
refactor(api): simplificar lógica de paginación
docs(readme): añadir instrucciones de instalación
Ventajas
- Historial de commits más legible y organizado
- Facilidad para generar changelogs automáticos
- Soporte para versionado semántico (SemVer)
- Mejor comunicación entre miembros del equipo
- Integración con herramientas como semantic-release, Commitizen y commitlint
Herramientas que te ayudan
- Commitizen: crea commits guiados desde la terminal
- commitlint: valida tus mensajes de commit
- semantic-release: automatiza el versionado y publicación de releases
Conclusión
Adoptar Conventional Commits puede parecer un pequeño cambio, pero marca una gran diferencia en la calidad del proyecto. No solo mejora la comunicación entre desarrolladores, sino que también abre la puerta a automatizaciones potentes. ¡Dale una oportunidad y llevá tus commits al siguiente nivel!
Recursos para profundizar
- Sitio oficial: https://www.conventionalcommits.org
- Ejemplos y guía Angular: Guía de commits de Angular
- Documentación de semantic-release: https://semantic-release.gitbook.io
- Commitlint y configuración: https://commitlint.js.org
- Video introductorio: Conventional Commits explicado en 5 minutos (YouTube)