本文根據原始碼調查所整理。此套件才剛加上 v0.1 tag,屬於開發初期階段(2026 年 5 月時點)。
什麼是 Laravel Chisel
Laravel Chisel 是一個提供安裝後腳本原語的套件,用於從 Laravel 啟動套件中移除不需要的功能。 啟動套件內含許多預先準備好的功能,但在某些專案中,部分功能是不必要的。Chisel 透過在安裝後以互動式方式「只保留所需功能」的機制解決此問題。為何需要
Laravel 啟動套件內建了許多功能,但並非每個專案都需要所有功能。例如:- 不需要 Email 驗證的專案
- 不使用 Passkey 認證的專案
- 不需要某些 Livewire 元件的結構
chisel.php 腳本定義
使用 Chisel 的啟動套件會在專案根目錄放置chisel.php 檔案。此檔定義「哪些功能是可選項」。
腳本定義方法
互動式回答收集
collectAnswers() 會回傳回答收集器。所有方法均為流暢式,可依任意順序呼叫。在非互動式環境下會自動使用預設值。
外部的 Artisan 指令使用 Laravel Prompts 顯示 prompt,並將回答交給 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 啟動套件官方文件
啟動套件本身的使用方式請參考官方文件。