Files
repo_Claude/.claude/commands/issues/auto-fix.md
T

6.5 KiB

version, updated, tags
version updated tags
2.0.0 2026-03-11
issues
implementation
workflow
automation

Command: auto-fix-issue

Implementa un issue completo automáticamente sin pedir confirmación antes de integrar a master.

Para el usuario

Cuándo usar este comando

Usar cuando estés completamente seguro de que el issue puede implementarse automáticamente sin revisión manual. El comando ejecuta todo el flujo (crear rama, implementar, testear, cerrar issue, integrar) sin pausar para confirmación.

⚠️ Advertencia: Este comando no pide confirmación antes de integrar a master. Si no estás seguro, usa /issues:fix-issue en su lugar.

Sintaxis

/issues:auto-fix <NNNN>
/issues:auto-fix <NNNN>-<slug>

Ejemplos

Ejemplo 1: Issue simple automatizado

/issues:auto-fix 0013

Implementa issue 0013 completo y lo integra a master sin pausar.

Ejemplo 2: Por slug completo

/issues:auto-fix 0013-hot-reload

Implementa exactamente dev/issues/0013-hot-reload.md automáticamente.

Para Claude

Precondiciones

Verificar antes de ejecutar:

  • Directorio dev/issues/ existe
  • Directorio dev/issues/completed/ existe
  • Archivo dev/issues/README.md existe
  • Tests configurados (go test disponible)
  • Working tree limpio

Inputs

Se necesita el issue objetivo. Si no se proporciona, preguntar:

  • issue: número o nombre (ej: 0010 o 0010-access-control)

Flujo obligatorio

1-9. Implementar el issue (igual que /issues:fix-issue)

Seguir los pasos 1-9 de /issues:fix-issue:

  1. Resolver el issue objetivo (verificar que existe)
  2. Leer completo el issue y extraer información
  3. Crear rama de trabajo issue/<NNNN>-<slug>
  4. Planificar con TodoWrite
  5. Implementar el issue completo (todas las tareas)
  6. Ejecutar tests obligatorios
  7. Evaluar feature flags (si aplica)
  8. Cerrar el issue (mover a completed/)
  9. Mostrar resumen y confirmarSKIP

⚠️ DIFERENCIA CLAVE: NO mostrar resumen ni pedir confirmación. Continuar directamente al paso 10.

10. Integración automática a master

SIN pedir confirmación, ejecutar el flujo completo de integración:

{{include: git-update-master}} {{include: run-tests}} {{include: git-merge-to-master}}

10.1. Verificar estado final de la rama
git status --short
git log --oneline master..HEAD

Asegurar que:

  • No hay cambios pendientes (todo commiteado)
  • Hay al menos 1 commit (la implementación)
  • Tests pasaron en paso 6
10.2. Checkout a master y actualizar
git checkout master
git pull --rebase
10.3. Re-ejecutar tests (verificación final)
go test -tags goolm ./...

Si fallan:

  • STOP y reportar error al usuario
  • No integrar código roto
  • Usuario debe revisar y corregir manualmente

Si pasan o no aplican:

  • ✓ Continuar
10.4. Merge a master con --no-ff
git merge --no-ff issue/<NNNN>-<slug> -m "merge: issue/<NNNN>-<slug> — <título del issue>" -m "Implementa issue <NNNN>: <título>

Todas las tareas completadas:
<lista breve de lo implementado>

Tests: pasando
Issue: movido a dev/issues/completed/

Integración automática via /issues:auto-fix"
10.5. Push a remoto
git push

Si falla:

  • Error "rejected - non-fast-forward" → alguien pusheó antes
  • Solución: git pull --rebase && git push
  • Si hay conflictos, reportar al usuario para resolución manual
10.6. Limpiar rama local
git branch -d issue/<NNNN>-<slug>

Verificación final

Informar al usuario con resumen completo:

✓ Issue <NNNN>-<slug> completado e integrado a master automáticamente

Rama: issue/<NNNN>-<slug> (mergeada y limpiada)
Commits integrados: <N>
Tests: pasando
Issue: movido a dev/issues/completed/

Archivos modificados:
<lista de archivos principales>

Master actualizado y sincronizado con remoto.

NOTA: Integración automática sin confirmación previa.

Convenciones

  • Sin confirmación: diferencia clave con /issues:fix-issue
  • Flujo idéntico: usa la misma lógica de implementación
  • Tests obligatorios: STOP si fallan, no integrar código roto
  • Commits durante implementación: no al final
  • Mismas reglas de calidad: no tomar atajos por ser automático

Troubleshooting

Error: "Issue not found"

Causa: El archivo del issue no existe en dev/issues/

Solución:

ls dev/issues/
# Verificar número o slug correcto
# O crear el issue primero con /issues:create-issue

Error: "Tests failing during merge"

Causa: Tests fallaron en la verificación final antes de merge

Solución: El comando se detiene automáticamente. La rama issue/<NNNN>-<slug> sigue existiendo con todos los cambios.

Para continuar:

  1. Cambiar a la rama:
git checkout issue/<NNNN>-<slug>
  1. Ver qué tests fallan:
go test -v -tags goolm ./...
  1. Corregir el problema y commitear fix

  2. Ejecutar /git:push manualmente para completar integración

Error: "Merge conflict during rebase/merge"

Causa: Alguien más modificó archivos que también modificaste

Solución: El comando se detiene. Resolver manualmente:

  1. Ver conflictos:
git status
  1. Resolver conflictos en cada archivo

  2. Completar merge:

git add <archivos-resueltos>
git commit
git push
git branch -d issue/<NNNN>-<slug>

Error: "Working tree not clean at start"

Causa: Hay cambios sin commitear al iniciar el comando

Solución:

git status
# Commitear o hacer stash de cambios
git stash
/issues:auto-fix <NNNN>
git stash pop

Advertencia: "Implementation incomplete"

Causa: El comando implementó parcialmente pero no todas las tareas del issue

Solución: Esto NO debería ocurrir. Si ocurre:

  1. Revisar el issue para ver qué faltó
  2. Completar manualmente las tareas faltantes
  3. Usar /git:push para integrar
  4. Reportar el problema para mejorar el comando

Reglas críticas

  • NO pedir confirmación: este es el comportamiento esperado
  • MISMA calidad que /issues:fix-issue: no tomar atajos
  • STOP si tests fallan: no integrar código roto nunca
  • Implementar TODAS las tareas: no parcial
  • Respetar arquitectura: pure core / impure shell
  • Commits atómicos: durante implementación, no al final
  • SIEMPRE usar -tags goolm: en build y test
  • Informar claramente: mostrar qué se hizo y resultado
  • NO inventar soluciones: seguir tareas del issue estrictamente
  • Manejo de errores: si algo falla, detener y reportar al usuario