Dieser Artikel basiert auf einer Quellcode-Analyse. Stand: Juli 2026, das Repository befindet sich in Entwicklung.
Was ist Laravel Package Skeleton?
Laravel Package Skeleton ist ein Starter-Template zum Erstellen von Laravel-Paketen.composer install startet automatisch ein interaktives Konfigurationsskript (configure.php), das Paketname, Vendor-Name, Namespace und die gewünschten Funktionen im Frage-Antwort-Format einrichtet. Anschließend kann sofort mit der Entwicklung begonnen werden.
Warum dieses Skeleton nötig ist
Wenn Sie ein Laravel-Paket „auf eigene Faust” beginnen, geht viel Zeit für die Einrichtung der Testumgebung, statischer Analyse, Code-Formatierung und GitHub Actions verloren – Aufgaben, die mit der eigentlichen Paketlogik nichts zu tun haben. Laravel Package Skeleton fasst die Best Practices, die das Laravel-Team in der eigenen Paketentwicklung nutzt, in einem einzigen Template zusammen. Damit überspringen Sie den Aufbau der Umgebung und beginnen direkt mit der Implementierung der Paketlogik.Enthaltene Werkzeuge
| Werkzeug | Rolle |
|---|---|
| Pest | Test-Framework |
| Larastan | Statische Analyse für Laravel |
| Pint | Code-Formatter |
| Orchestra Testbench | Testumgebung für Pakete |
| Workbench | App für End-to-End-Entwicklung |
Konfigurierbare Paketfunktionen
Bei den Prompts voncomposer install wählen Sie nur die tatsächlich benötigten Funktionen aus. Nicht ausgewählte Gerüstteile werden entfernt.
| Funktion | Beschreibung |
|---|---|
| Config file | Config-Datei in config/ ergänzen |
| Routes | Route-Datei ergänzen |
| Views | Blade-Views ergänzen |
| Translations | Sprachdateien ergänzen |
| Migrations | Migrationen ergänzen |
| Assets | Öffentliche Assets ergänzen |
| Commands | Artisan-Kommandos ergänzen |
| Facade | Facade-Klasse ergänzen |
| Boost Skill | Skill für KI-Agenten ergänzen |
Konfigurierbare Werkzeuge
Wie bei den Funktionen lassen sich auch die Werkzeuge je nach Projekt ein- oder ausschalten.| Werkzeug | Beschreibung |
|---|---|
| Dependabot | Automatische Update-PRs für Abhängigkeiten |
| Issue Template | Vorlagen für GitHub Issues |
| Changelog | Automatische Aktualisierung von CHANGELOG.md bei Releases |
| Funding | Sponsoren-Link für GitHub Sponsors |
| Security Policy | Richtlinie zur Meldung von Sicherheitslücken |
Ablauf des Setups
Repository aus dem Template anlegen
Erstellen Sie über den Button Use this template auf GitHub ein neues Repository oder klonen Sie direkt.
Abhängigkeiten installieren
Beim Ausführen von Wenn Sie das Skript manuell ausführen möchten, verwenden Sie die Option
composer install startet configure.php automatisch.--no-scripts.Prompts beantworten
Folgende Punkte werden im Frage-Antwort-Format eingerichtet.
- Author Name / Email
- Vendor-Name (z. B.
kawax) - Paketname (z. B.
my-package) - Paketbeschreibung
- Klassenname (z. B.
MyPackage) - Multi-Select der genutzten Funktionen
- Multi-Select der genutzten Werkzeuge
- Optionale automatische Erstellung eines GitHub-Repositorys (falls gh CLI authentifiziert ist)
Nicht-interaktiver Modus
Wenn Sie das Setup aus CI oder einem Skript heraus ausführen, verwenden Sie das Flag--no-interaction.
GitHub Actions CI
Die im Skeleton enthaltenetests.yml ist ein Matrix-Build, der Tests über mehrere PHP-, Laravel- und OS-Kombinationen hinweg ausführt.
- PHPStan (
composer analyse) – Statische Analyse - Pint (
composer lint:check) – Stil-Check - Type Coverage (
composer test:types) – Prüfung auf 100 % Typabdeckung (nur Ubuntu) - Pest (
composer test:unit) – Unit-Tests (nur Ubuntu)
Changelog-Automatisierung
update-changelog.yml aktualisiert CHANGELOG.md automatisch beim GitHub-Release. release.yml klassifiziert Änderungen nach PR-Label und erzeugt daraus die Release Notes.
Labels für Release Notes:
| Label | Kategorie |
|---|---|
breaking | Breaking Change |
enhancement | Feature |
bug | Bugfix |
documentation | Dokumentation |
dependencies | Abhängigkeiten |
maintenance | Wartung |
skip-changelog | Nicht ins Changelog aufnehmen |
Was configure.php tut
configure.php ist ein einmalig ausgeführter Bootstrap. Nach der Ausführung wird die Datei entfernt.
Empfohlene GitHub-Einstellungen nach der Installation
Empfehlungen aus der README nach der Installation:- Dependabot-PRs manuell prüfen – ein Auto-Merge-Workflow ist nicht enthalten
- Release-Notes-Labels anlegen –
breaking,enhancement,bug,documentation,dependencies,maintenance,skip-changelog,duplicate - Branch-Schutz für
main– da die Changelog-Automation via GitHub Actions inCHANGELOG.mdcommittet, müssen die Branch-Protection-Regeln entsprechend angepasst werden
GITHUB_TOKEN von GitHub.
Aktueller Entwicklungsstand
- GitHub-Repository: laravel/package-skeleton
- Veröffentlichung: Juli 2026 (aktive Entwicklung)
- Hinweis: Da sich das Projekt in einer frühen Phase befindet, können sich API und Aufbau noch ändern
Repository laravel/package-skeleton
Quellcode und aktuelle Informationen finden Sie hier.
Offizielle Dokumentation zur Paketentwicklung
Zu den Grundlagen der Laravel-Paketentwicklung konsultieren Sie bitte die offizielle Dokumentation.