Ir al contenido

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 migrate

La 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).

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

feat(queue): prioritize from the card
fix(voice): stop trimming reference clips by guessing the text
perf(recognition): cap the CTranslate2 cache at 400 MB
docs(api): add a curl export example
build(docker): use the CUDA 12.8 image
feat(api)!: move the video routes to /api/v2

.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:

Ventana de terminal
git config core.hooksPath .githooks
git config commit.template .gitmessage

La segunda línea deja una plantilla con los tipos y alcances al abrir el editor del commit.