关于 rhdh-backstage-upgrade
用于升级 RHDH 仓库中 Backstage 依赖的技能,面向维护 RHDH 项目的开发者。它先核对当前与目标版本,再按版本间的变更处理依赖、迁移和验证,并要求遵循目标 RHDH 的兼容版本。
主要功能
- 01发现当前 Backstage 版本
- 02依据 RHDH 兼容矩阵确定目标
- 03升级依赖并检查解析项
- 04迁移包并处理破坏性变更
- 05运行仓库定义的验证命令
适用场景
- 01将 Backstage 依赖升级到目标版本
- 02检查仓库版本与 RHDH 是否匹配
- 03修复升级引入的 API 变更
- 04验证升级后的构建与测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ redhat-developer/ rhdh-skills --skill rhdh-backstage-upgrade安装后在 Claude Code 中输入/rhdh-backstage-upgrade确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/bump-deps.mddetermine-target.mddiscover-versions.mdfix-breaking-changes.mdmigrate-packages.mdverify-upgrade.mdworkflows/upgrade-backstage.md详细介绍
RHDH Backstage 升级
负责版本号:检出代码所使用的 @backstage/* 版本、应升级到的版本,以及升级过程中出现的所有问题。
从这里开始
- 更改任何依赖项前,先阅读
package.json和backstage.json。 - 确定目标 RHDH 版本。优先使用用户或代码仓库明确给出的值;否则调用
/rhdh-context,获取已检入的兼容性矩阵。如果该信息不可用,请向用户询问目标 RHDH 和 Backstage 版本,不要猜测。 - 执行升级前,报告当前版本和拟定的目标版本。
按结果选择
| 结果 | 加载并遵循 |
|---|---|
| 执行完整升级 | workflows/upgrade-backstage.md |
| 查明当前版本和任何不一致之处 | references/discover-versions.md |
| 选择目标版本 | references/determine-target.md |
| 升级依赖项集合 | references/bump-deps.md |
| 将导入改为使用重命名或迁移后的软件包 | references/migrate-packages.md |
| 处理版本升级之间的破坏性变更 | references/fix-breaking-changes.md |
| 验证升级 | references/verify-upgrade.md |
职责边界
- 此技能负责版本号。它不会更改插件的扩展或扩展的挂载方式。
/rhdh-plugin-nfs-migration负责扩展结构:将旧版前端插件的扩展转换为 New Frontend System Blueprints。当升级是迁移的前提条件,或迁移发现依赖项集合已过时时,这两项技能需要协同。此处升级版本;彼处更改扩展。/backstage-api-changes负责早期 alpha 版本与当前 GA 接口之间的 NFS API 差异。当升级导致 NFS 代码出错时,按名称调用它——例如删除了NavItemBlueprint、必须将config.schema块改为configSchema,或重命名了 blueprint 参数。/rhdh-context负责 RHDH 与 Backstage 的兼容性矩阵。/rhdh-plugin-authoring负责升级中发现的非机械性源代码更改。/rhdh-pr-create负责暂存、提交和拉取请求。
调用指定名称的技能,并在对话中说明交接内容。切勿打开其他技能的文件。
不变要求
- 绝不要升级到目标 RHDH 版本所附带的 Backstage 版本之上。以解析出的兼容性结果为准,而非最新可用版本。
- 如果代码检出中的
versions:bump脚本封装了backstage-cli versions:bump,就使用该脚本;否则直接使用 CLI。继续前检查生成的package.json和锁文件差异。 - 升级前盘点每项解析和覆盖项。比较升级前后的包管理器依赖路径,然后记录保留、更新或移除它们的来源依据和证据。
- 阅读从旧版本到新版本之间每个版本的变更日志,然后在源代码中搜索每个受影响的 API。不要假定某个版本范围内没有破坏性变更。
- 如果当前版本与目标版本一致,请说明“已是目标版本”并停止。
- 报告升级完成前,运行代码检出中针对构建、测试、代码检查、格式化和单体仓库一致性定义的所有验证命令。
- 不要在此处暂存、提交、推送或创建拉取请求。
完成时
报告查明的版本、选定的目标版本及其信息来源、运行的命令、修复的破坏性变更及涉及的文件、每项解析和覆盖的来源依据、升级前后的依赖图证据及保留/更新/移除的理由、任何范围形式的更改、生成的文件、验证结果,以及任何仍不一致的依赖项和原因。
评论
支持 Markdown