Saltar al contenido principal

Reglas / lineamientos:

  • Commits pequeños y claros.
  • No romper otras partes del sistema.
  • Probar antes de subir.
  • Al hacer un commit nunca mezclar scripts y cambios masivos de escenas.

En un flujo colaborativo con otros programadores:

  • Todas las features pasan por Pull Request.
  • Todas las ramas deben actualizarse con develop antes de merge.
  • Pull Request pequeños.
  • La estructura del Pull request debe ser [Tipo PR], por ejemplo “Feat PR”, “Fix PR”, etc.

Consulta la guía de Pull Request aquí:

https://inmersys.atlassian.net/wiki/x/AgBlmQ

Buenas prácticas de commits

Tipo¿Cuándo usarlo?EjemploBuenas prácticas específicas
FeatNueva funcionalidad visible para el usuarioFeat(auth): add password reset flowDebe representar valor funcional real
FixCorrección de bugsFix(cart): prevent duplicate item insertionColocar ID de bug si existe
RefactorCambio interno sin modificar comportamientoRefactor(user): extract validation to serviceNo mezclar con fix ni feat
PerfMejora rendimientoPerf(api): reduce response serialization timeIndicar que optimización se hizo
TestAgregar o modificar pruebasTest(login): add invalid password casesNo mezclar con cambios productivos
DocsDocumentaciónDocs(readme): update installation stepsSolo documentación
StyleFormato, espacios, estructuraStyle: apply prettier formatingNo debe cambiar lógica
ChoreTareas técnicas sin impacto funcionalChore: update dependenciesPara mantenimiento del proyecto
BuildsCambios en sistema de buildBuild: update gradle configRelacionado con compilación
CICambios de integración continuaCI: add Github Actions workflowSolo configuración de CI
HotfixCorrección urgente en producciónHotfix(payment): fix timeout in productionDirecto a la rama creada para la reparación
UICambios visuales o UIUI: adjust button layout spacingSolo UI, no lógica
SceneCambios estructurales en escenaScene(lecel11): adjust spawn positionsNo mezclar con scripts grandes
UpdateActualización de assets, funciones o funcionalidadesUpdate: Spawn logic
  • Los commits deben estar en inglés
  • 50 - 70 caracteres
  • Tiempo verbal presente / imperativo
  • Su estructura debe ser: Tipo(scope): Descripción. Ejemplo: Feat(auth): Add password reset flow
  • El scope debe ser un módulo, sección o componente afectado
  • Si es necesaria una descripción extendida (opcional) tiene que ser para fixes complejos
  • Si existe una referencia a un ticket o bug ID debe ser en el footer o al final del mensaje

Recomendaciones antes de un commit:

  • ¿El commit es atómico? = Sí
  • ¿El mensaje es claro y específico? = Sí
  • ¿Incluye archivos innecesarios? = No
  • ¿Se puede revertir sin romper algo más? = Sí

Ramas

Las ramas a usar principalmente son:

main → Versión estable (producción / entregas Beta) develop → Integración de features (opcional pero recomendado)

Aunque igual puedes considerar las siguientes:

feature/* → Nuevas funcionalidades fix/* → Bugs refactor/* → Mejoras internas sin cambiar comportamiento hotfix/* → Fixes urgentes en producción

Cualquiera de las ramas anteriores debería crearse desde la rama develop.

Convención de nombres de ramas

Sigue la siguiente estructura al nombrar una nueva rama:

Tipo de rama/Descripción_del_bug/feature/cambio

Ejemplo: feature/vr_grab_system