Skip to main content

Einleitung

Ein Starter-Kit ist ein Projekt-Template, das beim Erstellen einer Anwendung mit laravel new per create-project ausgerollt wird. Die offiziellen Starter-Kits von Laravel 13 gibt es in den vier Varianten React, Vue, Svelte und Livewire und enthalten Authentifizierung sowie ein initiales UI. Wenn Sie ein eigenes Starter-Kit erstellen, funktioniert es genauso: Sie richten eine Laravel-Anwendung als Basis ein und veröffentlichen sie als Composer-Paket.

Ein Starter-Kit erstellen

Ein Laravel-Projekt initialisieren

Erstellen Sie zunächst das Laravel-Projekt, das als Template dienen soll, und räumen Sie überflüssigen Beispielcode auf. Vergeben Sie anschließend in der composer.json unter name einen eindeutigen Paketnamen.
Dieser name ist der Bezeichner, den Sie später bei laravel new my-app --using=example/starter-kit verwenden.

Die scripts in composer.json konfigurieren

Nach der Ausführung von laravel new werden die Composer-Scripts des Starter-Kits für die Initialisierung verwendet. Bereiten Sie mindestens post-root-package-install und post-create-project-cmd vor.
Dieses Beispiel basiert auf der composer.json von laravel/react-starter-kit. Wenn Sie eine Datenbank verwenden, können Sie es unverändert übernehmen.

Verteilung über .gitattributes steuern

Dateien, die zwar im Starter-Kit-Repository liegen sollen, aber nicht in das generierte Projekt der Nutzer gehören, schließen Sie mit export-ignore aus.
Details finden Sie im offiziellen .gitattributes-Beispiel.

Auf Packagist veröffentlichen

Damit Nutzer Ihr Kit über --using verwenden können, muss es auf Packagist registriert sein.
1

Öffentliches GitHub-Repository vorbereiten

Stellen Sie sicher, dass der name in composer.json und die Repository-URL zueinander passen, und veröffentlichen Sie das Repository.
2

Auf Packagist registrieren

Registrieren Sie das Repository auf Packagist. Danach ist example/starter-kit auflösbar.
3

Nutzungsbefehl in der README dokumentieren

Führen Sie folgenden Einführungs-Befehl für Nutzer auf.

Ablauf des Befehls laravel new

Der NewCommand in laravel/installer wechselt bei Angabe eines Starter-Kits das Ziel von create-project und führt die Initialisierungsbefehle der Reihe nach aus. Interessante Stellen in NewCommand.php:

Wahl des Frontend-Frameworks

Die offiziellen Starter-Kits von Laravel 13 bieten React, Vue, Svelte und Livewire. Ihr eigenes Starter-Kit muss sich aber nicht daran orientieren. Sie können CSS, Component Library und Authentifizierungsverfahren frei nach Ziel wählen.
Community-Starter-Kits setzen üblicherweise andere CSS-Grundlagen als die offiziellen ein. Machen Sie auch bei der Authentifizierung Fortify nicht zur Pflichtannahme, sondern entwerfen Sie sie passend zu Ihren Anforderungen.

Wartung bei Versionsaktualisierungen

Ein Starter-Kit ist nicht mit dem Erstellen erledigt. Es muss den Aktualisierungen von Laravel und PHP fortlaufend folgen.

Umgang mit Laravel- und PHP-Upgrades

Aktualisieren Sie zunächst die Anforderungen in composer.json und prüfen Sie die Kompatibilität in der CI.
Prüfen Sie bei Laravel-Major-Upgrades gleichzeitig laravel/framework und die umliegenden Abhängigkeiten.

Regelmäßige Aktualisierung der Abhängigkeiten

Frontend-Abhängigkeiten ändern sich schnell — es ist sicherer, monatlich einen Update-Task einzuplanen.
  • Tailwind
  • Component Libraries (shadcn/ui, shadcn-vue, shadcn-svelte, Flux UI)
  • Inertia- / Livewire-bezogene Pakete

Kompatibilitätstests

Mindestens diese Prüfungen sollten Teil Ihrer CI sein:
  • composer install läuft erfolgreich durch.
  • php artisan test besteht.
  • npm install && npm run build läuft erfolgreich durch.

Best Practices

  • Legen Sie den name früh fest: Änderungen nach der Packagist-Veröffentlichung sind teuer.
  • Orientieren Sie die scripts an den offiziellen Beispielen: Ein zerbrochener Initialisierungsfluss führt häufig zu fehlgeschlagenen Installationen.
  • Bereiten Sie .gitattributes gleich zu Beginn auf: So reduzieren Sie Störmüll bei der Template-Verteilung.
  • Institutionalisieren Sie Upgrades: Etablieren Sie einen Betriebsablauf, der Laravel-Releases zeitnah nachzieht.
  • Lesen Sie ergänzende Guides: Grundlagen der Paketentwicklung und Versionskompatibilität von Paketen verwalten machen Ihr Design stabiler.
Zuletzt geändert am 13. Juli 2026