Skip to content

Add Vox β€” hands-free voice canvas extension πŸ€–πŸ€–πŸ€–#2174

Open
aasis21 wants to merge 2 commits into
github:mainfrom
aasis21:add-vox-extension
Open

Add Vox β€” hands-free voice canvas extension πŸ€–πŸ€–πŸ€–#2174
aasis21 wants to merge 2 commits into
github:mainfrom
aasis21:add-vox-extension

Conversation

@aasis21

@aasis21 aasis21 commented Jul 1, 2026

Copy link
Copy Markdown

Add Vox β€” hands-free voice canvas extension

Vox gives any GitHub Copilot session a voice: speak your turn and hear the agent's reply read back, with a reactive listening orb. Voice in, voice out β€” no editor, no tab-juggling.

What this PR does

Adds a single external entry, following the existing Coffilot precedent β€” Vox stays hosted in its own repo. No in-repo runtime code is added.

  • extensions/external.json β†’ new vox entry (author, keywords, screenshots, installUrl/sourceUrl β†’ aasis21/vox)
  • extensions/external-assets/vox-preview.png β†’ preview image

Included CI fix (why this PR touches .github/workflows/)

This PR also carries a one-line fix to .github/workflows/validate-canvas-extensions.yml, because the external route is currently broken by a very recent regression:

The fix skips any top-level catalog file (identified by a dot in the name), mirroring the same heuristic already applied to the local validator in #2029. Real extension directories (lowercase alnum + hyphens, no dot) validate unchanged. Happy to split this into a standalone PR if you'd prefer.

Notes for maintainers

  • Vox fits the "Accessibility and inclusive design" category in CONTRIBUTING β€” it's a hands-free voice UI, not generic model-duplicating guidance.
  • Canvas extensions aren't yet covered in CONTRIBUTING.md or an issue template, so I mirrored the external.json shape used for Coffilot. Happy to adjust to whatever intake you prefer.
  • npm start was run; it produced no README.md or marketplace.json diff (external.json feeds website data only), so this stays minimal.

πŸ€– This PR was prepared with AI assistance.

Vox is a hands-free voice panel for GitHub Copilot: speak your turn and
hear the agent's reply, with a reactive listening orb. Voice in, voice
out. Listed as an external canvas extension (own repo aasis21/vox),
following the coffilot precedent in extensions/external.json.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 1, 2026 03:51
@aasis21 aasis21 requested a review from aaronpowell as a code owner July 1, 2026 03:51
@github-actions github-actions Bot added the canvas-extension PR touches canvas extensions label Jul 1, 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.

Pull request overview

Adds Vox as an external Copilot canvas extension entry so it can be surfaced by the repository’s extensions/website data pipeline, with a bundled preview image asset.

Changes:

  • Added a new vox entry to extensions/external.json with metadata (author, keywords, screenshots, install/source URLs).
  • Added extensions/external-assets/vox-preview.png and wired it up as the icon/gallery image for the new entry.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
extensions/external.json Registers the new external extension listing and points to the preview image asset.
extensions/external-assets/vox-preview.png Adds the preview image referenced by the new external listing.

The validate-canvas-extensions workflow reduces changed paths under
extensions/ to their first path segment, so extensions/external.json
becomes ext_name=external.json. Only external-assets/ was skipped, so
external.json fell through to the directory-name allowlist and failed
on its dot, breaking every PR that registers an external extension via
extensions/external.json (the documented external route, e.g. coffilot).

Skip any top-level catalog file (identified by a dot in the name),
mirroring the fix already applied to the local validator in github#2029.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added the workflow PR touches workflow automation label Jul 1, 2026
@aasis21

aasis21 commented Jul 1, 2026

Copy link
Copy Markdown
Author

Heads-up for reviewers: this PR includes a small, self-contained CI fix in addition to the Vox catalog entry.

Why the workflow change is here: registering an external extension via extensions/external.json (the documented external route, e.g. coffilot) was failing the Validate Canvas Extensions workflow. The step reduces each changed path under extensions/ to its first segment, so extensions/external.json becomes ext_name=external.json. Only external-assets/ was skipped, so external.json fell through to the directory-name allowlist and failed on its dot β€” blocking every external-extension PR.

The fix skips top-level catalog files (identified by a dot in the name), mirroring the same fix already applied to the local validator in #2029. Real extension directories (lowercase alnum + hyphens, no dot) still validate unchanged.

Happy to split this into a separate PR if you'd prefer β€” it's just required for this contribution (and any external one) to go green.

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

Labels

canvas-extension PR touches canvas extensions workflow PR touches workflow automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants