rhdh-plugin-authoring について
rhdh-plugin-authoringは、RHDH向けBackstage動的プラグインの作成と既存プラグインへの機能実装を支援するスキルです。拡張の種類やフロントエンド/バックエンドの目的に応じて作業を案内し、リポジトリに沿った開発資料とビルドチェックを示します。
主な機能
- 01フロントエンド/バックエンドの雛形作成
- 02拡張タイプに応じた手順選択
- 03実装とテストのガイダンス
- 04RHDH固有の開発パターン
- 05順序に沿ったワークスペースのビルド確認
活用シーン
- 01新しいRHDH動的プラグインの作成
- 02既存プラグインへの機能追加
- 03プラグインコードのレビューとビルド確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ redhat-developer/ rhdh-skills --skill rhdh-plugin-authoringインストール後、Claude Code で/rhdh-plugin-authoringを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlexamples/dynamic-plugins.yamlreferences/backend.mdbackstage-skills.mdbui.mddev-app.mddevelopment-patterns.mdfrontend-specs.mdfrontend.mdnfs.mdplugin-types.mdrhdh.mdtesting.mdscripts/detect-rhdh-context.pyscaffold.py詳細
RHDH プラグインの作成
プラグインのソースコードを担当します。RHDH 用の新しい Backstage 動的プラグインを作成する場合も、既存のプラグインに機能を実装する場合も対象です。バックエンドとフロントエンドは同じ作業の分岐であり、規約、ビルドのゲート、リポジトリは共通です。スキルを尋ねるのではなく、依頼内容に応じて分岐を選択してください。
まずはこちら
- 対象リポジトリの
AGENTS.mdまたはCLAUDE.mdと、リンクされている仕様や issue を確認します。リポジトリのルールは、ここに記載された内容より優先されます。 - 既存のチェックアウトで
python scripts/detect-rhdh-context.py --path <plugin-or-workspace>を実行します。役割、フロントエンドシステム、プラグイン ID、動的プラグインかどうか、MUI のバージョン、パッケージマネージャーを記録します。 - 対象の RHDH と Backstage のバージョンを確認します。ユーザーまたはリポジトリに明示されている値を優先します。それ以外の場合は、リポジトリ、ツール、バージョンに関する情報を得るために
/rhdh-contextを呼び出します。利用できない場合は、推測せずユーザーに確認します。 - ファイルを変更する前にブランチとステータスを確認し、未コミットの作業を保護します。
新しいプラグインを作成する場合、または公開 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 コードを書くのは、すでに NFS に移行済みのプラグインです。/rhdh-backstage-upgradeは、@backstage/*依存関係のバージョン更新を担当します。/rhdh-test-placementは、ここでテストを書く前に、恒久的なテストを配置すべきリポジトリとレイヤーについて助言します。/rhdh-pr-createは、changeset、ステージング、署名済みコミット、プルリクエストを担当します。変更したファイルはステージングせずに残し、完了時に一覧を提示してください。
名前を指定してスキルを呼び出し、会話の中で引き継ぎ内容を説明してください。他のスキルのファイルは開かないでください。
不変条件
- バックエンドコードでは、新しいバックエンドシステムのみを使用します。
@backstage/backend-plugin-apiのcreateBackendPluginまたはcreateBackendModuleを使用してください。レガシーの バックエンドシステムは使用しないでください。 src/index.tsからのデフォルトエクスポートが必須です。これがないことは、RHDH で動的プラグインが読み込まれない最も一般的な原因です。- Scalprum 名は、
dynamic-plugins.yamlの配線で使用されるキーと一致させる必要があります。 - 隣接する実装に合わせてください。設定、フィクスチャパス、ユーティリティのパターンを新たに考案する前に、同じ階層にあるワークスペースを二つか三つ確認してください。
- 段階的にビルドします。コンポーネントまたはフックを一つ作成し、型チェックを行い、次に進む前に、実行中のアプリで視覚的な変化を確認してください。
- Backstage のテスト API を記憶に頼って使うのではなく、現在の隣接するテストを参考にしてください。テスト API はリリース間で変わります。
- ワークスペースのビルドゲートは順番に実行し、最初の失敗で停止してください。
yarn prettier:fix、yarn tsc:full、yarn build:all、yarn test --watchAll=false、yarn build:api-reports:only。 - ここでは、ステージング、コミット、プッシュ、プルリクエストの作成を行わないでください。
完了
実行したブランチ、作成または変更したままステージングしていないファイル、実行したビルドゲートとその結果、追加した公開 API の範囲、残っているリスク、配線、エクスポート、テスト、公開のために次に呼び出すスキル名を報告してください。