# Estandares para crear un rama en GIT HUB

## Las Ramas Principales (El Núcleo)

Estas ramas son intocables de forma directa; nadie debería programar sobre ellas, solo recibir *Pull Requests* (PRs).

- `<strong>main</strong>` **(o** `<strong>master</strong>`**)**: Es el código sagrado. Lo que está aquí es la versión estable que está desplegada en el servidor de producción.
- `<strong>develop</strong>` **(o** `<strong>dev</strong>`**)**: Es la rama de integración. Aquí se une todo el código nuevo de los desarrolladores para ser probado en el ambiente de pruebas antes de salir a producción.

## Convenciones para Sub-ramas (Trabajo Diario)

Para las ramas donde tú y tu equipo van a tirar código (las que nacen de `develop`), usamos un estándar de **prefijos** seguidos de un slash (`/`) y un nombre muy descriptivo.

- `<strong>feat/</strong>` **(Nuevas Funcionalidades):** Se usa cuando vas a crear un módulo, una pantalla o un servicio completamente nuevo. 
    - *Ejemplo:* `<em>feat/dashboard-pending-tasks</em>`
- `<strong>fix/</strong>` **o** `<strong>bugfix/</strong>` **(Solución de errores):** Se usa para arreglar un comportamiento incorrecto que se detectó durante el desarrollo o las pruebas. 
    - *Ejemplo:* `<em>fix/smart-table-rendering-error</em>`
- `<strong>hotfix/</strong>` **(Urgencias en Producción):** Son parches críticos. Estas ramas nacen directamente de `main` porque hay un error grave en producción que no puede esperar al ciclo normal de desarrollo. 
    - *Ejemplo:* `<em>hotfix/login-crash-500</em>`
- `<strong>enhancement/</strong>` **(Mejoras):** Se usa cuando la funcionalidad ya existe y no tiene errores, pero la vas a optimizar (como hacer un query de SQL más rápido o mejorar el UI/UX). 
    - *Ejemplo:* `<em>enhancement/query-performance-form-person</em>`
- `<strong>chore/</strong>` **(Mantenimiento):** Tareas técnicas que no afectan directamente al usuario final, como actualizar dependencias, cambiar el `pom.xml` o configurar Docker. 
    - *Ejemplo:* `<em>chore/update-angular-v11</em>`

## Buenas Prácticas (Senior Tips)

- **Todo en minúsculas y separado por guiones medios (**`<strong>-</strong>`**):** Nada de usar espacios, ni mayúsculas, ni CamelCase.
- **Sé descriptivo pero conciso:** Ni muy corto (`fix/error`), ni un testamento gigante (`feat/boton-que-hace-click-en-el-dashboard`).
- **Idioma unificado**