Crear el proyecto Laravel con Sail para trabajar con Claude Code
Hola, bienvenido. En la lección anterior arrancamos Claude Code por primera vez en una carpeta de pruebas, y en esta lección vamos a crear claude-tasks, el proyecto Laravel sobre el que vamos a trabajar durante el resto del curso. Lo vamos a levantar con Sail, le vamos a añadir el circuito de calidad que nos va a servir de semáforo, con Pest, Larastan, Rector y Pint, lo vamos a juntar todo en un script composer qa y vamos a terminar con el primer commit. Fíjate en que en esta lección no abrimos Claude Code: primero el proyecto tiene que arrancar y pasar sus tests, y después ya entrará el agente.
¿Por qué en ese orden? Porque si Claude entra en un entorno roto, va a gastar tiempo y tokens diagnosticando problemas que no tienen nada que ver con lo que le pides, y tú no vas a saber si el fallo es suyo o del entorno. Mi regla es sencilla: no abro Claude Code en un proyecto hasta que arranca y los tests base pasan. Y el circuito de calidad va desde el primer día por un motivo muy práctico, porque Claude Code trabaja mucho mejor cuando puede ejecutar una orden única y obtener un resultado claro, y composer qa va a ser esa orden: si pasa, seguimos, y si falla, investigamos antes de acumular deuda.
Requisitos y versiones del proyecto
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, igual que en las lecciones de instalación. No necesitas PHP ni Composer instalados en tu máquina, porque todo lo que vamos a ejecutar corre dentro de contenedores. Si todavía no tienes WSL2, Docker y Sail funcionando juntos en Windows, te recomiendo que antes pases 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 (framework 13.33) | El proyecto |
| PHP | 8.5 | La versión que levanta Sail por defecto |
| Laravel Sail | 1.68 | El entorno de Docker |
| Pest | 5.2, con pest-plugin-laravel 5.0 | Los tests |
| Larastan | 3.12 | El análisis estático, sobre PHPStan |
| Rector | 2.6, con rector-laravel 2.6 | Refactorizaciones automáticas, solo en modo comprobación |
| Laravel Pint | 1.32 | El formato del código |
Como ya te conté en la primera lección, claude-tasks es pequeño a propósito, porque no quiero que el dominio se coma el curso. En esta lección no vamos a escribir ni una línea de lógica de negocio: solo vamos a dejar el esqueleto de Laravel con sus herramientas, para que, cuando Claude toque algo, tengamos una forma objetiva de saber si el cambio es bueno o solo lo parece.
- 02Crear claude-tasks con Sail
- 03Los CLAUDE.md y AGENTS.md que trae Laravel
- 04Pest 5 en lugar de PHPUnit
- 05Larastan para el análisis estático
- 06Rector, solo en modo comprobación
- 07Pint con las reglas del proyecto
- 08El script composer qa
- 09La primera pasada: Rector y Pint proponen cambios
- 10Git y el primer commit