Cuándo usarlo: Estás iniciando una nueva funcionalidad y quieres que la estructura de capas sea correcta desde el primer día.
Flujo
-
Nombra el contexto
Usa symfony-hexagonal-skill. Genera un contexto acotado 'Billing' con agregado Invoice, comandos issue/void, y una consulta para facturas abiertas.✓ Copiado
→ Carpetas src/Billing/Domain, Application, Infrastructure con separación adecuada
-
Conecta la infraestructura
Añade un adaptador Doctrine para InvoiceRepository detrás del puerto de dominio.✓ Copiado
→ Interfaz en Dominio, implementación en Infraestructura, vinculación en services.yaml
-
Expone mediante controlador
Añade un adaptador HTTP con un endpoint POST /invoices que despache el comando IssueInvoice.✓ Copiado
→ El controlador llama al bus, no al repositorio directamente
Resultado: Un contexto acotado limpio que no se convertirá en código spaghetti en 6 meses.
Errores comunes
- El dominio depende de anotaciones Doctrine — Usa mapeo XML / atributos en Infraestructura, no en entidades de dominio
Cuándo usarlo: Estás revisando un PR y quieres un primer análisis automatizado sobre la estructura de capas.
Flujo
-
Ejecuta el agente de revisión
Usa el agente de revisión symfony-hexagonal-skill en este diff. Señala cualquier importación Doctrine / Symfony FW en Domain/, cualquier llamada directa controller->repository, cualquier fuga ORM en respuestas.✓ Copiado
→ Hallazgos concretos con archivo+línea
-
Sugiere correcciones
Para cada hallazgo, propón el refactor mínimo.✓ Copiado
→ Diffs que introducen un puerto o DTO
Resultado: Un PR que no degrada silenciosamente la arquitectura.
Cuándo usarlo: La reescritura de un solo golpe no es una opción; quieres una limpieza incremental.
Flujo
-
Identifica una costura
Usa symfony-hexagonal-skill. Mira src/Module/Orders — ¿cuál es la menor porción que puedo extraer a un dominio limpio?✓ Copiado
→ Clase específica identificada con plan de extracción
-
Extrae incrementalmente
Guíame a través de la extracción en 3 pasos del tamaño de PR.✓ Copiado
→ Plan por etapas con pruebas preservadas en cada paso
Resultado: Una base de código heredada mejorando, un PR a la vez.
Errores comunes
- Extraer demasiado en un solo paso — Solo porciones de tamaño PR; el agente de revisión del plugin ayuda a controlar cada paso