3.7 KiB
3.7 KiB
Command: issues:status
Muestra un dashboard global de todas las issues en todos los workspaces, con métricas, filtros y sugerencias de próximas issues a ejecutar.
Para el usuario
Cuándo usar este comando
Usar para obtener una vista consolidada del estado de todas las issues en todos los workspaces. Útil para planificar qué ejecutar a continuación y ver el progreso general.
Sintaxis
/issues:status # Dashboard global completo
/issues:status <workspace> # Detalle de un workspace específico
/issues:status --status pending # Filtrar por estado
/issues:status --tag backend # Filtrar por tag
/issues:status --export json # Exportar a JSON
/issues:status --export csv # Exportar a CSV
Ejemplos
Dashboard global:
/issues:status
Ver solo issues pendientes:
/issues:status --status pending
Ver detalle de un workspace:
/issues:status my-api
Exportar métricas:
/issues:status --export json
Para Claude
Inputs
Parsear argumentos del usuario:
- Primer argumento posicional (sin
--) →filterWorkspace --status <value>→filterStatus(pending | in_progress | completed)--tag <value>→filterTag--export <format>→exportFormat(json | csv)
Flujo
- Parsear argumentos del comando según la sintaxis arriba
- Llamar
app.IssuesDashboardCommand(config, filterWorkspace, filterStatus, filterTag, exportFormat) - Si se solicitó dashboard global (sin filtros), después de mostrar el dashboard preguntar:
- "¿Ver detalle de algún workspace? (nombre o 'n')"
- Si el usuario ingresa un nombre válido, llamar
app.RenderWorkspaceDetail()
Parseo de argumentos
/issues:status → filterWorkspace="", filterStatus="", filterTag="", exportFormat=""
/issues:status my-api → filterWorkspace="my-api"
/issues:status --status pending → filterStatus="pending"
/issues:status --tag backend → filterTag="backend"
/issues:status my-api --status pending → filterWorkspace="my-api", filterStatus="pending"
/issues:status --export json → exportFormat="json"
Lógica de llamada Go
// Cargar config
config, err := app.LoadConfig()
if err != nil {
// Reportar error
}
// Ejecutar dashboard
err = app.IssuesDashboardCommand(config, filterWorkspace, filterStatus, filterTag, exportFormat)
Comandos sugeridos al final
Siempre mostrar al final:
Commands:
/issues:status <workspace> # Detalle de workspace específico
/issues:status --status pending # Solo pendientes
/app:launch <workspace> <issue> # Lanzar una issue sugerida
Modo interactivo (dashboard global)
Cuando se muestra el dashboard global sin filtros:
- Mostrar el dashboard completo con sugerencias
- Preguntar: "¿Ver detalle de un workspace? (nombre o 'n' para salir)"
- Si el usuario responde con un nombre de workspace:
- Obtener issues del workspace con
shell.ListIssuesInWorkspace(workspacePath) - Renderizar con
app.RenderWorkspaceDetail(workspace, issues)
- Obtener issues del workspace con
- Si responde 'n' o vacío, terminar
Manejo de errores
- Si
ReposBasePathno existe: "No se encontraron workspaces. ¿Está configurado DATAFORGE_REPOS?" - Si no hay issues en ningún workspace: Mostrar dashboard vacío con sugerencia de crear issues
- Si exportación falla: Reportar error específico
Notas
- Las stats se calculan escaneando el filesystem y sincronizando con la BD
- La BD actúa como cache — si está desactualizada, el scan la actualiza
- Para workspaces con muchas issues, el scan puede tardar segundos