用途:当需要新建一个 Laravel 包时,该技能通过脚本生成完整的包目录与必要文件,并把它接入现有 Laravel 项目。
主要能力:生成 packages/vendor/package-name 目录,包含 composer.json、README.md、LICENSE、.gitignore、config 配置、src 下的 ServiceProvider 与主类;可选生成 Facade、Config、Install 命令以及基于 PestPHP 与 Orchestra Testbench 的测试。composer.json 使用 PSR-4 自动加载、Laravel 自动发现、PHP ^8.2、Laravel ^11.0|^12.0、Orchestra Testbench ^10.0、PestPHP ^3.8。脚本还会更新项目 composer.json,添加指向该包的 path 仓库、以 @dev 加入 require,并启用符号链接。
使用方式:运行 python3 ${SKILL_DIR}/scripts/scaffold_laravel_package.py <vendor/package-name>,可选参数 --with-pest、--with-facade、--with-config、--with-command。生成后执行 composer update;可用 php artisan package-name:install 验证,用 php artisan vendor:publish --tag=package-name-config 发布配置;若含测试,进入包目录执行 composer install 与 ./vendor/bin/pest。
命名约定:包名用 kebab-case,PHP 命名空间用 PascalCase,配置键用 kebab-case,命令用 kebab-case:action。
限制:资料未提供脚本对已有文件的覆盖策略、错误处理、支持的最低 Laravel 版本之外的兼容性,以及除上述选项外的其他定制能力。