SuperAPI AI 工具集

basercms-core-plugin-convert

通用与其它

查看项目

更新于 10-15 17:24

技能介绍

用途:把第三方或单独分发的 baserCMS 插件转换为 baserCMS 本体 monorepo 中的核心插件,参考现有核心插件(如 plugins/bc-blog)的结构。版本升级(5.2→5.3 / PHP8.5)的代码废弃处理见 basercms-plugin-5x-update,单元测试执行与排查见 basercms-unittest,本流程只负责结构转换。

主要步骤: 1)改名:文件夹用 kebab-case 并加 bc- 前缀(如 CuMcp→bc-mcp),命名空间/插件类用 PascalCase 加 Bc 前缀(BcMcp、BcMcpPlugin),composer 包名为 baserproject/bc-<name>;同步替换 namespace、use 及字符串字面量(plugin、URL slug、命令名、配置键)。 2)删除插件内 standalone 产物:.git、vendor/、bin/、composer.lock、phpunit.xml.dist、tests/bootstrap.php、tests/TestApp/、.github/、VERSION.txt、CHANGELOG.md 等,最终结构对齐现有核心(README.md/composer.json/config/、config.php/src/tests/webroot)。删除 .git 不可逆。 3)根 .gitignore:用 !/plugins/bc-<name> 将插件本体纳入跟踪;webroot/<下划线名> 符号链接则忽略。用 git check-ignore -v 验证。 4)测试:在根 phpunit.xml.dist 添加 testsuite;有 DB 迁移时须多处列表补全(根 tests/bootstrap.php 的 runMany、BcDatabaseServiceTest、InstallationsAdminServiceTest 等),漏一处会在整体测试时表缺失报错。删除插件 composer.json 中的 require-dev/scripts 等,加 vendor-dir: ../../vendor,外部运行依赖保留在 require。 5)系统注册:baser-core/config/setting.php 的 corePlugins 加入;是否加入 defaultInstallCorePlugins 需按项目方针确认。根 composer.json 聚合可用 vendor/bin/monorepo-builder merge(会自动扫描 plugins/),有版本冲突时手动等价编辑并执行 composer update;phpdoc.dist.xml 与 split_monorepo.yml 也需追加。 6)验证:按 testsuite 运行整体测试,外部进程依赖(如 MCP 服务器)需在相关测试中等待端口可连接,不可用 skip 掩盖失败;确认 split 用的只读仓库已存在,缺失时需管理员权限创建。

限制:资料未提供具体 baserCMS 版本兼容范围与除上述文件外的其他细节;命令与代码片段应保持原样,操作如删除 .git、创建远程仓库不可逆,需事先与用户确认。