Repository navigation
feat(cli-modules): add Rsdoctor CLI module and workspace #4898
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
b8bf8b5
6ad4097
6f52af1
2df7cd7
7c8efaf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,25 +17,27 @@ | |
|
|
||
| /workspaces/adoption-insights @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @rohitkrai03 @karthikjeeyar @eswaraiahsapram | ||
| /workspaces/ai-integrations @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @redhat-developer/rhdh-ai @rohitkrai03 @karthikjeeyar @lucifergene @johnmcollier @gabemontero | ||
| /workspaces/app-defaults @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @rohitkrai03 @christoph-jerolimov | ||
| /workspaces/augment @redhat-developer/rhdh-plugins-maintainers @pkliczewski @durandom @gabemontero @mareklibra @rohitkrai03 | ||
| /workspaces/boost @redhat-developer/rhdh-plugins-maintainers @durandom @gabemontero @mareklibra @rohitkrai03 @johnmcollier @jordigilh | ||
| /workspaces/app-defaults @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @rohitkrai03 @christoph-jerolimov | ||
| /workspaces/bulk-import @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-plugins @rm3l @redhat-developer/rhdh-ui @debsmita1 @its-mitesh-kumar | ||
| /workspaces/cost-management @redhat-developer/rhdh-plugins-maintainers @ydayagi @mareklibra @batzionb @PreetiW @asmasarw @Aurobinda55 @r14chandra @kgaikwad | ||
| /workspaces/cli-modules @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-cope @redhat-developer/rhdh-ui @christoph-jerolimov | ||
| /workspaces/dcm @redhat-developer/rhdh-plugins-maintainers @asmasarw @jkilzi @mareklibra | ||
| /workspaces/extensions @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-plugins @redhat-developer/rhdh-ui @christoph-jerolimov @karthikjeeyar | ||
| /workspaces/global-header @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @ciiay @divyanshiGupta | ||
| /workspaces/homepage @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @christoph-jerolimov @eswaraiahsapram | ||
| /workspaces/install-dynamic-plugins @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-plugins | ||
| /workspaces/intelligent-assistant @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @redhat-developer/rhdh-ai @karthikjeeyar @rohitkrai03 @yangcao77 | ||
| /workspaces/mcp-integrations @redhat-developer/rhdh-plugins-maintainers @johnmcollier @gabemontero @redhat-developer/rhdh-ai | ||
| /workspaces/konflux @redhat-developer/rhdh-plugins-maintainers @rrosatti @sahil143 @milantaky | ||
| /workspaces/mcp-integrations @redhat-developer/rhdh-plugins-maintainers @johnmcollier @gabemontero @redhat-developer/rhdh-ai | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [high] scope-defect The /workspaces/mcp-integrations entry appears twice (lines 32 and 34) with identical owners after the alphabetical reordering. GitHub CODEOWNERS uses last-matching-pattern semantics, so the second silently overrides the first. Suggested fix: Remove line 32 (the first /workspaces/mcp-integrations entry). The entry at line 34 (after konflux at line 33) is in the correct alphabetical position. |
||
| /workspaces/orchestrator @redhat-developer/rhdh-plugins-maintainers @lholmquist @lokanandaprabhu @redhat-developer/rhdh-plugins @karthikjeeyar @christoph-jerolimov | ||
| /workspaces/quickstart @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @divyanshiGupta @its-mitesh-kumar | ||
| /workspaces/cost-management @redhat-developer/rhdh-plugins-maintainers @ydayagi @mareklibra @batzionb @PreetiW @asmasarw @Aurobinda55 @r14chandra @kgaikwad | ||
| /workspaces/scorecard @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-plugins @redhat-developer/rhdh-ui @christoph-jerolimov @its-mitesh-kumar @eswaraiahsapram | ||
| /workspaces/theme @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @ciiay @logonoff | ||
| /workspaces/translations @redhat-developer/rhdh-plugins-maintainers @redhat-developer/rhdh-ui @ciiay @debsmita1 @karthikjeeyar | ||
| /workspaces/konflux @redhat-developer/rhdh-plugins-maintainers @rrosatti @sahil143 @milantaky | ||
| /workspaces/x2a @redhat-developer/rhdh-plugins-maintainers @mareklibra @eloycoto @yray-pixel | ||
| /workspaces/dcm @redhat-developer/rhdh-plugins-maintainers @asmasarw @jkilzi @mareklibra | ||
|
|
||
| # AI agent configuration — requires maintainer approval to prevent | ||
| # agents from modifying their own guardrails. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| # Changesets | ||
|
|
||
| Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works | ||
| with multi-package repos, or single-package repos to help you version and publish your code. You can | ||
| find the full documentation for it [in our repository](https://github.com/changesets/changesets) | ||
|
|
||
| We have a quick list of common questions to get you started engaging with this project in | ||
| [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| { | ||
| "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json", | ||
| "changelog": "@changesets/cli/changelog", | ||
| "commit": false, | ||
| "fixed": [], | ||
| "linked": [], | ||
| "access": "public", | ||
| "baseBranch": "main", | ||
| "updateInternalDependencies": "patch", | ||
| "privatePackages": { | ||
| "tag": false, | ||
| "version": false | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| .git | ||
| .yarn/cache | ||
| .yarn/install-state.gz | ||
| node_modules | ||
| packages/*/src | ||
| packages/*/node_modules | ||
| plugins | ||
| *.local.yaml |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| playwright.config.ts |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| module.exports = require('../../.eslintrc.cjs'); |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| # macOS | ||
| .DS_Store | ||
|
|
||
| # Logs | ||
| logs | ||
| *.log | ||
| npm-debug.log* | ||
| yarn-debug.log* | ||
| yarn-error.log* | ||
| lerna-debug.log* | ||
|
|
||
| # Coverage directory generated when running tests with coverage | ||
| coverage | ||
|
|
||
| # Dependencies | ||
| node_modules/ | ||
|
|
||
| # Yarn files | ||
| .pnp.* | ||
| .yarn/* | ||
| !.yarn/patches | ||
| !.yarn/plugins | ||
| !.yarn/releases | ||
| !.yarn/sdks | ||
| !.yarn/versions | ||
|
|
||
| # Node version directives | ||
| .nvmrc | ||
|
|
||
| # dotenv environment variables file | ||
| .env | ||
| .env.test | ||
|
|
||
| # Build output | ||
| dist | ||
| dist-types | ||
|
|
||
| # Temporary change files created by Vim | ||
| *.swp | ||
|
|
||
| # MkDocs build output | ||
| site | ||
|
|
||
| # Local configuration files | ||
| *.local.yaml | ||
|
|
||
| # Sensitive credentials | ||
| *-credentials.yaml | ||
|
|
||
| # vscode database functionality support files | ||
| *.session.sql | ||
|
|
||
| # E2E test reports | ||
| e2e-test-report/ | ||
|
|
||
| # Rsdoctor reports | ||
| .rsdoctor/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| dist | ||
| dist-types | ||
| coverage | ||
| .vscode | ||
| .eslintrc.js | ||
| .rsdoctor |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| approvedGitRepositories: | ||
| - '**' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| # [Backstage](https://backstage.io) | ||
|
|
||
| This is your newly scaffolded Backstage App, Good Luck! | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [high] stale-doc The workspace README retains full scaffold boilerplate: header, TODO banner, placeholder description, and a broken link to non-existent ./plugins/plugin-backend/README. The actual plugin is rsdoctor-test. Suggested fix: Replace the scaffold text with a real workspace description and update the plugin list to reference rsdoctor-test. |
||
|
|
||
| > [!IMPORTANT] > **TODO**: Consider updating your README text with relevant documentation for your plugin. See some suggested text below. | ||
|
|
||
| # cli-modules | ||
|
|
||
| This workspace contains plugins for \[brief description of purpose, e.g. exposing data from a service]. | ||
|
|
||
| ## Plugins | ||
|
|
||
| - \[plugin-backend](./plugins/plugin-backend/README): Backend plugin that provides... | ||
|
|
||
| ## Getting Started | ||
|
|
||
| To start the app, run: | ||
|
|
||
| ```sh | ||
| yarn install | ||
| yarn start | ||
| ``` | ||
|
|
||
| To generate knip reports for this app, run: | ||
|
|
||
| ```sh | ||
| yarn backstage-repo-tools knip-reports | ||
| ``` | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| { | ||
| "version": "1.54.6" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| apiVersion: backstage.io/v1alpha1 | ||
| kind: Component | ||
| metadata: | ||
| name: cli-modules | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [high] naming-conventions The catalog-info.yaml retains scaffold placeholder values: name: cli-modules, description: An example of a Backstage application, type: website, owner: john@example.com, lifecycle: experimental. All standard annotations and subcomponentOf field are absent. Suggested fix: Follow the pattern in workspaces/homepage/catalog-info.yaml: set name to red-hat-developer-hub-cli-modules, provide a real description, set type: backstage-plugin, lifecycle: active, a real owner, and add standard annotations. |
||
| description: An example of a Backstage application. | ||
| # Example for optional annotations | ||
| # annotations: | ||
| # github.com/project-slug: backstage/backstage | ||
| # backstage.io/techdocs-ref: dir:. | ||
| spec: | ||
| type: website | ||
| owner: john@example.com | ||
| lifecycle: experimental | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| { | ||
| "name": "@internal/cli-modules", | ||
| "version": "1.0.0", | ||
| "private": true, | ||
| "engines": { | ||
| "node": "22 || 24" | ||
| }, | ||
| "scripts": { | ||
| "start": "backstage-cli repo start", | ||
| "tsc": "tsc", | ||
| "tsc:full": "tsc --skipLibCheck true --incremental false", | ||
| "build:all": "backstage-cli repo build --all", | ||
| "build:api-reports": "yarn build:api-reports:only --tsc", | ||
| "build:api-reports:only": "backstage-repo-tools api-reports -o ae-wrong-input-file-type,ae-undocumented --validate-release-tags", | ||
| "build:knip-reports": "backstage-repo-tools knip-reports", | ||
| "build:rsdoctor": "yarn workspace app build:rsdoctor", | ||
| "rsdoctor:analyze": "backstage-cli rsdoctor analyze --profile packages/app/.rsdoctor/manifest.json", | ||
| "rsdoctor:check": "yarn workspace app backstage-cli rsdoctor check", | ||
| "rsdoctor:diff": "yarn workspace app backstage-cli rsdoctor diff", | ||
| "clean": "backstage-cli repo clean", | ||
| "test": "backstage-cli repo test", | ||
| "test:all": "backstage-cli repo test --coverage", | ||
| "fix": "backstage-cli repo fix", | ||
| "lint": "backstage-cli repo lint --since origin/main", | ||
| "lint:all": "backstage-cli repo lint", | ||
| "prettier:check": "prettier --check .", | ||
| "prettier:fix": "prettier --write .", | ||
| "new": "backstage-cli new --scope @red-hat-developer-hub", | ||
| "postinstall": "cd ../../ && yarn install" | ||
| }, | ||
| "workspaces": [ | ||
| "packages/*", | ||
| "plugins/*" | ||
| ], | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/redhat-developer/rhdh-plugins", | ||
| "directory": "workspaces/cli-modules" | ||
| }, | ||
| "devDependencies": { | ||
| "@backstage/cli": "^0.36.5", | ||
| "@backstage/cli-defaults": "^0.1.5", | ||
| "@backstage/e2e-test-utils": "^0.1.2", | ||
| "@backstage/repo-tools": "^0.19.0", | ||
| "@changesets/cli": "^2.27.1", | ||
| "@red-hat-developer-hub/cli-module-rsdoctor": "workspace:^", | ||
| "@types/react": "^18", | ||
| "@types/react-dom": "^18", | ||
| "knip": "^5.27.4", | ||
| "node-gyp": "^10.0.0", | ||
| "prettier": "^2.3.2", | ||
| "typescript": "~5.8.0" | ||
| }, | ||
| "resolutions": { | ||
| "@types/react": "^18", | ||
| "@types/react-dom": "^18" | ||
| }, | ||
| "prettier": "@backstage/cli/config/prettier", | ||
| "lint-staged": { | ||
| "*.{js,jsx,ts,tsx,mjs,cjs}": [ | ||
| "eslint --fix", | ||
| "prettier --write" | ||
| ], | ||
| "*.{json,md}": [ | ||
| "prettier --write" | ||
| ] | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[medium] architecture-coherence
The file header states the workspace list is alphabetically ordered. /workspaces/cli-modules (line 25) appears after /workspaces/cost-management (line 24), but cli sorts before cos.
Suggested fix: Move /workspaces/cli-modules to before /workspaces/cost-management.