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) # 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 ## 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`) - `issue_number`: numero de 4 digitos (e.g. `0020`)
- `slug`: nombre corto separado por guiones (e.g. `hot-reload`) - `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 ## Flujo obligatorio
1. Verificar que estamos en master y limpio: 1. Verificar que estamos en master y limpio:
@@ -34,22 +42,29 @@ git pull --rebase
3. Crear la rama y cambiar a ella: 3. Crear la rama y cambiar a ella:
**Para issues:**
```bash ```bash
git checkout -b issue/<issue_number>-<slug> git checkout -b issue/<issue_number>-<slug>
``` ```
Ejemplo: `git checkout -b issue/0013-hot-reload` 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: 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. Puedes empezar a trabajar. Cuando termines, usa `/git-push` para integrar a master.
``` ```
## Convenciones ## 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 - **Ramas cortas**: idealmente horas, no dias
- **Una rama por issue**: no mezclar issues en la misma rama - **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 - **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 # 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 ## Flujo obligatorio
@@ -11,7 +11,7 @@ git branch --show-current
git status --short git status --short
``` ```
#### Si estamos en una rama `issue/*` #### Si estamos en una rama `issue/*` o `quick/*`
Continuar directamente al paso 2. Continuar directamente al paso 2.
@@ -19,16 +19,21 @@ Continuar directamente al paso 2.
Crear una rama automaticamente antes de continuar: Crear una rama automaticamente antes de continuar:
1. Preguntar al usuario un nombre descriptivo si no es obvio por los cambios. 1. Preguntar al usuario: **¿Este cambio esta asociado a un issue existente?**
2. Determinar el siguiente numero de issue disponible (buscar en `dev/issues/` y `dev/issues/completed/`). 2. **Si es un issue**: pedir el numero y slug, crear rama `issue/<NNNN>-<slug>`.
3. Crear la rama: 3. **Si NO es un issue**: pedir un slug descriptivo, crear rama `quick/<slug>`.
```bash ```bash
# Para issues:
git checkout -b issue/<NNNN>-<slug> 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. 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 #### Si estamos en `master` sin cambios
**STOP**: no hay nada que publicar. **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 ```bash
git checkout master git checkout master
git pull --rebase 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: 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 - 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: Si hay conflictos durante el merge:
1. Resolver los conflictos 1. Resolver los conflictos
2. `git add` los archivos resueltos 2. `git add` los archivos resueltos
@@ -107,13 +116,13 @@ git push
### 7. Limpiar rama local ### 7. Limpiar rama local
```bash ```bash
git branch -d issue/<NNNN>-<slug> git branch -d <rama>
``` ```
### 8. Confirmar al usuario ### 8. Confirmar al usuario
``` ```
Rama `issue/<NNNN>-<slug>` integrada a master y publicada. Rama `<rama>` integrada a master y publicada.
Rama local eliminada. Rama local eliminada.
``` ```
@@ -138,7 +147,7 @@ Rama local eliminada.
## Checklist rapido ## 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. - [ ] Se separaron cambios distintos en commits diferentes.
- [ ] Cada commit tiene descripcion larga en espanol. - [ ] Cada commit tiene descripcion larga en espanol.
- [ ] Tests ejecutados y pasando (o no aplican). - [ ] Tests ejecutados y pasando (o no aplican).