merge: quick/quick-branch-support — soporte de ramas quick/ para cambios sin issue

This commit is contained in:
2026-03-08 13:02:27 +00:00
2 changed files with 39 additions and 15 deletions
+20 -5
View File
@@ -1,14 +1,22 @@
# Command: git branch (TBD)
Crea una rama de trabajo para un issue. **Nunca trabajar directamente en master.**
Crea una rama de trabajo. **Nunca trabajar directamente en master.**
Soporta dos tipos de rama:
- `issue/<NNNN>-<slug>` — para implementar un issue existente de `dev/issues/`
- `quick/<slug>` — para cambios pequeños sin issue asociado (fixes, config, docs, etc.)
## Inputs
Se necesita el numero del issue y el slug. Si no se proporcionan, preguntar.
Preguntar al usuario si el cambio esta asociado a un issue o no.
### Si es un issue:
- `issue_number`: numero de 4 digitos (e.g. `0020`)
- `slug`: nombre corto separado por guiones (e.g. `hot-reload`)
### Si es un cambio rapido (sin issue):
- `slug`: nombre corto descriptivo separado por guiones (e.g. `fix-typo-readme`)
## Flujo obligatorio
1. Verificar que estamos en master y limpio:
@@ -34,22 +42,29 @@ git pull --rebase
3. Crear la rama y cambiar a ella:
**Para issues:**
```bash
git checkout -b issue/<issue_number>-<slug>
```
Ejemplo: `git checkout -b issue/0013-hot-reload`
**Para cambios rapidos:**
```bash
git checkout -b quick/<slug>
```
Ejemplo: `git checkout -b quick/fix-typo-readme`
4. Confirmar al usuario:
```
Rama `issue/<issue_number>-<slug>` creada desde master actualizado.
Rama `<nombre-rama>` creada desde master actualizado.
Puedes empezar a trabajar. Cuando termines, usa `/git-push` para integrar a master.
```
## Convenciones
- **Formato de rama**: `issue/<NNNN>-<slug>` (siempre 4 digitos)
- **Formato de rama issue**: `issue/<NNNN>-<slug>` (siempre 4 digitos)
- **Formato de rama quick**: `quick/<slug>` (sin numero)
- **Ramas cortas**: idealmente horas, no dias
- **Una rama por issue**: no mezclar issues en la misma rama
- **Nunca pushear la rama al remoto**: el push se hace desde master despues del merge
+19 -10
View File
@@ -1,6 +1,6 @@
# Command: git push
Integra cambios a master y publica. Soporta dos flujos segun la rama actual.
Integra cambios a master y publica. Soporta ramas `issue/*` y `quick/*`.
## Flujo obligatorio
@@ -11,7 +11,7 @@ git branch --show-current
git status --short
```
#### Si estamos en una rama `issue/*`
#### Si estamos en una rama `issue/*` o `quick/*`
Continuar directamente al paso 2.
@@ -19,16 +19,21 @@ Continuar directamente al paso 2.
Crear una rama automaticamente antes de continuar:
1. Preguntar al usuario un nombre descriptivo si no es obvio por los cambios.
2. Determinar el siguiente numero de issue disponible (buscar en `dev/issues/` y `dev/issues/completed/`).
3. Crear la rama:
1. Preguntar al usuario: **¿Este cambio esta asociado a un issue existente?**
2. **Si es un issue**: pedir el numero y slug, crear rama `issue/<NNNN>-<slug>`.
3. **Si NO es un issue**: pedir un slug descriptivo, crear rama `quick/<slug>`.
```bash
# Para issues:
git checkout -b issue/<NNNN>-<slug>
# Para cambios rapidos:
git checkout -b quick/<slug>
```
4. Continuar al paso 2 con los cambios ya en la rama nueva.
**IMPORTANTE**: No inventar numeros de issue. Solo usar `issue/` si el issue existe en `dev/issues/`.
#### Si estamos en `master` sin cambios
**STOP**: no hay nada que publicar.
@@ -86,13 +91,17 @@ Si el issue es autocontenido (se completa en esta rama), no necesita flag. Salta
```bash
git checkout master
git pull --rebase
git merge --no-ff issue/<NNNN>-<slug> -m "merge: issue/<NNNN>-<slug> — <titulo breve>"
git merge --no-ff <rama> -m "merge: <rama> — <titulo breve>"
```
El merge commit debe tener formato:
- Titulo: `merge: issue/<NNNN>-<slug> — <descripcion corta>`
- Titulo: `merge: <rama> — <descripcion corta>`
- Cuerpo (opcional): resumen de lo que entra
Ejemplos:
- `merge: issue/0021-threads-default-config — habilitar threads en agentes`
- `merge: quick/fix-typo-readme — corregir typo en README`
Si hay conflictos durante el merge:
1. Resolver los conflictos
2. `git add` los archivos resueltos
@@ -107,13 +116,13 @@ git push
### 7. Limpiar rama local
```bash
git branch -d issue/<NNNN>-<slug>
git branch -d <rama>
```
### 8. Confirmar al usuario
```
Rama `issue/<NNNN>-<slug>` integrada a master y publicada.
Rama `<rama>` integrada a master y publicada.
Rama local eliminada.
```
@@ -138,7 +147,7 @@ Rama local eliminada.
## Checklist rapido
- [ ] Todos los cambios estan commiteados en una rama `issue/*`.
- [ ] Todos los cambios estan commiteados en una rama `issue/*` o `quick/*`.
- [ ] Se separaron cambios distintos en commits diferentes.
- [ ] Cada commit tiene descripcion larga en espanol.
- [ ] Tests ejecutados y pasando (o no aplican).