前言
Starter Kit 是使用laravel new 创建应用时通过 create-project 展开的模板项目。Laravel 13 官方 Starter Kit 有 React / Vue / Svelte / Livewire 四种,包含认证与初始 UI。
你要制作自定义 Starter Kit 时做的事情也是一样的:以 Laravel 应用为基础整备后,作为 Composer 包发布即可。
- 官方文档:Starter Kits
- 官方实现示例:laravel/react-starter-kit
- 参考页面:Laravel Console Starter
Starter Kit 的制作
初始化 Laravel 项目
先创建作为模板的 Laravel 项目并整理不必要的示例代码。然后在composer.json 的 name 中设置唯一的包名。
name 之后会被 laravel new my-app --using=example/starter-kit 使用。
配置 composer.json 的 scripts
执行laravel new 后,Starter Kit 一侧的 Composer scripts 会用于初始化流程。至少应准备 post-root-package-install 与 post-create-project-cmd。
用 .gitattributes 控制分发对象
对希望留在 Starter Kit 仓库、但不希望包含到用户生成项目中的文件,用export-ignore 排除。
发布到 Packagist
要让用户能通过--using 使用,必须发布到 Packagist。
1
在 GitHub 准备公开仓库
确保
composer.json 的 name 与仓库 URL 一致后再公开。2
登记到 Packagist
在 Packagist 注册仓库。发布后
example/starter-kit 就可以被解析到。3
在 README 中写明使用命令
向用户提供如下引入命令。
laravel new 命令的流程
laravel/installer 的 NewCommand 在指定 Starter Kit 时会切换 create-project 目标并依次执行初始化命令。
NewCommand.php 中可参考的位置:
前端框架的选择
Laravel 13 官方 Starter Kit 提供 React / Vue / Svelte / Livewire,但自定义 Starter Kit 不必与该构成一致。CSS、组件库、认证方式都可以按需自由决定。社区的 Starter Kit 常用与官方不同的 CSS 基础。认证也不必以 Fortify 为前提,请按需求设计。
版本升级维护
Starter Kit 不是「一次做完就完事」。需要随 Laravel 与 PHP 更新持续跟进。应对 Laravel、PHP 版本升级
先更新composer.json 的要求,然后在 CI 中确认兼容性。
laravel/framework 与相关依赖。
定期更新依赖
前端依赖变化快,按月更新任务较为稳妥。- Tailwind
- 组件库(shadcn/ui、shadcn-vue、shadcn-svelte、Flux UI)
- Inertia / Livewire 相关包
兼容性测试
至少将以下检查纳入 CI:composer install成功php artisan test通过npm install && npm run build通过