Skip to main content
本文根據原始碼調查整理。目前尚無官方文件,仍為正式發佈前的儲存庫(2026 年 4 月時點)。

什麼是 Maestro

Laravel Maestro 是集中管理 Laravel 啟動套件群的 monorepo 型協調器。 Laravel 啟動套件涵蓋 React、Vue、Svelte(Inertia)與 Livewire 等多個技術堆疊,再加上各堆疊的認證方式(Fortify、WorkOS)與選項(Teams、Blank)的組合,共有超過 15 種變體。Maestro 以單一儲存庫管理這些變體,並提供將變更自動反映到各啟動套件儲存庫的機制。

解決什麼問題

當啟動套件分成多個變體時,把單一修正反映到所有變體會變得繁瑣。例如把認證表單的驗證修改分別針對 React、Vue、Svelte、Livewire 各發一個 PR 就很沒效率。 Maestro 用「共用層與變體層階層結構」解決此問題。變更該加在哪一層由協調器判斷,並自動套用到最合適的位置。

啟動套件的變體

Maestro 管理的啟動套件由兩個技術堆疊組成。

Livewire 堆疊(6 個變體)

Inertia 堆疊(15 個變體)

React、Vue、Svelte 三個框架 × Blank、Fortify、WorkOS × 有無 Teams 的組合,共 15 個變體。

儲存庫結構

orchestrator 目錄本身就是一個 Laravel 應用,管理啟動套件的建置與執行。

檔案階層系統

Maestro 的核心是「以層疊方式組合啟動套件」的機制。以 Livewire(Fortify)為例,會依以下順序複製檔案,後層覆寫前層。 有了這樣的階層,「共用修正加在 Shared/、Livewire 專屬修正加在 Livewire/」的規則就變得清楚明確。

貢獻流程

要對啟動套件貢獻,並非到個別啟動套件的儲存庫,而是在此 Maestro 儲存庫進行。
1

切換到 orchestrator 目錄並建置套件

可透過互動式 prompt 選擇目標套件與認證變體,也能用 flag 直接指定。
2

啟動已建置套件

Laravel 開發伺服器與檔案 watcher 會一起啟動。在 build/ 目錄的變更會自動複製回 kits/ 的適當位置。
3

修改並測試

編輯 build/ 目錄內的檔案。watcher 會偵測變更,自動反映到 kits/ 目錄。
4

建立 PR

kits/ 目錄的變更做 commit 並開 PR。合併後 Maestro 會自動將變更推送到各啟動套件儲存庫。
build/ 目錄在 gitignore 中。所有變更請於 build/ 內進行,讓 watcher 同步到 kits/ 後再 commit。

其他開發指令

Lint

瀏覽器測試

瀏覽器測試以 Pest + Playwright 執行。browser_tests/ 目錄下以 bootstrap/(共用設定)、common/(Fortify 用)、teams/(Teams 用)三層結構整理測試。

用 flag 篩選

各指令可組合 --livewire--react--svelte--vue--blank--fortify--workos--teams flag 來篩選對象。

設定 WorkOS 環境變數

要建置並執行 WorkOS 變體時,於 orchestrator/.env 設定 WorkOS 的 client ID 與 API key。建置時這些值會被複製到 build/ 目錄的 .env

目前開發狀況

  • GitHub 儲存庫laravel/maestro
  • 正式發佈:無(版本 tag 與 release 尚未公開)
  • 最後提交:2026 年 4 月(持續開發中)
  • 需要 PHP 版本:^8.2
  • Laravel 版本:^13.0
Maestro 不是對終端使用者的套件,而是作為 Laravel 團隊與貢獻者的開發基礎架構。啟動套件本體(如 laravel/starter-kit-react)由 Maestro 從此 monorepo 產生與管理。

laravel/maestro 儲存庫

對啟動套件貢獻有興趣的人請先閱讀 Maestro 的 README。

Laravel 啟動套件官方文件

啟動套件本身的使用方式請參考官方文件。
最後修改於 2026年8月2日