Dieser Artikel basiert auf einer Analyse des Quellcodes. Das Paket befindet sich in einem frühen Entwicklungsstadium und trägt gerade erst das Tag v0.1 (Stand: Mai 2026).
Was ist Laravel Chisel?
Laravel Chisel ist ein Paket, das Primitive bereitstellt, um Post-Install-Skripte zu bauen, welche nicht benötigte Funktionen aus einem Laravel-Starterkit entfernen. Starterkits enthalten viele vorgefertigte Funktionen; je nach Projekt sind aber nur ein Teil davon nötig. Chisel löst dieses Problem, indem es einen Mechanismus bereitstellt, mit dem sich nach der Installation interaktiv „nur die benötigten Funktionen behalten” lassen.Warum wird das benötigt?
Laravel-Starterkits bündeln viele Funktionen, aber nicht in jedem Projekt sind alle davon nötig. Beispiele:- Projekte, die keine E-Mail-Verifizierung brauchen
- Projekte, die keine Passkey-Authentifizierung nutzen
- Konstellationen, in denen bestimmte Livewire-Komponenten nicht gebraucht werden
Definition des chisel.php-Skripts
Ein Starterkit, das Chisel nutzt, legt eine Dateichisel.php im Projekt-Root an. Darin wird definiert, „welche Funktionen optional sein sollen”.
Methoden zur Skript-Definition
Interaktives Einsammeln der Antworten
collectAnswers() gibt einen Answer-Collector zurück. Alle Methoden sind fluent und in beliebiger Reihenfolge aufrufbar. In nicht-interaktiven Umgebungen werden automatisch die Standardwerte verwendet.
Ein externes Artisan-Kommando zeigt Prompts mithilfe von Laravel Prompts an und übergibt die Antworten an Chisel.
Datei-Mutationen
Mitfile($path) wird eine einzelne Datei, mit files(...$paths) mehrere Dateien angesprochen.
Bearbeitung auf Basis des PHP-AST
php($path) ermöglicht das Bearbeiten über den PHP-AST. Änderungen werden beim Zerstören des Objekts automatisch gespeichert.
Die Grundlagen des PHP-AST (Abstract Syntax Tree) und die Nutzung von nikic/php-parser sind hier erläutert.
Section Marker
Optionaler Code wird von Kommentar-Paaren umschlossen.{}) verwendet.
removeSectionMarkers('passkeys')– entfernt die Marker, der Code bleibt erhaltenremoveSection('passkeys')– entfernt sowohl Marker als auch Code
chisel- wird automatisch ergänzt.
npm-Unterstützung
Die Methode
npm() erkennt npm, yarn, pnpm und bun automatisch.
Aktueller Entwicklungsstand
- GitHub-Repository: laravel/chisel
- Release: v0.1 (veröffentlicht Mai 2026)
- Entwicklungszeit: nach dreimonatiger nicht-öffentlicher Entwicklung veröffentlicht
Repository laravel/chisel
Quellcode und aktuelle API-Referenz finden Sie hier.
Offizielle Dokumentation der Laravel-Starterkits
Zur Nutzung der Starterkits selbst konsultieren Sie bitte die offizielle Dokumentation.