Repository navigation
website: add VS Code install buttons for plugins and canvases 🤖🤖🤖 - #5708
Merged
Merged
Conversation
Link catalog and detail actions through the awesome-copilot marketplace using canonical plugin names, including owning plugins for bundled canvases. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
🚦 Submission status: ⏳ Awaiting automationRisk tier: Why this tier
Automated checks
Action needed
Review
Commands
Updated for |
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Accessibility corrections and successful production-build, browser, and VS Code handoff validation are still needed.
1 open issue
What changed in this PR
Adds VS Code installation actions to the website’s plugin and canvas catalogs and detail pages while preserving existing installation and source actions.
Changes:
- Generate marketplace-qualified links using canonical plugin names and canvas ownership.
- Add VS Code buttons and align external canvas app-link eligibility.
- Add focused URL tests, browser regression checks, and contributor documentation.
| File | Description |
|---|---|
website/src/pages/plugin/[id].astro |
Builds install links using canonical plugin names. |
website/src/pages/extension/[id].astro |
Builds VS Code links for marketplace-backed canvases. |
website/src/lib/plugin-install.ts |
Centralizes install URL validation and encoding. |
website/src/components/brand/PluginsCatalog.tsx |
Adds VS Code actions to plugin cards. |
website/src/components/brand/PluginDetail.tsx |
Adds a VS Code detail-page button. |
website/src/components/brand/ExtensionsCatalog.tsx |
Adds canvas install actions and aligns app-link eligibility. |
website/src/components/brand/ExtensionDetail.tsx |
Adds VS Code actions for eligible canvases. |
website/scripts/plugin-install.test.mjs |
Tests URL encoding, validation, and marketplace identities. |
website/scripts/plugin-install-regression.mjs |
Checks rendered links, keyboard activation, and layouts. |
website/README.md |
Documents install behavior and validation commands. |
Review effort: Max
Scope the URI builder to awesome-copilot, retain existing app and CLI behavior, and remove the duplicate canvas install link. Narrow browser coverage and run focused URI tests in preview CI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
aaronpowell
previously approved these changes
Oct 27, 2026
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
aaronpowell
approved these changes
Oct 27, 2026
| throw new Error(`Invalid marketplace plugin name: ${pluginName}`); | ||
| } | ||
|
|
||
| const query = new URLSearchParams({ source: "github/awesome-copilot", plugin: pluginName }); |
|
|
||
| const base = process.env.SITE_BASE_URL ?? "http://127.0.0.1:4321"; | ||
| const details = [ | ||
| ["/plugin/ai-ready/", "ai-ready"], |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Pull Request Checklist
npm startand verified thatREADME.mdis up to date.mainbranch for this pull request.Description
Add visible Install in VS Code buttons to Plugins and canvas Extensions, on both catalog cards and detail pages. Preserve the existing Copilot app, CLI, and source actions.
Links use the awesome-copilot marketplace repository and the canonical plugin name:
Canvas links install the owning
pluginName, which can differ from the canvas ID. Curated third-party entries also resolve throughgithub/awesome-copilot, preserving the marketplace's upstream locator. External canvases without a marketplace plugin remain source-only.Existing Copilot app eligibility, CLI identifiers, and the compact detail header's primary app action are unchanged. Keep one VS Code action in the canvas hero rather than repeating it in the article.
The shared URI builder targets only this marketplace. Focused URI tests run in preview CI; the browser smoke test checks representative catalog and detail links without scanning every generated page or duplicating existing layout/header regressions.
Type of Contribution
Additional Notes
Validation on Node v24.17.0:
node --test website/scripts/plugin-install.test.mjs: passed, 3 focused tests for the awesome-copilot URI, query encoding, and invalid plugin names. Also wired into the website preview workflow.npm start: passed. Root README and marketplace generation left no generated-file changes.npm run website:build: blocked. Root build and website data generation passed, including 190 plugin records and 56 canvas extension records, but Astro was unavailable.npm ci --prefix website: failed, the configured npm feed returned HTTP 404 for locked dependencyvite@8.3.5; the public registry was also unreachable. Dependency manifests and lockfiles are unchanged.node website/scripts/plugin-install-regression.mjs: blocked before execution because Playwright is unavailable. The narrowed smoke test checks catalog links, local/external plugin details, canvas owner mapping, external canvas eligibility, and source-only canvas details without launching VS Code.node --check website/scripts/plugin-install-regression.mjsandnode --check website/src/lib/plugin-install.ts: passed.pluginNamevalues match marketplace entries.git diff --check: passed.bash eng/fix-line-endings.sh: attempted, but its GNU-stylesed -iinvocation is incompatible with macOS. Normalized the changed Markdown withperl -pi -e 's/\r$//' website/README.mdand verified LF endings.The preview build and deployment passed for the initial implementation (
5112058d); the simplification needs a fresh CI run. Local production and browser checks remain blocked by missing website dependencies. Rendered accessibility checks and application handoff have not been verified. The VS Code link requires a build that supports thechat-pluginhandler, enabled plugins, and Copilot on the Agent Host. Installation remains subject to VS Code's confirmation flow.The unchecked resource-submission and Copilot-content testing checklist items do not apply to this website-only change.
By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.
🤖 Posted by GitHub Copilot on Harald's behalf.