mcpField
R
rhdh-plugin-authoring

rhdh-plugin-authoring

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

关于 rhdh-plugin-authoring

rhdh-plugin-authoring 是用于为 RHDH 创建 Backstage 动态插件及在现有插件中实现功能的技能。它按扩展类型和前后端目标引导工作,并提供结合仓库情况的开发参考与构建检查。

主要功能

  1. 01搭建前端和后端插件
  2. 02按扩展类型选择路径
  3. 03实现与测试指导
  4. 04RHDH 专属开发模式
  5. 05按顺序执行工作区构建检查

适用场景

  1. 01创建新的 RHDH 动态插件
  2. 02为现有插件添加功能
  3. 03审查插件代码并运行构建检查

安装

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

$npx skills add https://github.com/redhat-developer/rhdh-skills --skill rhdh-plugin-authoring

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

包含的文件

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

agents/
openai.yaml
examples/
dynamic-plugins.yaml
references/
backend.md
backstage-skills.md
bui.md
dev-app.md
development-patterns.md
frontend-specs.md
frontend.md
nfs.md
plugin-types.md
rhdh.md
testing.md
scripts/
detect-rhdh-context.py
scaffold.py

详细介绍

RHDH 插件开发

负责插件源代码:为 RHDH 创建新的 Backstage 动态插件,以及在现有插件中实现功能。后端和前端是同一项工作的不同分支——遵循相同的约定、相同的构建检查、使用相同的仓库,因此应根据请求选择分支,而不是询问用户。

从这里开始

  1. 阅读目标仓库的 AGENTS.md 或 CLAUDE.md,以及其中链接的任何规范或问题。仓库规则优先于本文中的任何内容。
  2. 在现有检出中运行 python scripts/detect-rhdh-context.py --path <plugin-or-workspace>。记录角色、前端系统、插件 ID、动态状态、MUI 版本和包管理器。
  3. 确定目标 RHDH 和 Backstage 版本。优先采用用户或仓库明确提供的值;否则调用 /rhdh-context 获取仓库、工具和版本信息。如果该技能不可用,请询问用户,不要猜测。
  4. 修改文件前检查分支和状态,并保护未提交的工作。

对于新插件,或对公共 API 的更改,如果存在实质不同的有效设计方案,且请求未明确选择方案,则调用 /grilling 作为设计关卡,采用其产出的约束,并在实现前展示设计。如果未安装 /grilling,请说明这一点,指出 /setup-rhdh-skills install 是用户接下来需要执行的步骤,并暂停该分支。

按目标结果选择路径

目标结果加载并遵循
搭建后端动态插件脚手架references/backend.md;运行 scripts/scaffold.py
搭建前端动态插件脚手架references/frontend.md;运行 scripts/scaffold.py
决定要构建哪种扩展references/plugin-types.md
实现或审查插件代码references/development-patterns.md,然后仅加载下方相关参考文档
使用 Backstage UI 或 MUI 设置样式references/bui.md
在新插件中编写 NFS 代码references/nfs.md
应用 RHDH 专属模式references/rhdh.md
运行或扩展插件开发应用references/dev-app.md
为插件代码编写测试references/testing.md
编写或阅读前端功能规范references/frontend-specs.md

根据请求判断分支。只有在缺失的选择会改变实现时才询问,例如后端还是前端。

职责边界

  • 此技能负责编写插件源代码。它不负责导出构件、生成部署配置或发布任何内容。
  • /rhdh-plugin-export 负责为 RHDH 导出和打包插件。
  • /rhdh-plugin-wiring 负责为已完成的前端插件生成 dynamic-plugins.yaml 配置和挂载点。应按名称调用此技能,而不是在这里编写接线配置。
  • /rhdh-plugin-nfs-migration 负责将现有旧版前端插件转换为 New Frontend System。此技能负责在已使用该系统的插件中编写 NFS 代码。
  • /rhdh-backstage-upgrade 负责升级 @backstage/* 依赖版本。
  • /rhdh-test-placement 在你于此处编写永久测试之前,提供测试应放在哪个仓库和层级的建议。
  • /rhdh-pr-create 负责变更集、暂存、签署提交和拉取请求。完成时不要暂存已更改的文件,并列出这些文件。

调用指定的技能,并在对话中说明交接内容。绝不要打开其他技能的文件。

不变量

  • 后端代码只能使用新版后端系统——来自 @backstage/backend-plugin-api 的 createBackendPlugin 或 createBackendModule。不得使用旧版后端系统。
  • src/index.ts 必须有默认导出。缺少默认导出是动态插件无法在 RHDH 中加载的最常见原因。
  • Scalprum 名称必须与 dynamic-plugins.yaml wiring 中使用的键一致。
  • 参照相邻的实现:在自行设计配置、fixture 路径或实用工具模式之前,先检查两三个同级工作区。
  • 增量构建。每次编写一个组件或 hook,进行类型检查,并在运行中的应用中确认视觉变化,然后再编写下一个。
  • 参考当前相邻的测试,不要凭记忆使用 Backstage 测试 API;该 API 会随版本迭代而变化。
  • 按顺序运行工作区构建检查,并在首次失败时停止: yarn prettier:fix、yarn tsc:full、yarn build:all、 yarn test --watchAll=false、yarn build:api-reports:only。
  • 不要在此处暂存、提交、推送或创建拉取请求。

完成

报告所走的分支、已创建或更改且仍未暂存的文件、运行过的构建检查及其结果、新增的公共 API 接口、剩余风险,以及下一步应调用的、用于 wiring、导出、测试或发布的 skill。

评论

支持 Markdown