この記事はソースコード調査に基づく情報です。v0.1タグが付いたばかりの開発初期段階のパッケージです(2026年5月時点)。
Laravel Chiselとは
Laravel Chisel は、Laravelスターターキットから不要な機能を削除するためのポストインストールスクリプトを構築するためのプリミティブを提供するパッケージです。 スターターキットには多くの機能があらかじめ含まれていますが、プロジェクトによっては一部の機能が不要な場合があります。Chiselはこの問題を、インストール後に対話的に「必要な機能だけを残す」仕組みを提供することで解決します。なぜ必要か
Laravelスターターキットは多くの機能をバンドルしていますが、すべてのプロジェクトですべての機能が必要なわけではありません。例えば:- メール認証が不要なプロジェクト
- パスキー認証を使わないプロジェクト
- 特定のLivewireコンポーネントが不要な構成
chisel.php スクリプトの定義
Chiselを使うスターターキットは、プロジェクトルートにchisel.php ファイルを配置します。このファイルが「どの機能をオプションにするか」を定義します。
スクリプト定義メソッド
対話的な回答収集
collectAnswers() は回答コレクターを返します。すべてのメソッドはフルエントで任意の順序で呼び出せます。非インタラクティブ環境ではデフォルト値が自動的に使用されます。
外部のArtisanコマンドがLaravel Promptsを使ってプロンプトを表示し、回答をChiselに渡します。
ファイルミューテーション
file($path) で単一ファイルを、files(...$paths) で複数ファイルを対象にします。
PHP ASTベース編集
php($path) はPHP ASTを使った編集を提供します。オブジェクトが破棄されるときに変更が自動保存されます。
PHP AST(抽象構文木)の基礎と nikic/php-parser の使い方についてはこちらで解説しています。
Section Markers
オプションのコードをコメントペアで囲みます。{})を使ったブロックコメントを使用します。
removeSectionMarkers('passkeys')— マーカーを削除し、コードは残すremoveSection('passkeys')— マーカーもコードも両方削除
chisel- プレフィックスは自動的に付加されます。
npm サポート
npm() メソッドはnpm・yarn・pnpm・bunを自動検出します。
現在の開発状況
- GitHubリポジトリ: laravel/chisel
- リリース: v0.1 (2026年5月公開)
- 開発期間: 3ヶ月間の非公開開発を経て公開
laravel/chisel リポジトリ
ソースコードと最新のAPIリファレンスはこちら。
Laravel スターターキット公式ドキュメント
スターターキット自体の使い方については公式ドキュメントを参照してください。