Una aplicación Laravel hecha con un agente de IA: el proyecto invoices
Hola, bienvenido. En esta lección vamos a añadir al proyecto invoices el código de partida del curso, tal como lo dejó un agente de IA. Es una aplicación Laravel de facturas: cada usuario tiene sus clientes, cada cliente tiene sus facturas y cada factura puede llevar un adjunto. Vamos a recorrerla archivo a archivo, la vamos a probar en el navegador y vamos a terminar con un commit.
¿De dónde sale este código? Un agente lo escribió a partir de una especificación y de un plan, y después pasó una revisión normal. Se leyó el código, se probó la aplicación y composer qa terminó en verde. Tiene policies, form requests, factories, un seeder y tests que pasan: es el tipo de código que aceptarías en tu proyecto.
Si te interesa cómo se escribe la especificación y cómo se guía al agente para que la implemente, la tienes en el curso Spec-Driven Development en Laravel con IA (se abre en una pestaña nueva), aquí vamos a ir por lo que nos interesa.
Ya sabes por la lección 1 que esta aplicación trae 6 fallos, y de momento, en esta lección, no te voy a señalar ninguno. Si quieres, recórrela como revisarías el trabajo de un agente y apunta lo que te llame la atención: en la sección 2 los vamos a ver uno a uno. Es la lección con más código del curso y la de menos explicación, así que vamos a ello.
La especificación y el plan del agente
Partimos de invoices tal como lo dejamos en la lección anterior, con los contenedores de Sail levantados, composer qa en verde y el primer commit hecho. Cada bloque de código de esta lección es un archivo completo con su ruta. Lo que tiene su comando make: en Artisan, como los modelos, los controladores, las vistas o los tests, lo creamos primero con ese comando, como en cualquier proyecto Laravel. Después sustituimos lo que ha generado por el contenido de la lección. El resto, como los documentos de docs/, lo creas a mano, y si el archivo ya existe, sustituyes todo su contenido.
Lo primero son los 2 documentos con los que trabajó el agente, que se quedan en docs/ como parte del proyecto. La especificación dice qué tiene que hacer la aplicación:
El plan es la lista de tareas que el agente preparó a partir de la especificación y que fue marcando según las terminaba. La última está sin marcar: es lo siguiente que iba a hacer.
- 02Las migraciones y los modelos
- 03Factories y seeder
- 04El login
- 05Clientes
- 06Facturas y adjuntos
- 07La configuración del servicio de PDF
- 08Los tests del agente
- 09Probar la aplicación
- 10El commit del agente