本文根據原始碼調查整理。截至 2026 年 7 月,仍為開發中的儲存庫。
什麼是 Laravel Package Skeleton
Laravel Package Skeleton 是製作 Laravel 套件時使用的起始模板。composer install 後會自動啟動互動式設定腳本(configure.php),以一問一答方式設定套件名稱、vendor 名稱、命名空間、要使用的功能。設定完成後就能立刻開始開發。
為何需要這個 skeleton
「自我流」開始寫 Laravel 套件時,會在測試環境設定、靜態分析、程式碼格式化、GitHub Actions 等與套件本身邏輯無關的事情上花很多時間。 Laravel Package Skeleton 把 Laravel 團隊實際開發套件所用的最佳實踐集中到一份模板。使用它就能跳過「建立環境」直接開始實作套件邏輯。內建的工具
可設定的套件功能
composer install 的 prompt 中可選擇需要的功能。未選功能的 scaffold 會被刪除。
可設定的工具
與功能相同,可依專案需求開關工具。建置流程
1
由模板建立儲存庫
按 GitHub 上的 Use this template 按鈕建立新儲存庫,或直接 clone。
2
安裝相依
執行 若要手動執行腳本,可用
composer install 時會自動啟動 configure.php。--no-scripts 選項。3
回答提問
以一問一答方式設定:
- Author Name / Email
- Vendor 名(例:
kawax) - Package 名(例:
my-package) - Package 描述
- Class 名(例:
MyPackage) - 選擇使用功能(多選)
- 選擇使用工具(多選)
- 是否自動建立 GitHub 儲存庫(若已驗證 gh CLI)
4
測試運作
5
用 Workbench 進行端對端測試
http://localhost:8000 啟動一個檢驗套件的簡易 Laravel 應用。非互動模式
若要從 CI 或腳本安裝,使用--no-interaction flag。
GitHub Actions CI
skeleton 內含的tests.yml 是以多個 PHP 版本、Laravel 版本、OS 組合執行測試的 matrix build。
- PHPStan(
composer analyse)— 靜態分析 - Pint(
composer lint:check)— 樣式檢查 - 型別覆蓋(
composer test:types)— 確認型別覆蓋 100%(僅 Ubuntu) - Pest(
composer test:unit)— 單元測試(僅 Ubuntu)
Changelog 自動化
update-changelog.yml 以 GitHub Release 為觸發自動更新 CHANGELOG.md。release.yml 依 PR label 分類變更並產生 release note。
release note 的 label:
configure.php 的行為
configure.php 是設定腳本,僅執行 1 次的 bootstrap。執行後會自我刪除。
安裝後的 GitHub 設定
README 建議安裝後的設定:- Dependabot PR 手動 review — 不含自動合併工作流程
- 建立 release note label —
breaking、enhancement、bug、documentation、dependencies、maintenance、skip-changelog、duplicate - 設定
main分支保護 — Changelog 自動化會由 GitHub Actions commitCHANGELOG.md,需調整分支保護規則
GITHUB_TOKEN。
目前開發狀況
- GitHub 儲存庫:laravel/package-skeleton
- 公開時期:2026 年 7 月(積極開發中)
- 注意:目前仍為早期階段,API 或結構有可能變更
laravel/package-skeleton 儲存庫
原始碼與最新資訊請見此處。
套件開發官方文件
Laravel 套件開發基礎請參考官方文件。