Skip to content

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

@arnaudlh

Description

@arnaudlh

Summary

Add CI/CD workflows and extension scaffolding to package Git-Ape as a distributable VS Code extension (VSIX) and publish it via GitHub Releases.

Motivation

Currently Git-Ape can only be consumed by cloning the repository. Packaging it as a VSIX extension allows users to install it directly in VS Code, making the agents, skills, and instructions discoverable through the Copilot Chat extension marketplace.

Scope

GitHub Actions Workflows

  • Build workflow — triggered on PRs that touch agents, skills, instructions, plugin config, or extension files. Packages the VSIX as a build artifact for validation.
  • Release workflow — triggered on version tags (v*). Packages the VSIX and publishes it as a GitHub Release with auto-generated release notes.
  • Both workflows assemble the extension payload by copying LICENSE and .github/ into the extension/ directory before packaging.

Extension Scaffolding

  • VS Code extension manifest — declares all chat agents and chat skills. Publisher: azure, category: Chat.
  • Plugin metadata — name, description, version, author, keywords, agent/skill directory pointers.
  • Extension icon

.gitignore Updates

  • Ignore extension build artifacts (extension/package.json, extension/*.vsix, extension/.github/, extension/LICENSE, node_modules/)
  • Ignore Docusaurus build output (docs/docusaurus/)

Implementation Notes

  • The extension is purely declarative (markdown agents/skills) — no bundling or compilation step needed.
  • package.template.json is used as the source of truth; it gets copied to package.json at build time (the generated package.json is gitignored).
  • Repository URLs should point to Azure/git-ape.

Acceptance Criteria

  • PR builds produce a downloadable VSIX artifact
  • Pushing a v* tag creates a GitHub Release with the VSIX attached
  • The packaged VSIX installs in VS Code and registers all agents and skills in Copilot Chat
  • Extension build artifacts are properly gitignored

References

  • Prior implementation: Azure/git-ape-private#37

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions