GitScrum / Docs

Integración Git

Cómo GitScrum CLI se integra con Git. Detección automática de ramas, extracción de IDs de tareas y hooks para workflows automatizados.

El CLI es consciente de Git por diseño. Lee el contexto de tu repositorio para vincular automáticamente comandos con las tareas correctas.


Detección Automática de Rama

El CLI detecta tu rama actual y extrae IDs de tareas:

$ git checkout feature/GS-123-auth-refactor

$ gitscrum task current
# Detecta tarea GS-123 del nombre de rama

 📋 GS-123: Refactorizar módulo de autenticación
    Estado: En Progreso | Sprint 15

Patrones Soportados

Nombre de RamaTarea Detectada
feature/GS-123-add-loginGS-123
GS-456-fix-bugGS-456
123-quick-fix123 (requiere contexto)

Creación de Ramas

Crea ramas con nomenclatura correcta desde IDs de tareas:

$ gitscrum task branch GS-789

✓ Creada rama: feature/GS-789-implement-oauth-flow
✓ Cambiado a la rama

Configurar Formato de Rama

# .gitscrum.yml
git:
  branch_format: "{type}/{id}-{slug}"
  default_type: feature
  max_slug_length: 50

Placeholders disponibles: {id}, {type}, {slug}, {user}


Integración con Commits

Formatea mensajes de commit con IDs de tareas:

$ git commit -m "$(gitscrum task current --format '[{id}] {title}')"
# Commit con: [GS-123] Implementar flujo OAuth

Git Hooks

Instala hooks para automatización:

gitscrum hooks install commit-msg

Hooks Disponibles

HookPropósito
commit-msgAgregar ID de tarea a commits
pre-pushActualizar estado de tarea
post-checkoutCambiar timer a tarea de nueva rama

Consulta Git Hooks para configuración completa.


Soporte para Worktrees

El CLI funciona con git worktrees:

$ git worktree add ../feature-GS-123 feature/GS-123
$ cd ../feature-GS-123
$ gitscrum task current
# Detecta correctamente GS-123

Soporte para Monorepos

repo/
├── packages/
│   ├── api/
│   │   └── .gitscrum.yml  # project: api-backend
│   └── web/
│       └── .gitscrum.yml  # project: web-frontend

El CLI usa el .gitscrum.yml más cercano.


Variables de Entorno

Sobrescribe detección de Git:

VariablePropósito
GITSCRUM_PROJECTSobrescribir proyecto
GITSCRUM_BRANCHSobrescribir rama
GITSCRUMTASKIDSobrescribir ID de tarea