Skip to content

website: add VS Code install buttons for plugins and canvases 🤖🤖🤖 - #5708

Merged
aaronpowell merged 3 commits into
mainfrom
digitarald/vscode-plugin-canvas-install
Oct 27, 2026
Merged

aaronpowell merged 3 commits into
mainfrom
digitarald/vscode-plugin-canvas-install

Conversation

@digitarald

@digitarald digitarald commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • I have read and followed the Guidance for submissions involving paid services.
  • My contribution adds a new instruction, prompt, agent, skill, workflow, or canvas extension file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, skill, workflow, or canvas extension with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.
  • I am targeting the main branch 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:

vscode://chat-plugin/install?source=github%2Fawesome-copilot&plugin=ai-ready

Canvas links install the owning pluginName, which can differ from the canvas ID. Curated third-party entries also resolve through github/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

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New plugin.
  • New skill file.
  • New agentic workflow.
  • New canvas extension.
  • Update to existing instruction, prompt, agent, plugin, skill, workflow, or canvas extension.
  • Other (please specify): Website install actions, focused tests, and contributor documentation.

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 dependency vite@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.mjs and node --check website/src/lib/plugin-install.ts: passed.
  • Preview workflow YAML parsing and the focused test-step wiring: passed.
  • Generated catalog identity check: passed, all plugin names and non-empty canvas pluginName values match marketplace entries.
  • git diff --check: passed.
  • UI design detector over the two components changed in the simplification: passed, no findings.
  • bash eng/fix-line-endings.sh: attempted, but its GNU-style sed -i invocation is incompatible with macOS. Normalized the changed Markdown with perl -pi -e 's/\r$//' website/README.md and 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 the chat-plugin handler, 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.

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>
@digitarald
digitarald requested a review from a team as a code owner October 27, 2026 01:28
Copilot AI max review requested due to automatic review settings October 27, 2026 01:28
@github-actions github-actions Bot added new-submission PR adds at least one new contribution website-update PR touches website content or code awaiting-automation merge-risk:medium labels Oct 27, 2026
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

🚦 Submission status: ⏳ Awaiting automation

Risk tier: merge-risk:high — Privileged execution, automation, or review-policy change
Required to merge: passing submission-gate checks plus 1 approval from reviewers with write access, including a maintainer with admin or maintain permission.

Why this tier
  • .github/workflows/deploy-website-preview.yml is a high-risk path (automation, scripts, MCP config, hooks, or review policy)

Automated checks

Check Status Details
Line endings 🔧 Infrastructure failure Waiting for a maintainer to approve workflow runs for this PR · logs
Spelling 🔧 Infrastructure failure Waiting for a maintainer to approve workflow runs for this PR · logs
Submission gate tests 🔧 Infrastructure failure Waiting for a maintainer to approve workflow runs for this PR · logs
Contributor reputation 🔧 Infrastructure failure Waiting for a maintainer to approve workflow runs for this PR · logs
Duplicate resource scan ⚠️ Failed (advisory, non-blocking) Waiting for a maintainer to approve workflow runs for this PR · logs
PR quality signal ⚠️ Failed (advisory, non-blocking) Waiting for a maintainer to approve workflow runs for this PR · logs

Action needed

  • 🔧 Line endings, Spelling, Submission gate tests, Contributor reputation hit an automation problem that is not caused by your contribution. Comment /rerun-checks to retry; maintainers are notified if it keeps failing.
  • ⚠️ Advisory checks did not complete (Duplicate resource scan, PR quality signal). This does not block the PR.

Review

  • Approvals: 0/1
  • Assigned reviewer: aaronpowell
  • Review target date: not set
  • Still needed: 1 more approval(s); an approval from a maintainer with admin or maintain permission
  • The core-maintainers pool is not staffed yet; an approver with admin or maintain permission is required instead.

Commands

Command Who What it does
/rerun-checks PR author, maintainers Re-runs failed or incomplete checks and re-evaluates this gate
/request-review PR author, maintainers Asks the review rotation to assign a reviewer (adds needs-reviewer)

Updated for fb6a4e7 · gate run · This comment is maintained automatically — see submission gate docs.

@github-actions github-actions Bot added ready-for-review Submission passed intake validation and is ready for maintainer review and removed awaiting-automation labels Oct 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 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

Comment thread website/src/components/brand/PluginsCatalog.tsx Outdated
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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

The current revision still needs rendered-browser and VS Code handoff validation before maintainer approval.

2 open issues

Review effort: Max

Comment thread website/src/components/brand/ExtensionsCatalog.tsx Outdated
aaronpowell
aaronpowell previously approved these changes Oct 27, 2026
@github-actions github-actions Bot added approved Submission was approved by a maintainer and removed ready-for-review Submission passed intake validation and is ready for maintainer review labels Oct 27, 2026
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
Copilot AI max review requested due to automatic review settings October 27, 2026 02:32
Copilot AI requested a review from aaronpowell October 27, 2026 02:34
@github-actions github-actions Bot added awaiting-automation and removed approved Submission was approved by a maintainer labels Oct 27, 2026
@aaronpowell
aaronpowell merged commit 210f1e2 into main Oct 27, 2026
29 of 33 checks passed
@aaronpowell
aaronpowell deleted the digitarald/vscode-plugin-canvas-install branch October 27, 2026 02:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The install links must target the published marketplace branch to include built-in plugin content.

2 open issues
2 resolved since last review

Review effort: Max

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

1 active deployment
github-pages — fb6a4e7c Deployed Oct 27, 2026 by Copilot via deploy #1140
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-automation merge-risk:high new-submission PR adds at least one new contribution website-update PR touches website content or code workflow PR touches workflow automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants