Convención de commits
Los commits siguen Conventional Commits 1.0 en inglés: el resumen en imperativo y el cuerpo con cada cambio. Así el historial se lee solo y la próxima versión se calcula a partir de él (Versiones). Hasta la versión 1.3.0 los mensajes estaban en español.
type(scope): imperative summary in lowercase, no trailing period
- area: what changed and why, one bullet per change- area: …
BREAKING CHANGE: what stops working and how to migrateLa primera línea tiene como máximo 72 caracteres. El cuerpo detalla cada cambio agrupado por área (servidor, interfaz, escritorio, docs…): qué cambió y por qué, sin «varios arreglos».
| Tipo | Para | Versión |
|---|---|---|
feat |
Algo nuevo que la persona puede usar | menor (1.1.0) |
fix |
Un error corregido | parche (1.0.1) |
perf |
Más rápido o con menos memoria, sin cambiar lo que hace | parche |
refactor |
Código reorganizado sin cambiar el comportamiento | — |
style |
Formato del código (no del diseño de la interfaz: eso es feat o fix) |
— |
docs |
Solo documentación | — |
test |
Pruebas | — |
build |
Dependencias, Dockerfile, empaquetado | — |
ci |
Flujos de GitHub Actions | — |
chore |
Mantenimiento (incluye chore(release)) |
— |
revert |
Deshace un commit anterior | — |
Un ! antes de los dos puntos (feat(api)!: …) o un pie BREAKING CHANGE: marca un cambio incompatible: sube la versión mayor (2.0.0).
Alcances
Sección titulada «Alcances»Opcionales, en inglés y en minúscula: el área de la app que cambia.
library · libraries · import · queue · player · voice · translation · recognition · export · access · api · webhooks · youtube · ui · desktop · docker · docs
Ejemplos
Sección titulada «Ejemplos»feat(queue): prioritize from the cardfix(voice): stop trimming reference clips by guessing the textperf(recognition): cap the CTranslate2 cache at 400 MBdocs(api): add a curl export examplebuild(docker): use the CUDA 12.8 imagefeat(api)!: move the video routes to /api/v2Validación
Sección titulada «Validación».githooks/commit-msg rechaza un mensaje que no siga el formato y un feat, fix o perf que cambie la app (vt/, web/, Dockerfile, requirements.txt…) sin tocar la documentación ni los changelogs (ver Documentación). Se activa una vez por clon:
git config core.hooksPath .githooksgit config commit.template .gitmessageLa segunda línea deja una plantilla con los tipos y alcances al abrir el editor del commit.