Skip to main content
この記事はソースコード調査に基づく情報です。v0.1タグが付いたばかりの開発初期段階のパッケージです(2026年5月時点)。

Laravel Chiselとは

Laravel Chisel は、Laravelスターターキットから不要な機能を削除するためのポストインストールスクリプトを構築するためのプリミティブを提供するパッケージです。 スターターキットには多くの機能があらかじめ含まれていますが、プロジェクトによっては一部の機能が不要な場合があります。Chiselはこの問題を、インストール後に対話的に「必要な機能だけを残す」仕組みを提供することで解決します。

なぜ必要か

Laravelスターターキットは多くの機能をバンドルしていますが、すべてのプロジェクトですべての機能が必要なわけではありません。例えば:
  • メール認証が不要なプロジェクト
  • パスキー認証を使わないプロジェクト
  • 特定のLivewireコンポーネントが不要な構成
これまでは不要な機能を手動で削除する必要がありましたが、Chiselを使えばインストール時の対話的なプロンプトでカスタマイズが完結します。

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

オプションのコードをコメントペアで囲みます。
JSXファイルでは波括弧({})を使ったブロックコメントを使用します。
  • removeSectionMarkers('passkeys') — マーカーを削除し、コードは残す
  • removeSection('passkeys') — マーカーもコードも両方削除
chisel- プレフィックスは自動的に付加されます。

npm サポート

npm() メソッドはnpm・yarn・pnpm・bunを自動検出します。

現在の開発状況

  • GitHubリポジトリ: laravel/chisel
  • リリース: v0.1 (2026年5月公開)
  • 開発期間: 3ヶ月間の非公開開発を経て公開
ChiselはエンドユーザーがLaravelアプリに直接インストールするパッケージではなく、スターターキットが内部的に使用するライブラリです。将来的にはLaravelの公式スターターキットがChiselを活用したポストインストールスクリプトを提供することが期待されています。

laravel/chisel リポジトリ

ソースコードと最新のAPIリファレンスはこちら。

Laravel スターターキット公式ドキュメント

スターターキット自体の使い方については公式ドキュメントを参照してください。
最終更新日 2026年5月16日