Zum Hauptinhalt springen
Dieser Artikel basiert auf einer Quellcode-Analyse. Es existiert noch keine offizielle Dokumentation; das Repository befindet sich vor dem offiziellen Release (Stand: April 2026).

Was ist Maestro?

Laravel Maestro ist ein monorepo-basierter Orchestrator, der die Starterkits von Laravel zentral verwaltet. Bei den Laravel-Starterkits gibt es mehrere Stacks – React, Vue, Svelte (Inertia) und Livewire – und je nach Kombination mit Authentifizierungsmethoden (Fortify, WorkOS) sowie Optionen (Teams, Blank) über 15 Varianten. Maestro verwaltet all diese Varianten in einem einzigen Repository und stellt einen Mechanismus bereit, mit dem Änderungen automatisch in die jeweiligen Starterkit-Repositories übertragen werden.

Welche Probleme werden gelöst?

Sind die Starterkits über viele Varianten verteilt, wird das Übertragen einer einzigen Änderung auf alle Varianten mühsam. Etwa PRs für Validierungsanpassungen im Auth-Formular separat für React, Vue, Svelte und Livewire zu eröffnen, ist ineffizient. Maestro löst dies mit einer „Hierarchie aus gemeinsamen und varianten-spezifischen Ebenen”. Der Orchestrator entscheidet, auf welcher Ebene eine Änderung erfolgt, und wendet sie automatisch an der am besten geeigneten Stelle an.

Varianten der Starterkits

Die von Maestro verwalteten Starterkits verteilen sich auf zwei Stacks.

Livewire-Stack (6 Varianten)

VarianteBeschreibung
BlankMinimalkonfiguration ohne Authentifizierung
FortifyAuthentifizierung per Laravel Fortify
Fortify (Multi-file Components)Blade-Views in Komponenten-Dateien aufgeteilt
Fortify (Teams)Fortify-Auth mit Teams-Unterstützung
WorkOSAuthentifizierung per WorkOS
WorkOS (Teams)WorkOS-Auth mit Teams-Unterstützung

Inertia-Stack (15 Varianten)

Insgesamt 15 Varianten aus der Kombination der drei Frameworks React, Vue, Svelte × Blank, Fortify, WorkOS × mit/ohne Teams.

Struktur des Repositories

laravel/maestro/
├── orchestrator/    # Laravel-App, die den Build steuert
│   ├── app/Console/Commands/BuildCommand.php
│   ├── app/Enums/StarterKit.php
│   └── scripts/
├── kits/            # Quelldateien der Starterkits
│   ├── Shared/      # Für alle Varianten gemeinsame Dateien
│   ├── Livewire/    # Livewire-spezifische Dateien
│   └── Inertia/     # Inertia-spezifische Dateien (React/Vue/Svelte)
└── browser_tests/   # Browser-Tests
    ├── bootstrap/
    ├── common/
    └── teams/
Das Verzeichnis orchestrator ist selbst eine Laravel-Anwendung, die Build und Ausführung der Starterkits steuert.

Datei-Hierarchie-System

Der Kern von Maestro ist der Mechanismus „Starterkits durch Übereinanderlegen von Ebenen zusammenbauen”. Für Livewire (Fortify) werden die Dateien in folgender Reihenfolge kopiert; jede spätere Ebene überschreibt die vorherige. Dank dieser Hierarchie ergibt sich eine klare Regel: „Änderungen, die für alle Kits gelten, gehören in Shared/, Livewire-spezifische Änderungen in Livewire/.”

Ablauf einer Contribution

Beiträge zu den Starterkits erfolgen nicht direkt in den einzelnen Starterkit-Repositories, sondern in diesem Maestro-Repository.
1

In das orchestrator-Verzeichnis wechseln und Kit bauen

cd orchestrator
php artisan build
Über einen interaktiven Prompt wählen Sie das Ziel-Kit und die Auth-Variante. Alternativ lässt sich beides per Flag direkt angeben.
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

Das gebaute Kit starten

composer kit:run
Laravels Entwicklungsserver und ein File Watcher starten gleichzeitig. Änderungen im Verzeichnis build/ werden automatisch an die passende Stelle in kits/ kopiert.
3

Änderungen vornehmen und testen

Bearbeiten Sie Dateien im Verzeichnis build/. Der Watcher erkennt die Änderungen und überträgt sie automatisch in das Verzeichnis kits/.
4

PR erstellen

Committen Sie die Änderungen im Verzeichnis kits/ und erstellen Sie einen PR. Nach dem Merge pusht Maestro die Änderungen automatisch in die einzelnen Starterkit-Repositories.
Das Verzeichnis build/ ist gitignored. Nehmen Sie alle Änderungen in build/ vor und lassen Sie sie vom Watcher nach kits/ synchronisieren, bevor Sie committen.

Weitere Entwicklungs-Kommandos

Linting

# Pint auf kits und browser_tests ausführen (nur PHP)
composer kits:pint

# PHP-Lint + Frontend-Lint der einzelnen Inertia-Varianten
composer kits:lint

# Auf bestimmte Frameworks eingrenzen
composer kits:lint -- --vue
composer kits:lint -- --react --svelte

Browser-Tests

# Browser-Tests aller Varianten ausführen
composer kits:browser-tests

# Auf bestimmte Frameworks/Varianten eingrenzen
composer kits:browser-tests -- --vue
composer kits:browser-tests -- --livewire --fortify
Die Browser-Tests laufen mit Pest + Playwright. Im Verzeichnis browser_tests/ sind die Tests dreistufig strukturiert: bootstrap/ (gemeinsame Konfiguration), common/ (für Fortify) und teams/ (für Teams).

Eingrenzung per Flags

Jedes Kommando lässt sich mit Flags wie --livewire, --react, --svelte, --vue sowie --blank, --fortify, --workos, --teams kombinieren, um das Ziel einzugrenzen.
# Nur die Fortify-Varianten von Vue und Svelte prüfen
composer kits:check -- --vue --svelte --fortify

# Nur die WorkOS-Varianten aller Frameworks
composer kits:check -- --workos

WorkOS-Umgebungsvariablen einrichten

Wenn Sie eine WorkOS-Variante bauen und ausführen, tragen Sie Client-ID und API-Key von WorkOS in orchestrator/.env ein. Diese Werte werden beim Build in die .env-Datei des Verzeichnisses build/ kopiert.
# orchestrator/.env
WORKOS_CLIENT_ID=your_client_id
WORKOS_API_KEY=your_api_key

Aktueller Entwicklungsstand

  • GitHub-Repository: laravel/maestro
  • Offizielles Release: nicht vorhanden (keine Versions-Tags oder Releases veröffentlicht)
  • Letzter Commit: April 2026 (aktive Entwicklung)
  • Benötigtes PHP: ^8.2
  • Laravel-Version: ^13.0
Maestro ist kein Paket für Endnutzer, sondern eine Entwicklungs-Infrastruktur für das Laravel-Team und Contributor. Die Starterkits selbst (z. B. laravel/starter-kit-react) werden von Maestro aus diesem Monorepo generiert und gepflegt.

Repository laravel/maestro

Wer zu den Starterkits beitragen möchte, sollte zuerst die README von Maestro lesen.

Offizielle Dokumentation der Laravel-Starterkits

Zur Nutzung der Starterkits selbst konsultieren Sie bitte die offizielle Dokumentation.
Zuletzt geändert am 13. Juli 2026