Skip to content

feat(editors): add github-copilot-vscode adapter#15

Merged
Jose-Sabater merged 1 commit into
mainfrom
feat/github-copilot-vscode
May 11, 2026
Merged

feat(editors): add github-copilot-vscode adapter#15
Jose-Sabater merged 1 commit into
mainfrom
feat/github-copilot-vscode

Conversation

@Jose-Sabater
Copy link
Copy Markdown
Member

Summary

  • Routes VS Code Copilot Chat through Opper via the johnny-zhao.oai-compatible-copilot community extension. First configure-only adapter in the registry — no spawn (the user opens VS Code themselves; Opper models appear in the Copilot Chat picker on next session).
  • Surfaced as opper editors github-copilot-vscode and via the menu's agents flow.
  • configure() prompts before installing the third-party extension, with a marketplace link and a clean cancel path. If the user declines, no settings.json is written.
  • Settings merge is non-destructive: only oaicopilot.baseUrl and oaicopilot.models are written/overwritten; other oaicopilot.* user prefs are preserved; JSONC files (with // comments) throw rather than silently lose comments.
  • Stable channel only — Insiders' native customOAIModels is upstream-deprecated behind a one-shot migration.
  • docs/copilot-vscode/ keeps the manual recipe + a small generator that derives both Insiders and Stable JSON snippets from PICKER_MODELS for users without the CLI.

Out of scope (deliberate)

  • API key automation. User pastes once via VS Code's Manage Models UI. The two automation paths (plaintext oaicopilot.apiKey.opper in settings.json vs writing to OS keychain) both have real trade-offs (Settings Sync exposure, undocumented keychain entry shape) — leaving for a follow-up PR once we've validated a safe path.
  • Inline completions. BYOK only covers Chat and Agent mode; inline suggestions stay on GitHub's own service. Documented in command output and README.

Test plan

  • npm run typecheck clean.
  • npm test — 375/375 passing (12 new for this adapter, includes prompt-confirms / prompt-cancels paths).
  • Sandboxed end-to-end: OPPER_EDITOR_HOME=/tmp/x npx tsx src/index.ts editors github-copilot-vscode writes the right block; --remove round-trips back to {}.
  • Real VS Code: extension installs on confirm, settings populate, models surface in the Copilot Chat picker after manual API-key entry, traces land on Opper.
  • Menu flow (opper → agents → GitHub Copilot (VS Code) → Configure) shows the install prompt and respects cancel.

🤖 Generated with Claude Code

Routes VS Code Copilot Chat through Opper via the
johnny-zhao.oai-compatible-copilot community extension.
Configure-only adapter (no spawn) — first of its kind in the registry.

Surfaced as `opper editors github-copilot-vscode` and via the menu's
agents flow. configure() prompts before installing the third-party
extension (marketplace link + clean cancel path) so users opt in
explicitly. Stable channel only — Insiders' native customOAIModels
setting is upstream-deprecated behind a one-shot migration.

The merge into user settings.json is non-destructive: only
oaicopilot.baseUrl and oaicopilot.models are written/overwritten,
other oaicopilot.* user prefs are preserved, and JSONC files (with
// comments) throw rather than silently lose comments.

docs/copilot-vscode/ keeps the manual recipe + a small generator that
derives both Insiders and Stable JSON snippets from PICKER_MODELS for
users without the CLI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Jose-Sabater Jose-Sabater merged commit c0b8376 into main May 11, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant