Cet article s’appuie sur une exploration du code source. La documentation officielle n’existe pas encore, et il s’agit d’un dépôt en pré-release (à la date d’avril 2026).
Qu’est-ce que Maestro ?
Laravel Maestro est un orchestrateur monorepo destiné à gérer, de manière unifiée, les starter kits de Laravel. Les starter kits Laravel se déclinent en plusieurs stacks (React, Vue, Svelte via Inertia, et Livewire), et chacune se combine à différents modes d’authentification (Fortify, WorkOS) et options (Teams, Blank), donnant plus de 15 variantes. Maestro gère toutes ces variantes dans un seul dépôt et propage automatiquement les changements vers chaque dépôt de starter kit.Quels problèmes cela résout-il ?
Quand les starter kits se déclinent en de multiples variantes, appliquer une même correction à toutes devient laborieux. Par exemple, corriger la validation du formulaire d’authentification sur React, Vue, Svelte et Livewire via des PR séparées est peu efficace. Maestro résout ce problème avec une « structure hiérarchique en couche partagée et couche par variante ». L’orchestrateur détermine à quelle couche apporter le changement et l’applique automatiquement au bon endroit.Variantes de starter kits
Maestro gère les starter kits organisés en deux stacks.Stack Livewire (6 variantes)
| Variante | Description |
|---|---|
| Blank | Configuration minimale sans authentification |
| Fortify | Authentification via Laravel Fortify |
| Fortify (Multi-file Components) | Vues Blade séparées en fichiers de composants |
| Fortify (Teams) | Authentification Fortify + support des Teams |
| WorkOS | Authentification via WorkOS |
| WorkOS (Teams) | Authentification WorkOS + support des Teams |
Stack Inertia (15 variantes)
Combinaison des trois frameworks (React, Vue, Svelte) × Blank/Fortify/WorkOS × Teams ou non, soit 15 variantes au total.Structure du dépôt
orchestrator est lui-même une application Laravel qui pilote la compilation et l’exécution des starter kits.
Système de couches de fichiers
Le cœur de Maestro est le mécanisme qui « superpose des couches pour assembler le starter kit ». Pour Livewire (Fortify), les fichiers sont copiés dans l’ordre suivant, les couches ultérieures écrasant les précédentes. Cette hiérarchie établit une règle claire : « les modifications communes à tous les kits vont dansShared/, celles propres à Livewire dans Livewire/ ».
Flux de contribution
Vous contribuez aux starter kits via ce dépôt Maestro, et non via chaque dépôt de starter kit.Se placer dans orchestrator et builder le kit
Lancer le kit compilé
build/ sont automatiquement copiées vers le bon emplacement dans kits/.Modifier et tester
Éditez les fichiers dans le répertoire
build/. Le watcher détecte les changements et les répercute automatiquement dans kits/.Autres commandes de développement
Lint
Tests navigateur
browser_tests/ s’organise en trois couches : bootstrap/ (configuration commune), common/ (pour Fortify) et teams/ (pour Teams).
Filtrage par flags
Chaque commande peut être filtrée en combinant les flags--livewire, --react, --svelte, --vue avec --blank, --fortify, --workos, --teams.
Configuration des variables d’environnement WorkOS
Pour builder et exécuter une variante WorkOS, définissez l’ID client et la clé API WorkOS dansorchestrator/.env. Lors du build, ces valeurs sont copiées dans le .env du répertoire build/.
État actuel du développement
- Dépôt GitHub : laravel/maestro
- Release officielle : aucune (pas de tag/version publiés)
- Dernier commit : avril 2026 (développement actif)
- Version PHP requise : ^8.2
- Version Laravel : ^13.0
laravel/starter-kit-react, etc.) sont générés et maintenus depuis ce monorepo par Maestro.
Dépôt laravel/maestro
Si vous souhaitez contribuer aux starter kits, commencez par consulter le README de Maestro.
Documentation officielle des starter kits Laravel
Pour l’utilisation des starter kits eux-mêmes, consultez la documentation officielle.