--- name: cleanup-worktrees description: Limpia worktrees y ramas locales después de merge argument-hint: | --all disable-model-invocation: true user-invocable: true allowed-tools: Bash, Read --- # cleanup-worktrees Elimina worktrees y sus ramas locales asociadas después de haber sido mergeadas. ## Sintaxis ```bash /cleanup-worktrees # Limpiar worktree específico /cleanup-worktrees --all # Limpiar todos ``` ## Flujo ### 1. Validar argumentos - Número de issue (4 dígitos): limpiar ese worktree - `--all`: limpiar todos en `worktrees/` ### 2. Determinar worktrees a limpiar ```bash # Para issue específica WORKTREE_PATH="worktrees/issue-$ISSUE_NUM" # Para --all find worktrees -maxdepth 1 -type d -name "issue-*" ``` ### 3. Confirmar con usuario ``` Se eliminarán: - worktrees/issue-0003 (rama: quick/fix-issue-0003) ¿Continuar? (y/N): ``` ### 4. Limpiar cada worktree Para cada uno: 1. Verificar si rama fue mergeada 2. Si NO mergeada: advertir y preguntar 3. Eliminar worktree: `git worktree remove --force` 4. Eliminar rama: `git branch -D ` ### 5. Reportar resultado ``` Limpieza completada Worktrees restantes: (ninguno) ``` ## Convenciones - Nomenclatura worktrees: `worktrees/issue-NNNN` - Nomenclatura ramas: `quick/fix-issue-NNNN` - Confirmación interactiva siempre ## Reglas - SIEMPRE verificar merge antes de eliminar - NUNCA eliminar sin confirmación - SIEMPRE usar --force en worktree remove