213 lines
4.4 KiB
Markdown
213 lines
4.4 KiB
Markdown
---
|
|
version: 1.0.0
|
|
updated: 2026-03-15
|
|
tags: [issues, quick, automation, tui]
|
|
---
|
|
|
|
# Command: quick-issue
|
|
|
|
Crea un issue nuevo automáticamente desde la TUI con detección automática de workspace y número de issue.
|
|
|
|
## Para el usuario
|
|
|
|
### Cuándo usar este comando
|
|
|
|
Este comando es invocado automáticamente por la TUI cuando el usuario presiona la opción "Create Issue". **No se debe invocar manualmente** desde la línea de comandos.
|
|
|
|
### Sintaxis
|
|
|
|
```bash
|
|
/issues:quick-issue --text "descripción del issue"
|
|
```
|
|
|
|
El comando auto-detecta el próximo número de issue disponible y crea el archivo automáticamente.
|
|
|
|
## Para Claude
|
|
|
|
### Precondiciones
|
|
|
|
Verificar antes de ejecutar:
|
|
|
|
- [ ] Directorio `dev/issues/` existe
|
|
- [ ] Parámetro `--text` fue proporcionado
|
|
- [ ] Working tree limpio
|
|
|
|
### Inputs
|
|
|
|
**Obligatorios:**
|
|
- `--text`: Texto descriptivo del issue (se usará como título y descripción)
|
|
|
|
**Auto-detectados:**
|
|
- Número de issue: Siguiente disponible en `dev/issues/`
|
|
- Workspace: Proyecto padre (Dataforge)
|
|
|
|
### Flujo obligatorio
|
|
|
|
#### 1. Determinar número del issue
|
|
|
|
```bash
|
|
# Listar issues existentes
|
|
ls -1 dev/issues/*.md | grep -E '^dev/issues/[0-9]{4}[a-z]?-' | sort -V
|
|
|
|
# Extraer último número
|
|
# Si el último es 0023-foo.md, siguiente es 0024
|
|
# Si el último es 0023c-bar.md, siguiente es 0024
|
|
```
|
|
|
|
Regla: **SIEMPRE incrementar el número base**, ignorar letras.
|
|
|
|
#### 2. Generar título y slug
|
|
|
|
- **Título**: Usar `--text` directamente
|
|
- **Slug**: Convertir título a kebab-case
|
|
|
|
Ejemplo:
|
|
```
|
|
--text "Agregar soporte para temas oscuros"
|
|
→ Título: "Agregar soporte para temas oscuros"
|
|
→ Slug: "agregar-soporte-para-temas-oscuros"
|
|
```
|
|
|
|
#### 3. Crear archivo de issue
|
|
|
|
Usar template `.claude/templates/issue.md` y completar:
|
|
|
|
```markdown
|
|
# NNNN — [Título]
|
|
|
|
## Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **ID** | NNNN |
|
|
| **Estado** | 🟡 pendiente |
|
|
| **Prioridad** | media |
|
|
| **Tipo** | feature |
|
|
|
|
## Dependencias
|
|
|
|
| ID | Título | Estado | Requerido |
|
|
|----|--------|--------|-----------|
|
|
| - | - | - | - |
|
|
|
|
**Bloqueada por:** Ninguna
|
|
|
|
**Desbloquea:** (a determinar)
|
|
|
|
---
|
|
|
|
## Objetivo
|
|
|
|
[Texto del parámetro --text]
|
|
|
|
## Contexto
|
|
|
|
(A completar durante implementación)
|
|
|
|
## Tareas
|
|
|
|
- [ ] (A detallar durante implementación con /issues:fix-issue)
|
|
|
|
---
|
|
|
|
## Criterios de aceptación
|
|
|
|
- [ ] Tests pasando
|
|
- [ ] Documentación actualizada
|
|
- [ ] Issue movida a completed/
|
|
|
|
---
|
|
|
|
## Notas de implementación
|
|
|
|
[Notas que surjan durante la implementación]
|
|
```
|
|
|
|
#### 4. Actualizar índice
|
|
|
|
Agregar línea en `dev/issues/README.md`:
|
|
|
|
```markdown
|
|
- [ ] [NNNN](NNNN-slug.md) — [Título] (pendiente)
|
|
```
|
|
|
|
#### 5. Crear commits y mergear
|
|
|
|
**Sin pedir confirmación**, ejecutar:
|
|
|
|
```bash
|
|
# Crear rama
|
|
git checkout -b quick/issues:quick-issue-NNNN
|
|
|
|
# Commitear
|
|
git add dev/issues/NNNN-slug.md dev/issues/README.md
|
|
git commit -m "docs: crear issue NNNN-slug" -m "Issue NNNN: [Título]
|
|
|
|
Creado desde TUI con quick-issue.
|
|
|
|
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
|
|
|
Co-Authored-By: Claude <noreply@anthropic.com>"
|
|
|
|
# Mergear
|
|
git checkout master
|
|
git pull --rebase
|
|
git merge --no-ff quick/issues:quick-issue-NNNN -m "merge: quick/issues:quick-issue-NNNN — [título]"
|
|
|
|
# Push
|
|
git push
|
|
|
|
# Limpiar
|
|
git branch -d quick/issues:quick-issue-NNNN
|
|
```
|
|
|
|
#### 6. Reportar resultado
|
|
|
|
Informar al usuario con formato claro:
|
|
|
|
```
|
|
✓ Issue NNNN-slug creado e integrado
|
|
|
|
Título: [Título]
|
|
Archivo: dev/issues/NNNN-slug.md
|
|
|
|
Para implementar:
|
|
/issues:fix-issue NNNN
|
|
```
|
|
|
|
## Convenciones
|
|
|
|
- **Auto-detección**: workspace y número de issue
|
|
- **Sin confirmación**: flujo completamente automático
|
|
- **Trunk-based**: rama quick/ y merge inmediato
|
|
- **Template simple**: detalles se completan durante /fix-issue
|
|
- **Commits atómicos**: issue + índice en un solo commit
|
|
|
|
## Troubleshooting
|
|
|
|
### Error: "Missing --text parameter"
|
|
|
|
**Causa:** El comando fue invocado sin el parámetro `--text`.
|
|
|
|
**Solución:** Este comando debe ser invocado automáticamente por la TUI. No invocar manualmente.
|
|
|
|
### Error: "Working tree not clean"
|
|
|
|
**Causa:** Hay cambios pendientes.
|
|
|
|
**Solución:**
|
|
```bash
|
|
git status
|
|
git stash
|
|
# Reintentar desde TUI
|
|
git stash pop
|
|
```
|
|
|
|
## Reglas críticas
|
|
|
|
- **SIEMPRE auto-detectar número de issue** - no pedirlo
|
|
- **USAR --text como título completo** - no truncar
|
|
- **NO pedir confirmación** - flujo automático
|
|
- **Template minimalista** - los detalles se agregan en /fix-issue
|
|
- **REPORTAR resultado claramente** - mostrar número y path del issue
|