mcpField
R
rhdh-backstage-upgrade

rhdh-backstage-upgrade

github.com/redhat-developer开发1948 次安装1 天前更新
代码仓库

关于 rhdh-backstage-upgrade

用于升级 RHDH 仓库中 Backstage 依赖的技能,面向维护 RHDH 项目的开发者。它先核对当前与目标版本,再按版本间的变更处理依赖、迁移和验证,并要求遵循目标 RHDH 的兼容版本。

主要功能

  1. 01发现当前 Backstage 版本
  2. 02依据 RHDH 兼容矩阵确定目标
  3. 03升级依赖并检查解析项
  4. 04迁移包并处理破坏性变更
  5. 05运行仓库定义的验证命令

适用场景

  1. 01将 Backstage 依赖升级到目标版本
  2. 02检查仓库版本与 RHDH 是否匹配
  3. 03修复升级引入的 API 变更
  4. 04验证升级后的构建与测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/redhat-developer/rhdh-skills --skill rhdh-backstage-upgrade

安装后在 Claude Code 中输入/rhdh-backstage-upgrade确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
bump-deps.md
determine-target.md
discover-versions.md
fix-breaking-changes.md
migrate-packages.md
verify-upgrade.md
workflows/
upgrade-backstage.md

详细介绍

RHDH Backstage 升级

负责版本号:检出代码所使用的 @backstage/* 版本、应升级到的版本,以及升级过程中出现的所有问题。

从这里开始

  1. 更改任何依赖项前,先阅读 package.json 和 backstage.json。
  2. 确定目标 RHDH 版本。优先使用用户或代码仓库明确给出的值;否则调用 /rhdh-context,获取已检入的兼容性矩阵。如果该信息不可用,请向用户询问目标 RHDH 和 Backstage 版本,不要猜测。
  3. 执行升级前,报告当前版本和拟定的目标版本。

按结果选择

结果加载并遵循
执行完整升级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