Files
repo_Claude/.claude/commands/issues/status.md
T

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

  1. Parsear argumentos del comando según la sintaxis arriba
  2. Llamar app.IssuesDashboardCommand(config, filterWorkspace, filterStatus, filterTag, exportFormat)
  3. 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:

  1. Mostrar el dashboard completo con sugerencias
  2. Preguntar: "¿Ver detalle de un workspace? (nombre o 'n' para salir)"
  3. Si el usuario responde con un nombre de workspace:
    • Obtener issues del workspace con shell.ListIssuesInWorkspace(workspacePath)
    • Renderizar con app.RenderWorkspaceDetail(workspace, issues)
  4. Si responde 'n' o vacío, terminar

Manejo de errores

  • Si ReposBasePath no 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