Unifying the repository #13
Conversation
- Introduced a new markdown file detailing testing setup, methodologies, and best practices for frontend plugins using Backstage. - Included examples for testing React components, extensions, utility APIs, entity components, permissions, and routes. - Provided guidelines for running tests and integrating with CI/CD. feat: create utility APIs reference documentation - Added a new markdown file outlining the creation and usage of utility APIs in Backstage plugins. - Documented steps for defining API interfaces, implementing APIs, and using them in React components. - Included common patterns for REST clients, caching, and event bus APIs. chore: implement cleanup script for scaffolding new plugins - Created a script to clean up example components and rename the main component to match the plugin name. - Ensured a clean plugin structure is ready for development by removing unnecessary files and updating references. ci: add continuous deployment workflow for versioned releases - Configured a GitHub Actions workflow to publish packages on tag pushes. - Included steps for building, generating type declarations, and publishing to npm. ci: update CI workflow for improved checks and dependencies - Enhanced the CI workflow to use updated actions and Node.js version. - Added type-checking and formatting checks to the CI process. test: extend AssetParser tests to cover additional file paths - Updated tests for AssetParser to include checks for files in the '.github' directory. - Ensured that the isAssetFile method correctly identifies asset files in new locations. fix: enhance AssetParser to recognize assets in '.github' directories - Modified the isAssetFile method to include checks for asset files located in the '.github' directory. - Improved code readability by defining known asset directories in a static array.
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
* feat: refactor McpConfigDialog with Backstage UI components Co-authored-by: Copilot <copilot@github.com> * feat: update styles and components for improved UI consistency Co-authored-by: Copilot <copilot@github.com> * fix: update tools and tags rendering in AssetCard component * feat: update colors and styles for improved UI consistency Co-authored-by: Copilot <copilot@github.com> * chore: update package manager to Yarn 4.13.0 and dependencies Co-authored-by: Copilot <copilot@github.com> * chore: remove unused CSS import from index.ts * refactor: remove unused linting step and update component types Co-authored-by: Copilot <copilot@github.com> * feat: add MCP configuration page and update routing * chore: remove empty code change entries from history Co-authored-by: Copilot <copilot@github.com> * feat: add MCP configuration and update routing references Co-authored-by: Copilot <copilot@github.com> --------- Co-authored-by: Copilot <copilot@github.com>
* add(tests): added playwright tests for this plugin * add(add-gitignore): add test files * feat(gha): added new step summaries * feat(gha): separate the github actions * chore: remove obsolete mcp.json configuration file * fix(plugin): fix upon commentaries --------- Co-authored-by: Carlos Alexandre <carlos.alexandre@nos.pt>
Replace the hardcoded mock API factory in dev/index.tsx with the real DevAiHubClient so synced AI assets from providers actually appear in the dev server UI. Move e2e mock data to page.route() interception in the base fixture so tests remain deterministic without depending on the dev app's API wiring. Also includes backend AssetParser improvements and config updates. Signed-off-by: Ricardo Calçado <ricardo.calcado10@gmail.com>
Moves SmartToy icon to PageBlueprint, removes standalone header and NavItemBlueprint.
…w material - Rebased 17 NOS commits onto upstream/main (37dad45) via -X theirs - Restored NOS/BUI tree where -X theirs leaked upstream MUI code - Removed re-added upstream files NOS had dropped (package-lock.json, publish.yaml) - Kept additive raw material for BUI reintroduction: migrations 007-010, examples/bundles + mcp-catalog.yaml, translation.ts + locales - Validated: tsc, lint, backend 71/71, frontend 17/17
… URL to upstream - Rename package namespace across all packages, imports, scripts, resolvePackagePath - Switch repository.url to github.com/JulianPedro/backstage-dev-ai-hub for provenance - Left app-config.* and historical docs untouched - Validated: tsc, lint, backend 71/71, frontend 17/17
- AssetType union + 'bundle'; BundleItem, McpCatalogEntry, McpRequirement - AiAssetSummary/AiAsset: itemCount, helpText, mcps, items - schema: items, help, mcps fields + McpCatalogFileSchema - installPaths: bundle convention (no install path) - bundle keys added to AssetType maps (store stats, AssetCard, AssetDetailPanel)
…nc/router - AiAssetStore: persist/read bundle_items, help_text, mcps; resolveBundleItems; MCP catalog methods (upsert/deleteNotIn/list); bundle-first ordering - types: AiAssetInput.bundleRefs - AssetParser.buildAsset: populate helpText, mcps, bundleRefs - AiAssetSyncService: sync mcp-catalog.yaml; bundles need no .md (empty content), keep NOS flexible junction discovery - router: GET /mcp-catalog; bundle .zip download with per-item install paths - McpServerService: install_bundle tool (NOS-style content payload), keep proactive toggle
- AssetHelpDialog (new, BUI Dialog + ReactMarkdown) for asset help text - AssetCard: help button (when helpText) + required-MCP badges + onHelp prop - DevAiHubPage: helpId URL param + AssetHelpDialog wiring + Bundles stat card - AssetDetailPanel: bundle items + required-MCP metadata rows - DevAiHubClient/hooks: getMcpCatalog + useMcpCatalog; tool-aware getDownloadUrl - McpConfigPage: MCP Catalog section with VS Code / Cursor deep-link install
… + es/pt-BR locales Rename interpolation param count->n (count is Backstage plural-reserved); pass String(value). Update dist-types for backend baseUrl changes.
… help/mcps in example agent
JulianPedro
left a comment
There was a problem hiding this comment.
@paparuco , i was reviewing the changes and I think it would be worth taking a look at the version in PR #12. Many of the modifications are aiming to solve the same problems.
If that PR gets approved, we could merge both PRs into a third branch and consolidate the work there.
Let me know what you think. I can start merging the changes in my spare time.
Sounds good 👍 Unfortunately I will go on vacation until the 23 of June so I will pass the ball @pedrojreis ( he will also be out so we can only resume at a later date, but feel free to advance!) |
No problem, my friend. In the meantime, I'll work on merging both PRs. Have a great vacation! 😄 |
This PR does the following: