SuperAPI AI 工具集

create-plugin

编程与开发

查看项目

更新于 10-16 02:30

技能介绍

用途:为 Red Hat Developer Hub(RHDH)动态插件提供从创建到部署的全流程支持,覆盖脚手架、实现、导出、打包与配置。

主要能力:

  1. 创建(Create):脚手架并实现后端动态插件(API 插件、scaffolder action、processor)或前端动态插件(页面、卡片、主题)。
  2. 打包(Package/export):导出、打包并推送插件用于 RHDH 部署,支持 OCI、tgz、npm 等形式,可指定共享/内嵌包与清理。
  3. 配置(wiring,仅前端):分析前端插件并生成挂载点、路由、绑定、实体页签等 dynamic-plugins.yaml 配置。

使用方式: 前置条件:Node.js 22+ 与 Yarn;容器运行时(podman 或 docker)用于 OCI 打包;可访问容器仓库(如 quay.io)用于发布。

脚手架:python scripts/scaffold.py --type backend --rhdh-version 1.9 --plugin-id my-plugin(支持 --type、--path、--with-theme、--create-app-version、--json,可用 --help 查看全部选项)。

导出:python scripts/export-plugin.py --plugin-dir plugins/my-plugin --tag quay.io/ns/my-plugin:v0.1.0 --push --clean(支持 --format、--shared-package、--embed-package、--json)。

典型流程:先 backend 或 frontend 脚手架并实现,再 export 构建、导出、打包、推送,最后(仅前端)用 wiring 生成 dynamic-plugins.yaml。

版本解析:脚手架前需确定目标 RHDH 版本,查阅 ../rhdh/references/versions.md 兼容矩阵;若该文件不存在(独立安装),直接向用户询问目标版本。命令说明以 scripts/command-metadata.json 为准。

适用场景:需要在 RHDH 中开发、打包、发布或配置动态插件时;根据上下文推断意图,如“Create a new API plugin”归为 backend,“Package my plugin as OCI”归为 export,“Generate mount points”归为 wiring。

限制与常见问题:插件未加载时,后端需确认使用新后端系统(createBackendPlugin)及默认导出;前端需确认 scalprum.name 与 dynamicPlugins.frontend.<key> 下的键一致;两者均需检查与目标 RHDH 的版本兼容性。构建/导出失败可先运行 yarn tsc 检查 TypeScript 错误,清理陈旧产物 rm -rf dist dist-dynamic && yarn build,缺失依赖用 yarn add -D。MUI v5 样式缺失需在 src/index.ts 添加类名生成器配置。其余价格、平台等细节资料未提供。