feat(github-copilot): add GitHub Copilot (VS Code) integration via MCP#2299
feat(github-copilot): add GitHub Copilot (VS Code) integration via MCP#2299DK09876 wants to merge 1 commit into
Conversation
Adds hindsight-copilot: long-term memory for GitHub Copilot in VS Code, using Copilot agent mode's native MCP support (HTTP servers) — no bridge. `hindsight-copilot init`: - merges a Hindsight HTTP MCP server into .vscode/mcp.json (servers.hindsight), JSON-safe (prints a snippet if the file is JSONC), and - writes a recall/retain rule into .github/copilot-instructions.md, which Copilot applies to every chat in the workspace. Resolves the ask in #1588. Mirrors the Zed/OpenHands MCP-config pattern. - hindsight_copilot package: config, mcp_config (.vscode/mcp.json writer), instructions (copilot-instructions.md rule), cli (init/status/uninstall) - 25 deterministic tests (mcp.json merge incl. preserving servers/inputs + JSONC fallback, instructions rule block) + gated requires_real_llm MCP handshake E2E - CI job, release registration (VALID_INTEGRATIONS + changelog generator), docs page, registry entry, icon (octicons), README row Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
@DK09876 nice work, this one's clean. addresses #1588 — going native MCP HTTP over the hooks approach scott suggested is the right call (cleaner, fewer moving parts, matches the zed/openhands pattern). two things before merging: needs a rebase — github shows CONFLICTING. main moved since you opened it. |
Summary
Adds a first-party GitHub Copilot (VS Code) integration for Hindsight, using Copilot agent mode's native MCP support (HTTP servers) — so Hindsight connects directly, no bridge.
hindsight-copilot init:.vscode/mcp.json(servers.hindsight), and.github/copilot-instructions.md, which Copilot applies to every chat in the workspace.{ "servers": { "hindsight": { "type": "http", "url": "https://api.hindsight.vectorize.io/mcp/my-project/", "headers": { "Authorization": "Bearer hsk_..." } } } }What's included
hindsight_copilotpackage:config,mcp_config(.vscode/mcp.jsonwriter — JSON round-trip, prints a snippet for JSONC files),instructions(fenced-block rule writer),cli(init/status/uninstall)..vscode/mcp.jsonmerge (preserving otherservers+inputs, JSONC → manual fallback, dedup) and thecopilot-instructions.mdrule block. Plus a gatedrequires_real_llmE2E doing the real MCPinitializehandshake against a live server.test-github-copilot-integration+ detect-changes + aggregation.VALID_INTEGRATIONSand the changelog generator.Testing
ruff check/formatclean (reporuff.toml);uv build+uv lock --checkconsistent.tools/listreturnsrecall/retain/reflect).🤖 Generated with Claude Code