Saltar al contenido principal
Este artículo se basa en la investigación del código fuente. Todavía no existe documentación oficial y es un repositorio previo al lanzamiento (a fecha de abril de 2026).

¿Qué es Maestro?

Laravel Maestro es un orquestador monorepo para gestionar de forma centralizada la familia de starter kits de Laravel. Los starter kits de Laravel tienen múltiples stacks: React, Vue, Svelte (Inertia) y Livewire, y además existen más de 15 variantes que combinan el método de autenticación (Fortify, WorkOS) y opciones (Teams, Blank) para cada uno. Maestro proporciona un mecanismo que gestiona todas esas variantes en un solo repositorio y refleja automáticamente los cambios en cada repositorio de starter kit.

¿Qué problema resuelve?

Cuando los starter kits están divididos en muchas variantes, reflejar una única corrección en todas las variantes se vuelve engorroso. Por ejemplo, sacar PRs individuales de una corrección de validación de un formulario de autenticación en React, Vue, Svelte y Livewire es ineficaz. Maestro resuelve este problema con una “estructura jerárquica de capa compartida y capa de variante”. El orquestador determina en qué capa debe añadirse el cambio y se aplica automáticamente en el lugar más adecuado.

Variantes de los starter kits

Los starter kits que Maestro gestiona se componen de dos stacks.

Stack Livewire (6 variantes)

VarianteDescripción
BlankConfiguración mínima sin autenticación
FortifyAutenticación mediante Laravel Fortify
Fortify (Multi-file Components)Configuración con vistas Blade separadas en archivos de componentes
Fortify (Teams)Autenticación Fortify + soporte de Teams
WorkOSAutenticación mediante WorkOS
WorkOS (Teams)Autenticación WorkOS + soporte de Teams

Stack Inertia (15 variantes)

Existen 15 variantes en total como combinación de 3 frameworks (React, Vue, Svelte) × Blank/Fortify/WorkOS × con o sin Teams.

Estructura del repositorio

laravel/maestro/
├── orchestrator/    # App Laravel que gestiona el build
│   ├── app/Console/Commands/BuildCommand.php
│   ├── app/Enums/StarterKit.php
│   └── scripts/
├── kits/            # Archivos fuente de los starter kits
│   ├── Shared/      # Archivos comunes a todas las variantes
│   ├── Livewire/    # Archivos específicos de Livewire
│   └── Inertia/     # Archivos específicos de Inertia (React/Vue/Svelte)
└── browser_tests/   # Pruebas de navegador
    ├── bootstrap/
    ├── common/
    └── teams/
El propio directorio orchestrator es una aplicación Laravel que gestiona la construcción y ejecución de los starter kits.

Sistema de jerarquía de archivos

El núcleo de Maestro es el mecanismo de “apilar capas para ensamblar un starter kit”. En el caso de Livewire (Fortify), los archivos se copian en el siguiente orden y las capas posteriores sobrescriben a las anteriores. Gracias a esta jerarquía queda una regla clara: “los cambios comunes a todos los kits van en Shared/; los específicos de Livewire, en Livewire/”.

Flujo de contribución

Las contribuciones a los starter kits se hacen en este repositorio Maestro, no en los repositorios individuales de cada starter kit.
1

Ve al directorio orchestrator y construye el kit

cd orchestrator
php artisan build
Selecciona el kit objetivo y la variante de autenticación mediante prompts interactivos. También puedes indicarlos directamente con flags.
php artisan build --kit=vue
php artisan build --kit=react --workos
php artisan build --kit=livewire --teams
php artisan build --kit=vue --workos --teams
2

Arranca el kit construido

composer kit:run
El servidor de desarrollo de Laravel y un file watcher arrancan a la vez. Los cambios realizados en el directorio build/ se copian automáticamente al lugar adecuado de kits/.
3

Haz cambios y pruébalos

Edita archivos dentro del directorio build/. El watcher detecta los cambios y los refleja automáticamente en el directorio kits/.
4

Crea el PR

Confirma los cambios sobre el directorio kits/ y crea el PR. Al hacer merge, Maestro hace push automáticamente de los cambios a cada repositorio de starter kit.
El directorio build/ está en gitignore. Haz todos los cambios dentro de build/, deja que el watcher los sincronice a kits/ y luego haz commit.

Otros comandos de desarrollo

Lint

# Ejecuta Pint en kits y browser_tests (solo PHP)
composer kits:pint

# Lint de PHP + lint de frontend para cada variante Inertia
composer kits:lint

# Restringir a un framework concreto
composer kits:lint -- --vue
composer kits:lint -- --react --svelte

Pruebas de navegador

# Ejecuta las pruebas de navegador de todas las variantes
composer kits:browser-tests

# Restringir a un framework o variante concreta
composer kits:browser-tests -- --vue
composer kits:browser-tests -- --livewire --fortify
Las pruebas de navegador funcionan con Pest + Playwright. Los tests del directorio browser_tests/ están organizados en 3 capas: bootstrap/ (config común), common/ (para Fortify) y teams/ (para Teams).

Filtrado con flags

Cada comando puede combinar las flags --livewire, --react, --svelte, --vue con --blank, --fortify, --workos y --teams para restringir el objetivo.
# Comprobar solo las variantes Fortify de Vue y Svelte
composer kits:check -- --vue --svelte --fortify

# Solo variantes WorkOS de todos los frameworks
composer kits:check -- --workos

Configuración de variables de entorno de WorkOS

Cuando construyas y ejecutes variantes WorkOS, configura el client ID y la API key de WorkOS en orchestrator/.env. Durante el build, esos valores se copian al archivo .env del directorio build/.
# orchestrator/.env
WORKOS_CLIENT_ID=your_client_id
WORKOS_API_KEY=your_api_key

Estado actual de desarrollo

  • Repositorio de GitHub: laravel/maestro
  • Release oficial: no (no hay tags ni releases publicadas)
  • Último commit: abril de 2026 (en desarrollo activo)
  • Versión de PHP requerida: ^8.2
  • Versión de Laravel: ^13.0
Maestro no es un paquete dirigido al usuario final, sino que funciona como infraestructura de desarrollo para el equipo de Laravel y los contribuidores. Los propios starter kits (laravel/starter-kit-react, etc.) se generan y gestionan desde este monorepo mediante Maestro.

Repositorio laravel/maestro

Si te interesa contribuir a los starter kits, comienza revisando el README de Maestro.

Documentación oficial de los starter kits de Laravel

Para el uso de los propios starter kits, consulta la documentación oficial.
Última modificación el 13 de julio de 2026