Skip to content

Package Git-Ape as a VS Code extension (VSIX)#54

Merged
arnaudlh merged 7 commits intomainfrom
copilot/package-git-ape-vscode-extension
May 6, 2026
Merged

Package Git-Ape as a VS Code extension (VSIX)#54
arnaudlh merged 7 commits intomainfrom
copilot/package-git-ape-vscode-extension

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 6, 2026

Adds CI/CD workflows and extension scaffolding to package Git-Ape as a distributable VSIX, enabling direct installation in VS Code instead of requiring a repo clone.

Extension manifest

  • extension/package.template.json — declares all 8 chat agents and 13 chat skills, publisher azure, category Chat
  • extension/.vscodeignore — excludes build-only files from the packaged VSIX
  • package.template.json is the source of truth; gets copied to package.json (gitignored) at build time with version stamped in

Workflows

  • git-ape-build.yml — runs on PRs touching agents/skills/plugin/extension files. Assembles payload (copies LICENSE, APE.png, .github/ into extension/), packages VSIX, uploads as artifact.
  • git-ape-release.yml — extended to assemble the extension, stamp the tag version into package.json via jq, package VSIX, and upload it to the GitHub Release alongside release notes.

.gitignore

  • Extension build artifacts: extension/package.json, extension/*.vsix, extension/.github/, extension/LICENSE, extension/APE.png, node_modules/
  • Docusaurus output: docs/docusaurus/

Build flow

# Assembly copies repo assets into extension/ before vsce runs
cp LICENSE extension/
cp APE.png extension/
cp -r .github extension/.github
jq --arg v "$VERSION" '.version = $v' extension/package.template.json > extension/package.json
vsce package --no-dependencies --allow-missing-repository

Both workflows pass actionlint. Local VSIX build verified (49 files, ~1.9 MB).

Copilot AI linked an issue May 6, 2026 that may be closed by this pull request
4 tasks
- Add extension/package.template.json with VS Code manifest declaring all agents and skills
- Add extension/.vscodeignore to exclude build-only files from VSIX
- Add git-ape-build.yml workflow for PR builds (packages VSIX as artifact)
- Update git-ape-release.yml to package VSIX and upload to GitHub Release
- Update .gitignore with extension build artifacts and docs/docusaurus/

Agent-Logs-Url: https://github.com/Azure/git-ape/sessions/9de131a3-c177-497d-9325-a5082490e66f

Co-authored-by: arnaudlh <20535201+arnaudlh@users.noreply.github.com>
Copilot AI changed the title [WIP] Add CI/CD workflows to package Git-Ape as a VS Code extension Package Git-Ape as a VS Code extension (VSIX) May 6, 2026
Copilot AI requested a review from arnaudlh May 6, 2026 08:02
arnaudlh added 3 commits May 6, 2026 15:40
- chatAgents/chatSkills entries use { "path": ... } shape per VS Code
  chat extension spec; previous {id,name,description,instructions} shape
  was rejected by the runtime
- add extensionKind: [workspace, ui] so the extension activates in
  remote/workspace contexts
- bump engines.vscode to ^1.106.1 (chat contributions require 1.106+)
- bump Node to 22 in build and release workflows to match staging

Verified locally: vsce packages 49 files / 1.92 MB with correct schema.
… Marketplace

- set publisher ID to Git-APE in package.template.json
- add 'Publish to VS Code Marketplace' step to release workflow using
  vsce publish with VSCE_PAT secret
- step is gated on non-prerelease tags only and gracefully skips when
  VSCE_PAT is not configured

Requires repo secret VSCE_PAT (Azure DevOps PAT with Marketplace>Manage
scope) on Azure/git-ape.
… step

The line was leftover from a copy-paste — TAG is not in the publish step's
env scope, and the VSIX is already uploaded to the GitHub release in the
prior 'Upload VSIX to release' step.
@arnaudlh arnaudlh force-pushed the copilot/package-git-ape-vscode-extension branch from 2773b3d to 11c8fe4 Compare May 6, 2026 08:51
arnaudlh added 2 commits May 6, 2026 15:54
Adopts Microsoft's official pre-release channel model:
  - Even minor (0.0.x, 0.2.x, 0.4.x, ...)  -> Release channel
  - Odd minor  (0.1.x, 0.3.x, 0.5.x, ...)  -> Pre-Release channel (--pre-release)

Removes the previous prerelease gate (which used semver -suffix to skip
publishing entirely). Semver pre-release suffixes are still skipped because
the VS Code Marketplace rejects them outright.

Reference:
https://code.visualstudio.com/api/working-with-extensions/publishing-extension#prerelease-extensions
@arnaudlh arnaudlh marked this pull request as ready for review May 6, 2026 10:33
@arnaudlh arnaudlh requested review from sendtoshailesh and suuus May 6, 2026 10:37
@arnaudlh arnaudlh merged commit 74da5d4 into main May 6, 2026
4 checks passed
@arnaudlh arnaudlh deleted the copilot/package-git-ape-vscode-extension branch May 6, 2026 11:18
@arnaudlh arnaudlh added the packaging Related to packaging plugin, marketplace, extensions. label May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

packaging Related to packaging plugin, marketplace, extensions.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Package and release Git-Ape as a VS Code extension (VSIX)

3 participants