Skip to content

Unifying the repository #13

Open
paparuco wants to merge 27 commits into
JulianPedro:mainfrom
nosportugal:test-rebase
Open

Unifying the repository #13
paparuco wants to merge 27 commits into
JulianPedro:mainfrom
nosportugal:test-rebase

Conversation

@paparuco

@paparuco paparuco commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

This PR does the following:

  • Fixes Security issues
  • Changes to New Frontend System
  • Added E2E via playwright
  • Discovery in whole repository

paparuco and others added 26 commits June 3, 2026 10:48
- 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.

@JulianPedro JulianPedro left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.

Comment thread .github/workflows/ci.yml Outdated
Comment thread .github/workflows/e2e.yml Outdated
Comment thread .github/workflows/pages.yaml Outdated
@paparuco

paparuco commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator Author

@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!)

@JulianPedro

Copy link
Copy Markdown
Owner

@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! 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants