Files
repo_Claude/.claude/commands/issues/quick-issue.md
T

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