josemoreupeso.es
00-menu-principal.md — TLOTP
# 🌳 Menú Principal - Ents

**Al inicio de la ejecución**, sigue estos pasos en orden:

---

## 📋 PASO 1: Mostrar Banner de Bienvenida

**PRIMERO**: Mostrar el banner de los Ents:

```
╔══════════════════════════════════════════════════════════════╗
║                                                              ║
║      ᛒ ᛇ ᛉ  🌳  E N T S  🌳  ᛉ ᛇ ᛒ                        ║
║                                                              ║
║         Guardianes de las Ramas del Repositorio              ║
║                      TLOTP {VERSION}                         ║
║                                                              ║
║      "No os apresuréis... los árboles más viejos             ║
║       son los que mejor conocen el bosque."                  ║
║                           — Bárbol                           ║
║                                                              ║
╚══════════════════════════════════════════════════════════════╝
```

**IMPORTANTE**: Reemplaza `{VERSION}` con la versión actual cargada desde @prompts/VERSION.md

---

## 📋 PASO 1.2: Mini-guía de los Ents

@prompts/ents/sections/01-mini-guide.md

---

## 📋 PASO 2: Menú Principal

**IMPORTANTE**: **DEBES usar la herramienta `AskUserQuestion`** (NO texto plano).

Ejecuta **AskUserQuestion** con esta configuración EXACTA:

```json
{
  "questions": [
    {
      "header": "Los Guardianes del Bosque",
      "question": "¿Qué misión encomendáis a los Ents hoy?",
      "multiSelect": false,
      "options": [
        {
          "label": "🌳 Convocar la Asamblea",
          "description": "Analizar el CI/CD actual, trazar el mapa del bosque y sugerir mejoras"
        },
        {
          "label": "⚒️ La Marcha sobre Isengard",
          "description": "Aplicar mejoras o cambios al CI/CD existente con asistencia guiada"
        },
        {
          "label": "🌱 Plantar nuevos árboles",
          "description": "Crear workflows de GitHub Actions desde cero con las mejores prácticas"
        },
        {
          "label": "⚔️ Thorin y su Compañía",
          "description": "Convocar un Agent Team CI/CD para analizar y mejorar los workflows en paralelo"
        },
        {
          "label": "🚪 Retirarse al Fangorn",
          "description": "Salir de los Ents y volver al menú de TLOTP"
        }
      ]
    }
  ]
}
```

**NO mostrar menú de texto plano**. Usa la herramienta AskUserQuestion del CLI de Claude.

---

## 🔀 Routing según Elección

### 🌳 Convocar la Asamblea

**Acción**: Antes de iniciar el análisis, preguntar con **AskUserQuestion**:

```json
{
  "questions": [{
    "header": "Consulta a GitHub",
    "question": "Para evaluar la protección de ramas necesito consultar la API de GitHub. ¿Tienes `gh` configurado y deseas que lo haga?",
    "multiSelect": false,
    "options": [
      {
        "label": "✅ Sí, consultar GitHub API",
        "description": "Ejecutaré gh api para obtener las reglas de protección reales de tus ramas"
      },
      {
        "label": "🚫 No, saltar esta comprobación",
        "description": "Marcaré la protección de ramas como ❓ (no verificada)"
      }
    ]
  }]
}
```

Guardar la respuesta en contexto (`gh_disponible: true/false`) y proceder sin más interrupciones.

Ejecutar en orden:
1. **Escaneo** (`02-analyzer.md`) — Detectar todo el CI/CD del proyecto
2. **Diagrama** (`03-diagram-renderer.md`) — Mostrar el mapa del bosque (pipeline visual)
3. **Mejoras** (`04-improvement-engine.md`) — Scoring 0-100 + sugerencias + revisor uno a uno

---

### ⚒️ La Marcha sobre Isengard

**Acción**: Ejecutar sistema de modificación asistida

Procede a ejecutar:
1. **Escaneo rápido** (`02-analyzer.md`) — Detectar CI/CD actual (sin diagrama detallado)
2. **Modificación** (`05-modifier.md`) — Asistir al usuario en los cambios

---

### 🌱 Plantar nuevos árboles

**Acción**: Ejecutar sistema de creación guiada

Procede a ejecutar:
1. **Creación** (`06-creator.md`) — Generar GitHub Actions CI/CD paso a paso

---

### ⚔️ Thorin y su Compañía

**Acción**: Convocar Agent Team CI/CD

Procede a ejecutar:
1. **Convocatoria** (`07-thorin-company.md`) — Detectar/crear team y lanzar misión

@prompts/ents/sections/07-thorin-company.md

---

### 🚪 Retirarse al Fangorn

**Acción**: Volver al menú principal de TLOTP

Mostrar mensaje de despedida:

```
🌳 "Los Ents seguiremos aquí cuando volváis a necesitarnos.
    El bosque tiene buena memoria... muy, muy buena memoria."

                              — Bárbol
```

Cargar: @prompts/tlotp-main.md

---

## ⚠️ Reglas de Ejecución

1. **SIEMPRE mostrar banner** antes del menú (solo la primera vez)
2. **Usar AskUserQuestion** para navegación
3. **Loop continuo** hasta que el usuario elija Retirarse al Fangorn
4. **NO ejecutar múltiples modos** a la vez
5. **NO asumir la opción**: Dejar que el usuario elija

---

*Módulo 00 — Menú Principal de Ents*