Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计提醒

rhdh-backend-dynamic-plugin-bootstraprhdh 后端动态插件 bootstrap

Agent Skill

rhdh-backend-dynamic-plugin-bootstrap 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

47

周安装

2

GitHub Stars

公开资料未说明

下载量

16
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:rhdh-backend-dynamic-plugin-bootstrap(rhdh 后端动态插件 bootstrap)
来源仓库:https://github.com/kadel/claude-plugins
仓库路径:skills/rhdh-backend-dynamic-plugin-bootstrap
安装命令:
npx skills add https://github.com/kadel/claude-plugins --skill rhdh-backend-dynamic-plugin-bootstrap
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/kadel/claude-plugins --skill rhdh-backend-dynamic-plugin-bootstrap

简介

rhdh-backend-dynamic-plugin-bootstrap 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位候选结果。

  • 适用于基于关键词或任务场景的信息聚合场景。
  • 可通过 npx 命令从 claude-plugins 仓库安装,建议查看原始 README 了解具体用法。
  • 使用前需确认权限范围和维护状态,警惕可能的联网或文件读写行为。
  • 输出内容应以原始 README 和项目事实为依据,不直接作为最终结论。

SKILL.md

Purpose

Bootstrap a new backend dynamic plugin for Red Hat Developer Hub (RHDH). RHDH is the enterprise-ready Backstage applicationthat supports dynamic plugins - plugins that can be installed or uninstalled without rebuilding the application.

Note: This skill covers backend plugins only. Frontend dynamic plugins have different requirements (Scalprum configuration, mount points, dynamic routes) and are covered in a separate skill.

When to Use

Use this skill when creating a new backend plugin intended for RHDH dynamic plugin deployment. This includes:

  • New backend API plugins
  • Backend modules for existing plugins (e.g., catalog-backend-module-*)
  • Scaffolder actions and templates
  • Catalog processors and providers
  • Authentication modules
  • Any server-side functionality for RHDH

Do NOT use this skill for:

  • Frontend plugins (UI components, pages, cards)
  • Frontend plugin wiring (mount points, dynamic routes)
  • Themes or frontend customizations

Prerequisites

Before starting, ensure the following are available:

  • Node.js 22+ and Yarn
  • Container runtime (podman or docker)
  • Access to a container registry (e.g., quay.io) for publishing

Workflow Overview

  1. Determine RHDH Version - Identify target RHDH version for compatibility
  2. Create Backstage App - Scaffold Backstage app with matching version
  3. Create Backend Plugin - Generate new backend plugin using Backstage CLI
  4. Implement Plugin Logic - Write the plugin code using new backend system
  5. Export as Dynamic Plugin - Build and export using RHDH CLI
  6. Package as OCI Image - Create container image for deployment
  7. Configure for RHDH - Create dynamic-plugins.yaml configuration

Step 1: Determine RHDH Version

Check the target RHDH version and find the compatible Backstage version. Consult references/versions.md for the version compatibility matrix.

RHDH VersionBackstage Versioncreate-app Version
1.8 / next1.42.50.7.3
1.71.39.10.6.2
1.61.36.10.5.25
1.51.35.10.5.24

Ask the user which RHDH version they are targeting if not specified.

Step 2: Create Backstage Application

Create a new Backstage application using the version-appropriate create-app:

# For RHDH 1.7 (adjust version as needed)
npx @backstage/create-app@0.6.2

# Follow prompts to name the application
# This creates the monorepo structure needed for plugin development

After creation, navigate to the app directory and install dependencies:

cd <app-name>
yarn install

Step 3: Create Backend Plugin

Generate a new backend plugin using the Backstage CLI:

yarn new

When prompted:

  1. Select "backend-plugin" as the plugin type
  2. Enter a plugin ID (e.g., my-plugin)
  3. The plugin will be created at plugins/<plugin-id>-backend/

The generated plugin structure:

plugins/<plugin-id>-backend/
├── src/
│   ├── index.ts           # Main entry point
│   ├── plugin.ts          # Plugin definition (new backend system)
│   └── service/
│       └── router.ts      # Express router
├── package.json
└── README.md

Step 4: Implement Plugin Logic

Backend plugins must use the new backend system for dynamic plugin compatibility. The plugin entry point should export a default using createBackendPlugin() or createBackendModule().

Example plugin structure (src/plugin.ts):

import {
  coreServices,
  createBackendPlugin,
} from '@backstage/backend-plugin-api';
import { createRouter } from './service/router';

export const myPlugin = createBackendPlugin({
  pluginId: 'my-plugin',
  register(env) {
    env.registerInit({
      deps: {
        httpRouter: coreServices.httpRouter,
        logger: coreServices.logger,
        config: coreServices.rootConfig,
      },
      async init({ httpRouter, logger, config }) {
        httpRouter.use(
          await createRouter({
            logger,
            config,
          }),
        );
        httpRouter.addAuthPolicy({
          path: '/health',
          allow: 'unauthenticated',
        });
      },
    });
  },
});

export default myPlugin;

The src/index.ts must export the plugin as default:

export { default } from './plugin';

Build and verify the plugin compiles:

cd plugins/<plugin-id>-backend
yarn build

Step 5: Export as Dynamic Plugin

Use the RHDH CLI to export the plugin as a dynamic plugin package:

cd plugins/<plugin-id>-backend
npx @red-hat-developer-hub/cli@latest plugin export

This command:

  • Builds the plugin
  • Creates dist-dynamic/ directory with the dynamic plugin package
  • Configures dependencies (peer vs bundled)
  • Generates config schema

The CLI automatically handles:

  • Shared dependencies: @backstage/* packages become peerDependencies
  • Bundled dependencies: Non-backstage deps are bundled in the package
  • Embedded packages: -node and -common suffix packages are embedded

For custom dependency handling, use flags:

# Mark a @backstage package as NOT shared (bundle it)
npx @red-hat-developer-hub/cli@latest plugin export \
  --shared-package '!/@backstage/plugin-notifications/'

# Embed a specific package
npx @red-hat-developer-hub/cli@latest plugin export \
  --embed-package @my-org/common-utils

See references/export-guide.md for detailed export options.

Step 6: Package as OCI Image

Package the dynamic plugin as an OCI container image for distribution:

cd plugins/<plugin-id>-backend
npx @red-hat-developer-hub/cli@latest plugin package \
  --tag quay.io/<namespace>/<plugin-name>:v0.1.0

Push the image to your container registry:

podman push quay.io/<namespace>/<plugin-name>:v0.1.0
# or
docker push quay.io/<namespace>/<plugin-name>:v0.1.0

See references/packaging-guide.md for alternative packaging methods (tgz, npm).

Step 7: Configure for RHDH

Create the dynamic plugin configuration for RHDH. Add to dynamic-plugins.yaml:

plugins:
  - package: oci://quay.io/<namespace>/<plugin-name>:v0.1.0!<plugin-id>-backend-dynamic
    disabled: false
    pluginConfig:
      # Plugin-specific configuration (optional)
      myPlugin:
        someOption: value

For local development/testing, copy dist-dynamic to RHDH's dynamic-plugins-root:

cp -r dist-dynamic /path/to/rhdh/dynamic-plugins-root/<plugin-id>-backend-dynamic

See examples/dynamic-plugins.yaml for a complete configuration example.

Debugging

For local debugging of dynamic plugins:

  1. Build and copy plugin to dynamic-plugins-root/
  2. Start RHDH backend with debugging: yarn workspace backend start --inspect
  3. Attach IDE debugger to port 9229
  4. Set breakpoints in dynamic-plugins-root/<plugin-id>/ files

See references/debugging.md for container-based debugging.

Common Issues

Plugin Not Loading

  • Verify plugin uses new backend system (createBackendPlugin)
  • Check plugin is exported as default export
  • Ensure version compatibility with target RHDH

Dependency Conflicts

  • Use --shared-package to exclude problematic shared deps
  • Use --embed-package to bundle required deps

Build Failures

  • Run yarn tsc to check TypeScript errors before export
  • Ensure all @backstage/* versions match target RHDH

Additional Resources

Reference Files

For detailed documentation, consult:

  • references/versions.md - Complete version compatibility matrix
  • references/export-guide.md - Detailed export options and flags
  • references/packaging-guide.md - OCI, tgz, and npm packaging
  • references/debugging.md - Local and container debugging

Example Files

Examples in examples/:

  • dynamic-plugins.yaml - Example RHDH plugin configuration

External Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

26.67%
按下载量换算4

windsurf

25.38%
按下载量换算4

trae

20.25%
按下载量换算3

OpenCode

13.09%
按下载量换算2

Codex

8.19%
按下载量换算1

Antigravity

3.96%
按下载量换算1

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills