本文基于源代码调查整理。截至 2026 年 7 月,仓库仍在开发中。
什么是 Laravel Package Skeleton
Laravel Package Skeleton 是开发 Laravel 包时使用的启动模板。composer install 会自动启动交互式配置脚本 (configure.php),通过一问一答的方式设置包名、vendor 名、命名空间和要使用的功能。配置完成后就可以立即开始开发。
为什么需要这个骨架
如果“凭感觉”开始写 Laravel 包,搭建测试环境、静态分析、代码格式化、GitHub Actions 等大量与包逻辑本身无关的工作会占据你不少时间。 Laravel Package Skeleton 把 Laravel 团队在实际包开发中沉淀下来的最佳实践打包成了一个模板。用了这个模板,你就能跳过“环境搭建”,直接从包逻辑实现开始。包含的工具
可选的包功能
在composer install 的提示中,只选择需要的功能。未选择功能对应的脚手架会被自动删除。
可选的工具
功能之外,也可以按项目需要开关各种工具。搭建流程
1
基于模板创建仓库
在 GitHub 上点击 Use this template 创建新仓库,或者直接克隆。
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。
GitHub Actions CI
骨架里的tests.yml 是一个矩阵构建,会对多种 PHP、Laravel 版本和操作系统组合运行测试。
- 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 标签对变更进行分类生成发布说明。
发布说明中的标签:
configure.php 做的事
configure.php 是一个只运行一次的配置 bootstrap 脚本,运行完就会被删除。
安装后的 GitHub 设置
README 中列出的安装后推荐设置:- Dependabot PR 请手动 review —— 骨架里没有包含自动合并的工作流
- 创建发布说明所需的标签 ——
breaking、enhancement、bug、documentation、dependencies、maintenance、skip-changelog、duplicate - 设置
main分支保护 —— Changelog 自动化会通过 GitHub Actions 向CHANGELOG.md提交,分支保护规则需要相应调整
GITHUB_TOKEN。
当前开发状态
- GitHub 仓库:laravel/package-skeleton
- 公开时间:2026 年 7 月(积极开发中)
- 注意:仍处于开发早期,API 和结构可能会变更
laravel/package-skeleton 仓库
源代码和最新信息请查看这里。
包开发官方文档
Laravel 包开发的基础知识请参考官方文档。