Skip to main content
本文根據原始碼調查整理。截至 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

測試運作

會依 PHPStan → Pint → 型別覆蓋 → Pest 順序執行所有檢查。
5

用 Workbench 進行端對端測試

會在 http://localhost:8000 啟動一個檢驗套件的簡易 Laravel 應用。

非互動模式

若要從 CI 或腳本安裝,使用 --no-interaction flag。
指定功能 flag 就只會包含指定的功能。若省略則包含全部功能。

GitHub Actions CI

skeleton 內含的 tests.yml 是以多個 PHP 版本、Laravel 版本、OS 組合執行測試的 matrix build。
每個 job 的執行內容:
  1. PHPStancomposer analyse)— 靜態分析
  2. Pintcomposer lint:check)— 樣式檢查
  3. 型別覆蓋composer test:types)— 確認型別覆蓋 100%(僅 Ubuntu)
  4. Pestcomposer test:unit)— 單元測試(僅 Ubuntu)

Changelog 自動化

update-changelog.yml 以 GitHub Release 為觸發自動更新 CHANGELOG.mdrelease.yml 依 PR label 分類變更並產生 release note。 release note 的 label:

configure.php 的行為

configure.php 是設定腳本,僅執行 1 次的 bootstrap。執行後會自我刪除。

安裝後的 GitHub 設定

README 建議安裝後的設定:
  • Dependabot PR 手動 review — 不含自動合併工作流程
  • 建立 release note labelbreakingenhancementbugdocumentationdependenciesmaintenanceskip-changelogduplicate
  • 設定 main 分支保護 — Changelog 自動化會由 GitHub Actions commit CHANGELOG.md,需調整分支保護規則
不需要額外的 repo secret。內建 workflow 使用 GitHub 的內建 GITHUB_TOKEN

目前開發狀況

  • GitHub 儲存庫laravel/package-skeleton
  • 公開時期:2026 年 7 月(積極開發中)
  • 注意:目前仍為早期階段,API 或結構有可能變更
要開始寫 Laravel 套件的人,建議從此模板開始,勝過自己從零建構 skeleton。裡面凝結了 Laravel 團隊多年的套件開發最佳實踐。

laravel/package-skeleton 儲存庫

原始碼與最新資訊請見此處。

套件開發官方文件

Laravel 套件開發基礎請參考官方文件。
最後修改於 2026年8月2日