Analiza los cambios staged y unstaged para recomendar si crear un solo commit o varios commits separados, y genera mensajes de commit apropiados. Usar cuando el usuario pida sugerencias de commit, quiera hacer commit, o pregunte como organizar sus commits.
Al analizar cambios para recomendar commits:
git status para ver todos los archivos modificados, agregados y eliminadosgit diff para ver cambios unstaged y git diff --cached para ver cambios stagedgit diff <archivo> para entender que cambiogit log --oneline -5 para ver el estilo de commits recientes y seguir la misma convenciónEvaluar los cambios y clasificarlos en grupos lógicos según:
Presentar la recomendación de la siguiente manera. Los mensajes de commit SIEMPRE deben estar en inglés.
Recomendación: 1 commit
Archivos:
- lista de todos los archivos
Mensaje: <mensaje de commit en inglés siguiendo la convención del proyecto>
Recomendación: N commits
Commit 1:
Archivos:
- archivo1
- archivo2
Mensaje: <mensaje de commit en inglés siguiendo la convención del proyecto>
Commit 2:
Archivos:
- archivo3
Mensaje: <mensaje de commit en inglés siguiendo la convención del proyecto>
...
Cada mensaje de commit DEBE comenzar con uno de estos verbos en modo imperativo. Seleccionar el verbo según el tipo de cambio:
| Verbo | Uso |
|---|---|
| Feat | Crear una capacidad: feature, test, dependencia |
| Fix | Corregir un issue: bug, typo, accidente, error |
| Docs | Cambio que SOLO es en documentación: archivos de ayuda |
| Refactor | Cambio que SOLO es un refactoring de código |
| Perf | Cambio que SOLO es de performance: acelerar código |
| Test | Cambio que SOLO es de pruebas: agregar, modificar o eliminar tests |
| Style | Cambio que SOLO es de estilo: formato, indentación, espacios en blanco |
<Verbo> <descripción corta en imperativo>
[Body opcional explicando qué y por qué]
Ejemplos:
Feat: user authentication with JWT tokensFix: null pointer exception in payment serviceDocs: update README with new API endpointsRefactor: database connection pool managementPerf: optimize image loading with lazy loadingTest: add unit tests for user serviceStyle: reformat code with Prettiergit log --oneline -5 para contexto, pero SIEMPRE usar la convención de verbos definida arribaDespués de presentar la recomendación, NO ejecutar los commits. El usuario los hará manualmente. Solo presentar la recomendación con los archivos y mensajes sugeridos, y los comandos git que el usuario necesitaría ejecutar para cada commit.
IMPORTANTE: No agregar Co-Authored-By ni ningún otro trailer a los mensajes de commit generados por esta skill.