Add declarative VS Code skill extension packaging (#775)

* Add declarative VS Code skill extension packaging

Stage a launcher-only Copilot skill bundle, validate relocation and VSIX packaging, and keep project-install hooks out of the extension.

AI assistance: Codex, under maintainer direction.

* Document verified Copilot extension smoke test

Record the successful read-only VS Code 1.136.1 run and the reload required after initial workspace trust. Keep minimum-version and remote smoke gaps explicit.

AI assistance: Codex, under maintainer direction.

* Fix VS Code packaging test version source

Derive the provider fixture version from the skill manifest and assert the packaged skill and extension versions agree.

AI assistance: Codex, under maintainer direction.
This commit is contained in:
Paul Bakaus
2026-09-07 11:40:31 -07:00
committed by GitHub
parent 93bfe70c58
commit 4957fd7069
9 changed files with 250 additions and 0 deletions
+5
View File
@@ -33,6 +33,7 @@ import {
verifyPluginAgentRewrite,
} from './lib/plugin-paths.js';
import { stageOpenAIPlugin } from './lib/openai-plugin.js';
import { stageVSCodeExtension } from './lib/vscode-extension.js';
import { ENGINE_TARGETS, binaryName, main as fetchEngineMain, readEngineVersion } from './fetch-engine.mjs';
// Sub-page generation is now handled by Astro content collections.
@@ -895,6 +896,10 @@ async function build() {
const openAiPluginRoot = stageOpenAIPlugin(ROOT_DIR, DIST_DIR);
await createProviderZip(openAiPluginRoot, DIST_DIR, 'openai-plugin');
// Declarative Marketplace skill bundle: no editor runtime or project hooks.
// Staged before optional engine bundling to keep the VSIX launcher-only.
stageVSCodeExtension(ROOT_DIR, DIST_DIR);
// Release zips ship launcher-only by default: the launcher downloads the
// pinned engine on first run. IMPECCABLE_BUNDLE_ENGINE=1 opts in to staging
// every fetched target into every dist skill copy for offline installs.