From f4a345e1cd56c1ece00ca8877389b2c81f8330da Mon Sep 17 00:00:00 2001 From: Hope Hadfield Date: Fri, 23 Jan 2026 10:47:29 -0500 Subject: [PATCH 1/5] docs: add plugin creation tips to CONTRIBUTING.md Signed-off-by: Hope Hadfield --- CONTRIBUTING.md | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9e41ef54b5..5941ef7d6c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -269,13 +269,34 @@ Each plugin/package has its own API Report which means you might see more than o When you've got your contribution working, tested, and committed to your branch it's time to create a Pull Request (PR). If you are unsure how to do this GitHub's [Creating a pull request from a fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) documentation will help you with that. +For new plugins, it is recommended that your initial PR simply creates the workspace for your plugins. In this PR, be sure to add maintainers to the `CODEOWNERS` file for the new workspace. This will streamline the approval process, and also ensure that you have full autonomy over further development of your plugin. + +### Checklist to Ensure your Plugin is Ready to Merge + +* Workspace `package.json` contains + * `private: true` + * Correct repository url + * Few dependencies at workspace-level +* Plugin `package.json` contains + * If intending to publish + * No `private: true` + * `publishConfig.access: “public”` + * Correct `backstage` config with `role`, `pluginId`, and `pluginPackages` + * Correct repository url +* Changeset is present +* README files are present and appropriate +* `backstage.json` is present with appropriate Backstage version +* `config.d.ts` exists at package-level if plugin has configuration + * Contains proper visibility annotations +* `.github/CODEOWNERS` is up to date + > [!NOTE] -> Only [repository maintainers](https://github.com/orgs/redhat-developer/teams/rhdh-plugins-maintainers) can bypass the SonarCloud test. We typically grant a one-time exception for new plugins that require a full application instead of a standalone development server. If this applies to your pull request, please mention it in the description. +> Only [repository maintainers](https://github.com/orgs/redhat-developer/teams/rhdh-cope) can bypass the SonarCloud test. We typically grant a one-time exception for new plugins that require a full application instead of a standalone development server. If this applies to your pull request, please mention it in the description. ## Plugin Owner Responsibilities > [!NOTE] -> To carry out your responsibilities as a plugin owner, you will need write access to the repository. If you are a plugin owner and do not have write access, please reach out to one of the [repository maintainers](https://github.com/orgs/redhat-developer/teams/rhdh-plugins-maintainers). +> To carry out your responsibilities as a plugin owner, you will need write access to the repository. If you are a plugin owner and do not have write access, please reach out to one of the [repository maintainers](https://github.com/orgs/redhat-developer/teams/rhdh-cope). As a plugin owner, you are responsible for the ongoing health and maintenance of your plugin(s) in this repository. From 6bc4a6ddb82ca6e662e9620e31a08f5272d3c5c7 Mon Sep 17 00:00:00 2001 From: Hope Hadfield Date: Fri, 23 Jan 2026 12:20:33 -0500 Subject: [PATCH 2/5] Update CONTRIBUTING.md Co-authored-by: Paul Schultz --- CONTRIBUTING.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5941ef7d6c..f4437fa9ae 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -273,22 +273,25 @@ For new plugins, it is recommended that your initial PR simply creates the works ### Checklist to Ensure your Plugin is Ready to Merge -* Workspace `package.json` contains +* Workspace `package.json` * `private: true` - * Correct repository url - * Few dependencies at workspace-level -* Plugin `package.json` contains - * If intending to publish - * No `private: true` - * `publishConfig.access: “public”` - * Correct `backstage` config with `role`, `pluginId`, and `pluginPackages` - * Correct repository url -* Changeset is present -* README files are present and appropriate -* `backstage.json` is present with appropriate Backstage version -* `config.d.ts` exists at package-level if plugin has configuration - * Contains proper visibility annotations -* `.github/CODEOWNERS` is up to date + * Use the correct repository url + * Keep workspace-level dependencies minimal +* Plugin `package.json` + * For publishable plugins: + * Omit `private: true` + * Set `publishConfig.access` to `"public"` + * Include a valid `backstage` config with `role`, `pluginId`, and `pluginPackages` + * Use the correct repository URL +* Required files + * Changeset is present + * README files with relevant documentation + * `backstage.json` specifying a compatible Backstage version +* Configuration (if applicable) + * Include `config.d.ts` at the package level + * Add proper visibility annotations +* Ownership + * Update `.github/CODEOWNERS` with appropriate maintainers > [!NOTE] > Only [repository maintainers](https://github.com/orgs/redhat-developer/teams/rhdh-cope) can bypass the SonarCloud test. We typically grant a one-time exception for new plugins that require a full application instead of a standalone development server. If this applies to your pull request, please mention it in the description. From f63f28f7ac9bb574e271afb72698a74995e654e5 Mon Sep 17 00:00:00 2001 From: Hope Hadfield Date: Fri, 23 Jan 2026 12:24:29 -0500 Subject: [PATCH 3/5] ping cope --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f4437fa9ae..dd4d10a37e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -269,7 +269,7 @@ Each plugin/package has its own API Report which means you might see more than o When you've got your contribution working, tested, and committed to your branch it's time to create a Pull Request (PR). If you are unsure how to do this GitHub's [Creating a pull request from a fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) documentation will help you with that. -For new plugins, it is recommended that your initial PR simply creates the workspace for your plugins. In this PR, be sure to add maintainers to the `CODEOWNERS` file for the new workspace. This will streamline the approval process, and also ensure that you have full autonomy over further development of your plugin. +For new plugins, it is recommended that your initial PR simply creates the workspace for your plugins. In this PR, be sure to add maintainers to the `CODEOWNERS` file for the new workspace. This will streamline the approval process, and also ensure that you have full autonomy over further development of your plugin. Please ping @rhdh-cope in #forum-rhdh on Slack when the initial PR is ready for review. ### Checklist to Ensure your Plugin is Ready to Merge From 6795fd5145b6ff2c03d2201698b478456de9f892 Mon Sep 17 00:00:00 2001 From: Hope Hadfield Date: Mon, 26 Jan 2026 13:18:58 -0500 Subject: [PATCH 4/5] add timelines Signed-off-by: Hope Hadfield --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dd4d10a37e..01dcc012d5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -269,7 +269,9 @@ Each plugin/package has its own API Report which means you might see more than o When you've got your contribution working, tested, and committed to your branch it's time to create a Pull Request (PR). If you are unsure how to do this GitHub's [Creating a pull request from a fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) documentation will help you with that. -For new plugins, it is recommended that your initial PR simply creates the workspace for your plugins. In this PR, be sure to add maintainers to the `CODEOWNERS` file for the new workspace. This will streamline the approval process, and also ensure that you have full autonomy over further development of your plugin. Please ping @rhdh-cope in #forum-rhdh on Slack when the initial PR is ready for review. +For new plugins, it is recommended that your initial PR simply creates the workspace for your plugins. In this PR, be sure to add maintainers to the `CODEOWNERS` file for the new workspace. This will streamline the approval process, and also ensure that you have full autonomy over further development of your plugin. + +Please ping @rhdh-cope in #forum-rhdh on Slack when the PR is ready for review. We will do our best to complete an initial review within 5 working days, and address any subsequent updates within 2 working days. ### Checklist to Ensure your Plugin is Ready to Merge From 81931911a11f7505ba9c71d6dfe06719a25d3f25 Mon Sep 17 00:00:00 2001 From: Hope Hadfield Date: Tue, 27 Jan 2026 14:24:26 -0500 Subject: [PATCH 5/5] remove exception Signed-off-by: Hope Hadfield --- CONTRIBUTING.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 01dcc012d5..20f7ae288e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -295,9 +295,6 @@ Please ping @rhdh-cope in #forum-rhdh on Slack when the PR is ready for review. * Ownership * Update `.github/CODEOWNERS` with appropriate maintainers -> [!NOTE] -> Only [repository maintainers](https://github.com/orgs/redhat-developer/teams/rhdh-cope) can bypass the SonarCloud test. We typically grant a one-time exception for new plugins that require a full application instead of a standalone development server. If this applies to your pull request, please mention it in the description. - ## Plugin Owner Responsibilities > [!NOTE]