Automatiza tu Symfony con IA en menos de una hora


7 de mayo de 2026
symfony-command-ui dashboard

Imagina esto.

Entra un producto nuevo en tu catalogo. Una IA lo analiza, decide en que categoria va, le genera una descripcion comercial, lo da de alta en tu base de datos y dispara un email a los clientes que lo estaban esperando. Sin que nadie de IT mueva un dedo.

Lo que estoy describiendo no es ciencia ficcion. Y tampoco es un proyecto de seis meses. Si tienes un Symfony en marcha, toda esa logica probablemente ya esta escrita. Lo que falta es la capa que la haga consumible desde fuera.

Eso es lo que hace symfony-command-ui. Y desde el 5 de mayo es oficial en el ecosistema Symfony.

El problema que tenemos en muchos proyectos

En la mayoria de empresas con un Symfony en produccion pasa lo mismo:

Y aqui esta lo absurdo: la logica YA EXISTE. Esta probada en batalla. Funciona desde hace años. Pero solo es accesible para quien tiene acceso al servidor y se sabe los comandos de memoria. Para todo el mundo, no existe.

Reescribir esa logica como API REST a medida es un proyecto de meses. Y esta mal: estarias duplicando codigo que ya tienes.

La solucion

symfony-command-ui es un bundle que expone los comandos de tu proyecto Symfony a traves de:

Y lo mas importante para un proyecto que ya esta en produccion: no tocas el codigo existente. Sigues teniendo tus comandos de Symfony Console como siempre. Solo le pones encima una capa que los hace consumibles.

El bundle esta probado en produccion en varios proyectos antes de publicarlo. No es un experimento de fin de semana: es un patron que ya esta dando valor en sistemas reales y que llevaba tiempo pidiendo salir a la comunidad.

Casos reales de uso (en lenguaje de negocio)

El dashboard que no tienes que construir

El caso mas basico, y por el que la mayoria de proyectos van a empezar a usarlo.

Imagina que tienes una tienda online de mascotas. En tu Symfony tienes comandos como alta-mascota, importar-stock-proveedor, enviar-newsletter-promo, informe-ventas-semana. Cada vez que añades un comando nuevo, aparece automaticamente en el dashboard: con su formulario, sus opciones, sus dropdowns. Cero codigo de UI, cero documentacion adicional.

La gente de tu negocio (atencion al cliente, marketing, producto) entra al dashboard y ejecuta lo que necesita. Pero aqui esta la parte interesante: no hace falta que entren manualmente. Una IA conectada a la API hace exactamente lo mismo en su nombre.

Y lo importante: la operacion es la misma. Si ejecutas alta-mascota desde la terminal, desde la web o pidiendoselo a la IA, el resultado es identico. No hay "tres caminos paralelos" que mantener: hay un unico comando, expuesto por tres vias. Consistencia total, garantia de comportamiento, cero divergencia entre canales.

Alta de producto end-to-end con IA

Llega un producto nuevo. Un agente de IA, conectado a esta capa, encadena automaticamente: analizar-producto, crear-categoria, alta-producto, generar-descripcion, notificar-clientes.

Cinco comandos que ya tenias en tu Symfony, ejecutados en cadena sin intervencion humana. Lo que antes era una semana de trabajo manual coordinado entre tres equipos pasa a ser un flujo automatico de cinco minutos.

Atencion al cliente sin escalar a IT

Tu equipo de soporte tiene un panel donde puede ejecutar reactivar-cuenta, reenviar-email-confirmacion, consultar-estado-suscripcion. Tareas que antes pedian a desarrollo y ataban a un programador media hora cada vez.

Lo que ganas: tickets de soporte resueltos en minutos, equipo de desarrollo liberado, satisfaccion de cliente.

Marketing y producto autoservicio

lanzar-campaña-newsletter, exportar-clientes-segmento, informe-ventas-mes. Cada equipo ejecuta lo suyo, con un formulario donde elige los parametros (rango de fechas, medio, segmento), y obtiene el resultado al momento.

Lo que ganas: decisiones mas rapidas, tu equipo de IT enfocado en construir, no en lanzar comandos.

Operaciones desde el chat

Conectas el bundle a Slack o Telegram. Alguien escribe en el canal "/exec sincronizar-stock-proveedor". La salida vuelve en streaming al canal. Visibilidad total, trazabilidad total, cero SSH.

Modernizacion de legacy con cabeza

Tienes un Symfony de hace cinco años. Quieres modernizarlo pero no puedes parar el negocio. La estrategia correcta:

  1. Primero exponer. Conectas el bundle. En una tarde tu logica esta accesible para humanos e IA. Valor inmediato sin tocar el codigo.
  2. Despues refactorizar. Con la API publica estable y con tests de integracion comiendo por encima, ya puedes meter DDD por dentro: extraer dominios, limpiar infraestructura, sustituir librerias antiguas. La capa de fuera no cambia, lo de dentro se vuelve mantenible.

Modernizar sin big bang. Sin congelar el roadmap. Sin reescribir nada de cero.

Por que esto deberia venir de serie en Symfony

Symfony Console es brutal. Lleva años siendo la forma estandar de escribir logica operacional en proyectos PHP. La paradoja es que estaba pensada solo para humanos delante de una terminal, en una epoca en la que no era obvio que un agente de IA fuera a querer ejecutar "ese mismo flujo" desde fuera.

En 2026 si que lo es. Cualquier proyecto Symfony deberia poder exponer sus comandos a una IA, a un dashboard interno, a un cliente externo, sin friccion. Que esto no este en el core es una carencia que ahora mismo cada empresa esta tapando con soluciones a medida.

Eso es lo que pretende este bundle. Y por eso me he molestado en publicarlo y mantenerlo.

Lo tecnico, breve

Para quien lo necesite:

composer require pascualmg/symfony-command-ui

y Symfony Flex auto-configura el bundle.

Cerrar el circulo en la era de la IA

Hay otra cosa de fondo que me parece la mas potente, y que es por la que lo comparto con tanta conviccion.

Hasta hace nada, hacer las cosas bien en un proyecto Symfony serio significaba aplicar DDD: separar dominio, casos de uso, infraestructura, tener un modelo limpio. Suficiente para construir software mantenible.

En la era de la IA esto se queda corto. Si un agente IA va a operar tu sistema, lo que importa ya no es solo que el codigo este bien diseñado por dentro. Importa que exista un contrato observable por el que el comportamiento se pueda especificar, testear, ejecutar y auditar. Eso es ATDD: Acceptance Test-Driven Development. Especificar en lenguaje cercano al negocio (Gherkin, Given/When/Then), y tener un canal directo desde esa especificacion hasta el sistema real.

El bundle cierra ese circulo:

  1. Definicion de negocio: producto te dice que tiene que pasar cuando entra un producto nuevo. Lo capturas como un caso de uso.
  2. Test Gherkin: Given que llega un producto del proveedor X, When ejecuto =alta-producto, Then se crea con categoria correcta y se notifica a los clientes=.
  3. Implementacion DDD del comando: dominio limpio, casos de uso bien separados, infraestructura aislada.
  4. Prueba end-to-end real: el test Gherkin llama al comando por la misma API que usa produccion. Mismo path, mismo contrato. Si el test pasa, el flujo funciona de verdad.
  5. Automatizacion al nivel que elijas: humanos via la UI, agentes IA via la API, scripts via curl. Todos consumen el mismo contrato que ya esta testeado.

Esto es lo que en mi experiencia separa a un proyecto que sobrevive a la era de la IA del que se queda atras. No es tener un modelo bonito por dentro: es tener un contrato claro por fuera, y poder testearlo y operarlo con la misma herramienta.

Sobre por que lo comparto

Hace semanas que pense en compartir esta herramienta con el mundo. Pero ya sabemos que un gran poder conlleva una gran responsabilidad, y por eso quise hacerla oficial de Symfony antes de presentarla en publico. No sabia que tardarian tanto en aprobarme la recipe :) pero por fin puedo ya presentarla oficialmente para que la use quien quiera. Eso si, confio que se use para no cargarse empleos sino para mejorar los que hay: liberar tiempo del equipo de desarrollo, dar autonomia a negocio, automatizar lo repetitivo y dejar a las personas para lo que de verdad aporta.

Llevo muchas horas automatizando proyectos Symfony en mi trabajo, y otras tantas haciendo refactor DDD sobre legacy: extraer dominios, sacar casos de uso, sustituir infraestructura sin que el cliente note nada. Esta libreria es la destilacion de ese tiempo: el patron que he visto que funciona, que escala, que no rompe nada cuando lo metes en un proyecto que ya estaba en marcha.

Lo comparto porque me parece util para mucha mas gente que la que lo va a usar dentro de mi empresa. Si tu proyecto Symfony necesita esa capa, dale una vuelta. Si tu equipo necesita modernizar legacy con cabeza, hablamos.

Como contribuir

Este bundle existe porque creo que la comunidad Symfony lo necesita. Si lo usas y te ahorra tiempo, devuelve algo:

El objetivo es una herramienta pequeña y afilada que haga una cosa bien: convertir cualquier Symfony en algo que humanos y agentes IA pueden operar igual. Toda contribucion en esa direccion es bienvenida.

Links

Comparte este post:

Es tu post

Estas seguro? Esto no se puede deshacer.

Comentarios (0)

Sin comentarios todavia. Se el primero!

Deja un comentario