Skip to main content

VS Code vs Copilot CLI

Git-Ape ships as a single cross-tool plugin. The same plugin.json manifest at the repo root is loaded by both the VS Code agent plugin system and the GitHub Copilot CLI. You don't need to maintain two copies โ€” pick whichever surface you prefer.

Feature parityโ€‹

CapabilityVS Code agent pluginCopilot CLI
@git-ape and other agentsโœ… Available in Copilot Chatโœ… Available as agent participants
Slash commands (/prereq-check, /azure-security-analyzer, โ€ฆ)โœ… Surface in Chat command pickerโœ… Available via / in CLI
Skills auto-loadingโœ… Listed under Configure Skillsโœ… Listed via copilot skill list
MCP serversโœ… Auto-started, listed in MCP: List Serversโœ… Started by CLI on session start
Hooks (SessionStart, PreToolUse, โ€ฆ)โœ… Run alongside workspace hooksโœ… Run alongside CLI hooks
Marketplace installโœ… VS Code Marketplace ยท chat.plugins.marketplacesโœ… copilot plugin marketplace add
Install from sourceโœ… Chat: Install Plugin From Sourceโœ… copilot plugin install <git-url>
Local dev installโœ… chat.pluginLocationsโœ… Local clone + plugin link
Per-workspace enable/disableโœ… Extensions view + Chat Customizations editorโœ… Per-project plugin config
Workspace recommendationsโœ… .github/copilot/settings.json (this repo)โœ… Same file
Update notificationsโœ… Driven by version in plugin.jsonโœ… Driven by version in plugin.json

When to use whichโ€‹

Use the VS Code agent plugin when you want:

  • An interactive, GUI-driven deployment loop (@git-ape deploy a Function App).
  • Inline review of generated ARM templates and architecture diagrams.
  • Easy enable/disable per workspace from the Extensions view.

Use the Copilot CLI when you want:

  • A scriptable, terminal-first workflow (CI runners, headless dev containers, Codespaces over SSH).
  • To compose Git-Ape with shell pipelines and existing CLI tooling.
  • A consistent experience across machines that may not have VS Code installed.

Both modes share the same security gates, cost estimator, and deployment state under .azure/deployments/ โ€” switching between them on the same repo is safe.

Workspace recommendationโ€‹

This repository ships a workspace recommendation at .github/copilot/settings.json so contributors who open it in VS Code with chat.plugins.enabled: true get prompted to install Git-Ape automatically through the agent-plugin marketplace:

{
"extraKnownMarketplaces": {
"git-ape": {
"source": { "source": "github", "repo": "Azure/git-ape" }
}
},
"enabledPlugins": {
"git-ape@git-ape": true
}
}

If your organization has chat.plugins.enabled disabled, contributors can install Git-Ape from the VS Code Marketplace instead โ€” that path is a regular extension install and bypasses the plugin gating.

The same file is honored by the Copilot CLI when running inside the workspace.

Cross-tool authoring rulesโ€‹

If you fork Git-Ape or build a similar plugin, keep the manifest cross-tool compatible:

  • Place plugin.json at the repo root (VS Code also accepts .plugin/plugin.json, .github/plugin/plugin.json, or .claude-plugin/plugin.json).
  • Use a plain kebab-case name (no owner/repo prefix). VS Code silently skips invalid names.
  • Skill name fields in SKILL.md frontmatter must match their directory name and be plain kebab-case.
  • Bump version in both plugin.json and marketplace.json when publishing changes โ€” VS Code's update check uses these fields.