josemoreupeso.es
ar4-recomendaciones.md — TLOTP
# 👑 AR4 - La Visión del Palantír Real: Motor de Recomendaciones

## Intro de ejecución

```
👑 Aragorn consulta el Palantír del Rey...
   Viendo el stack del Fuerte y los guerreros que mejor lo servirían.
   Analizando el proyecto y consultando marketplaces.
```

---

## Paso 1 — Detectar stack tecnológico

Ejecutar para detectar qué tecnologías usa el proyecto:

```bash
ls composer.json package.json requirements.txt pyproject.toml go.mod Cargo.toml pom.xml build.gradle playwright.config.ts phpunit.xml behat.yml .github/workflows/ Dockerfile docker-compose.yml 2>/dev/null
```

Para cada fichero encontrado, leer y extraer tecnologías:

**`composer.json`** → PHP
```bash
cat composer.json 2>/dev/null
```
- `symfony/` en require → **Symfony**
- `laravel/` → **Laravel**
- `doctrine/` → **Doctrine**
- `phpunit/` → **PHPUnit**

**`package.json`** → Node/JS/TS
```bash
cat package.json 2>/dev/null
```
- `typescript` → **TypeScript**
- `react` → **React**
- `next` → **Next.js**
- `vue` → **Vue**
- `@playwright/test` → **Playwright**

**`requirements.txt` / `pyproject.toml`** → **Python**
- `django` → **Django**
- `fastapi` → **FastAPI**
- `pytest` → **pytest**

**`go.mod`** → **Go**
**`Cargo.toml`** → **Rust**
**`playwright.config.ts`** → **Playwright E2E**
**`phpunit.xml`** → **PHPUnit**
**`behat.yml`** → **Behat BDD**
**`.github/workflows/`** → **GitHub Actions**

---

## Paso 2 — Consultar marketplaces (WebFetch)

Reutilizar datos de sesión si ya se consultaron en AR3.
Si no, hacer WebFetch a:
```
WebFetch: https://raw.githubusercontent.com/VoltAgent/awesome-claude-code-subagents/main/README.md
```

---

## Paso 3 — Matching stack → agentes y superpowers

Para cada tecnología detectada, aplicar estas reglas de matching.
**Excluir siempre** agentes ya instalados (comparando con AR1).

### Agentes recomendados por stack

| Stack detectado | Agentes recomendados | Por qué |
|-----------------|----------------------|---------|
| PHP / Symfony | `symfony-expert`, `php-refactor` | Experto en la arquitectura del proyecto |
| PHP / Laravel | `laravel-expert` | Especialista en Laravel |
| PHPUnit | `phpunit-generator` | Acelera la cobertura de tests |
| Behat | `behat-scenario-writer` | Genera escenarios BDD |
| TypeScript | `typescript-expert`, `type-checker` | Mejora tipado y refactor |
| React | `react-component-generator` | Genera componentes con buenas prácticas |
| Next.js | `nextjs-expert` | Optimizaciones y patrones Next.js |
| Playwright | `playwright-test-writer` | Genera E2E tests automáticamente |
| Python | `python-expert` | Mejoras de código Python |
| Django | `django-expert` | Patrones y optimizaciones Django |
| FastAPI | `fastapi-expert` | APIs rápidas con FastAPI |
| GitHub Actions | `github-actions-optimizer` | Optimiza workflows CI/CD |
| Docker | `dockerfile-optimizer` | Mejora Dockerfiles y compose |
| Go | `go-expert` | Patrones idiomáticos de Go |
| Rust | `rust-expert` | Ownership, lifetimes, patrones Rust |

### Superpowers recomendados por stack (commands y hooks de aitmpl.com)

| Stack detectado | Superpower | Tipo | Por qué |
|-----------------|------------|------|---------|
| PHP / Symfony | `symfony-lint` | command | Lanza PHPStan/CS-Fixer con un slash command |
| PHPUnit | `run-tests` | command | Ejecuta la suite de tests con `/run-tests` |
| Playwright | `e2e-run` | command | Lanza E2E con filtro por tag o título |
| Git (siempre) | `pre-commit-lint` | hook | Linting automático antes de cada commit |
| Git (siempre) | `post-commit-notify` | hook | Notificación tras commit exitoso |
| GitHub Actions | `ci-status` | command | Consulta estado del CI con `/ci-status` |
| Docker | `docker-clean` | command | Limpia imágenes y containers con un comando |
| Cualquier proyecto | `review-before-commit` | hook | Ejecuta code-reviewer agent en PreToolUse Bash |

---

## Paso 4 — Mostrar recomendaciones

```
💡 RECOMENDACIONES PARA TU PROYECTO
══════════════════════════════════════════════════════

Stack detectado: PHP/Symfony · PHPUnit · Playwright · GitHub Actions

🤖 Agentes recomendados:
──────────────────────────────────────────────────────

  ⭐ symfony-expert  [VoltAgent / 08-backend]
     🎯 Por qué: Tu proyecto usa Symfony — conoce su arquitectura a fondo
     📝 Qué hace: Analiza services, repositorios, bundles y queries Doctrine
     💡 Ejemplo: "Analiza UserRepository y sugiere mejoras de rendimiento"

  ⭐ phpunit-generator  [VoltAgent / 02-testing]
     🎯 Por qué: Tienes phpunit.xml — acelera la cobertura de tests
     📝 Qué hace: Genera tests PHPUnit con mocks y fixtures automáticamente
     💡 Ejemplo: "Genera tests para OrderService cubriendo casos edge"

  ⭐ playwright-test-writer  [VoltAgent / 02-testing]
     🎯 Por qué: Tienes Playwright configurado — genera E2E sin esfuerzo
     📝 Qué hace: Escribe tests E2E siguiendo Page Object Model
     💡 Ejemplo: "Genera el test E2E del flujo de checkout"

✨ Superpowers recomendados:
──────────────────────────────────────────────────────

  ✨ run-tests  [aitmpl.com / commands]  — slash command
     🎯 Por qué: Tienes PHPUnit — ejecuta tests con /run-tests
     📝 Qué hace: Slash command que lanza la suite y muestra fallos
     💡 Uso: /run-tests  o  /run-tests OrderServiceTest

  ✨ e2e-run  [aitmpl.com / commands]  — slash command
     🎯 Por qué: Tienes Playwright — lanza E2E sin recordar el comando
     📝 Qué hace: Ejecuta Playwright con filtro por tag o título
     💡 Uso: /e2e-run @checkout

  ✨ pre-commit-lint  [aitmpl.com / hooks]  — hook PreCommit
     🎯 Por qué: Previene commits con errores de estilo
     📝 Qué hace: Lanza linter automáticamente antes de cada commit
     ⚙️  Instalación: vía Palantír (gestión de hooks)

══════════════════════════════════════════════════════
📊 3 agentes + 3 superpowers recomendados
```

Si no hay recomendaciones tras el matching:
```
👑 El Fuerte ya está bien equipado o usa tecnologías poco comunes.
   Puedes explorar el marketplace manualmente (Buscar en marketplaces).
```

---

## Paso 5 — Ofrecer instalación

Tras mostrar recomendaciones, **usar AskUserQuestion**:
- Instalar agentes recomendados (ir a AR5 con lista pre-cargada)
- Instalar superpowers recomendados (ir a AR10)
- Instalar todo (agentes primero via AR5, luego superpowers via AR10)
- Volver al menú de Aragorn