Crear un proyecto Laravel con Sail, Pest, Pint y Larastan
Hola, bienvenido. En esta lección vamos a crear invoices, el proyecto Laravel sobre el que vamos a trabajar durante todo el curso. Lo vamos a levantar con Sail y MySQL, le vamos a añadir Pest 5, Larastan y Pint, vamos a juntar los 3 en un script composer qa y vamos a terminar con el primer commit. Es una lección de trámite y la vamos a agilizar lo máximo posible, pero hay 2 decisiones que conviene que entiendas, porque el resto del curso se apoya en ellas.
La primera es el circuito de calidad. ¿Por qué montar Pint, Larastan y Pest antes de tener una sola línea de negocio? Porque la idea del curso es que la seguridad se compruebe sola cada vez que un agente toca algo, y para eso necesitamos una orden única que diga si el proyecto está sano: composer qa. Hoy encadena el formato, el análisis estático y los tests; desde la lección 4 le añadiremos los tests de seguridad, en la sección 3 entrará composer audit, y al terminar el curso será lo que el agente ejecute solo después de cada cambio. La segunda es Git. Lo inicializamos aquí, antes de que exista la aplicación, porque en la lección 9 veremos que un secreto que ha entrado en el historial ya no se borra, y para eso el commit de la aplicación tiene que existir, y en la lección 20 el agente que audita el proyecto parte de un árbol limpio.
Requisitos y versiones
Para seguir esta lección necesitas Docker en marcha, Git y una terminal, que en macOS o Linux es la tuya y en Windows es la de WSL2. No necesitas PHP ni Composer en tu máquina, porque todo corre dentro de los contenedores de Sail. Si trabajas en Windows y todavía no tienes WSL2, Docker y Sail funcionando juntos, pasa antes por el curso WSL 2 en Windows con Laravel Sail (se abre en una pestaña nueva), porque aquí lo damos por hecho.
Estas son las versiones con las que está escrito el curso, estables a septiembre de 2026:
| Herramienta | Versión | Para qué la usamos |
|---|---|---|
| Laravel | 13 | El proyecto |
| PHP | 8.5 | La versión que levanta Sail por defecto |
| Laravel Sail | 1 | El entorno de Docker, con MySQL |
| Composer | 2.10 | El de dentro del contenedor; su política de seguridad la veremos en la sección 3 |
| Pest | 5 | Los tests, incluidos los de seguridad |
| Larastan | 3 | El análisis estático, sobre PHPStan |
| Laravel Pint | 1 | El formato del código |
No vamos a instalar ningún starter kit: la autenticación la trae la aplicación de la lección siguiente, con un login mínimo, y así el proyecto se queda pequeño y transparente, que es lo que necesitamos para ver cada fallo con claridad. Tampoco entra Rector: el circuito de este curso es Pint, Larastan y Pest, y más adelante composer audit.
- 02Crear invoices con Sail
- 03Los CLAUDE.md y AGENTS.md del esqueleto
- 04Pest 5 en lugar de PHPUnit
- 05Larastan para el análisis estático
- 06Pint con las reglas del proyecto
- 07El script composer qa
- 08La primera pasada
- 09Git y el primer commit