Guia de Contribucion

Flujo de trabajo GitFlow para contribuir al proyecto

Resumen Ejecutivo

Este proyecto utiliza GitFlow como estrategia de branching. Las ramas principales son main (produccion) y develop (integracion). Las features se desarrollan en ramas separadas y se integran mediante Pull Requests.

Estructura de Ramas

main ─────●─────────●─────────●─────── produccion │ ↑ ↑ │ │ │ develop ─────●────●────●────●────●─────── integracion │ ↑ │ ↑ │ │ │ │ feature/* └────┘ │ │ │ │ hotfix/* └────┘

main

Codigo en produccion. Protegida, solo recibe merges de releases y hotfixes.

Protegida

develop

Rama de integracion. Todas las features se mergean aqui primero.

Protegida

feature/*

Nuevas funcionalidades. Se crea desde develop y se mergea a develop.

develop → develop

hotfix/*

Correcciones urgentes en produccion. Se crea desde main y se mergea a ambas.

main → main + develop

Flujo: Nueva Funcionalidad

1

Actualizar develop

git checkout develop && git pull origin develop

2

Crear rama feature

git checkout -b feature/nombre-descriptivo

3

Desarrollar y commitear

git commit -m "feat: descripcion del cambio"

4

Subir y crear PR

git push -u origin feature/nombre-descriptivo → PR a develop

Convenciones de Commits

Tipo Descripcion Ejemplo
feat Nueva funcionalidad feat: agregar endpoint de autenticacion
fix Correccion de bug fix: corregir validacion de email
docs Documentacion docs: actualizar instrucciones
refactor Refactorizacion refactor: extraer logica a utils
chore Mantenimiento chore: actualizar dependencias

Versionado Semantico

1
Major
Breaking changes
.
2
Minor
Nuevas features
.
3
Patch
Bug fixes
1.0.0 → 1.0.1 Bug fix 1.0.1 → 1.1.0 Nueva feature 1.1.0 → 2.0.0 Breaking change

Checklist antes del PR

Flujo de CI/CD

graph LR
    A[PR a develop] --> B{Validaciones}
    B -->|OK| C[Merge a develop]

    D[PR a main] --> E{Validaciones}
    E -->|OK| F[Merge a main]
    F --> G[Deploy automatico]
    G --> H[Tag de version]
                
Check Descripcion
check-version Verifica que la version sea nueva
security-audit Escanea vulnerabilidades con npm audit