Files
socraticode/extension
Giancarlo Erra bbc68199c3 feat(extension): add VS Code and Open VSX extension
A new top-level `extension/` package containing the SocratiCode VS Code
extension. The same `.vsix` artefact ships to both VS Code Marketplace
and Open VSX, which means it installs cleanly in Cursor, VSCodium,
Gitpod, code-server, Eclipse Theia editors, Google Antigravity, and
Particle Workbench in addition to stock VS Code.

What it does:

- Auto-registers the SocratiCode MCP server in VS Code's MCP host via
  `vscode.lm.registerMcpServerDefinitionProvider` (VS Code 1.99+).
  Copilot agent mode, Cline, Continue, Roo Code and any other
  MCP-aware client see SocratiCode's tools without the user editing
  any `.vscode/mcp.json`.
- Forwards the user's `socraticode.env` setting to the engine
  subprocess unchanged. Power users point at an external Qdrant
  (`QDRANT_MODE=external` + `QDRANT_URL` + `QDRANT_API_KEY`), pick an
  embedding provider, or set any other engine knob exactly as
  documented in the engine README.
- Activity Bar sidebar with "Indexed projects" tree view and welcome
  content. Discovers projects by listing graph artefacts the engine
  writes to `os.tmpdir()/socraticode-graph/`.
- Webview panel for the interactive graph (`graphPanel.ts`). Reads
  the engine's self-contained HTML, wraps it with a tight CSP, injects
  a bridge script so node-clicks can `postMessage` back to the
  extension and open files in the editor.
- Status-bar item showing "SocratiCode" with click-to-open-sidebar.
  Honours the `socraticode.statusBar` setting.
- Two-step getting-started walkthrough (index your project, try
  search and the interactive graph). Shown automatically on first
  install; re-openable via the command palette.
- Command palette commands: index workspace, open graph, refresh
  projects, open walkthrough, show output.
- Output channel for engine logs.

Build: esbuild bundles `src/extension.ts` to `dist/extension.js` (CJS,
node18, sourcemap), `vscode` external. Biome lint and `tsc` strict
mode both clean. Manifest smoke tests via Node's built-in test runner
catch package.json regressions before activation. Packaged size:
~215 KB `.vsix`.

Versioning: extension version tracks the engine version (currently
`1.7.2`). Patch drift is allowed for extension-only hotfixes. The
`scripts/bump-plugin-versions.mjs` hook from the previous commit
already includes `extension/package.json` in its bump list, so future
engine releases keep the extension in lockstep automatically.
2026-05-02 18:31:22 +01:00
..

SocratiCode for VS Code (and Cursor, VSCodium, Gitpod, code-server, Antigravity, Theia, ...)

Codebase context engine for AI assistants. SocratiCode indexes your repositories: code, dependency and call graphs, database schemas, API specs, architecture docs. It hands that understanding to whichever AI assistant you use, so the same understanding survives every tool switch.

This extension auto-registers the SocratiCode MCP server in VS Code's MCP host so it works out of the box with Copilot agent mode, Cline, Continue, Roo Code, and any other MCP-compatible chat or agent extension. No mcp.json editing required.

What it does

  • Hybrid search (semantic + BM25, RRF-fused) across your codebase.
  • File-level dependency graphs across 18+ languages with circular- dependency detection.
  • Symbol-level call graph and impact analysis: answers "what breaks if I change function X?" before the AI changes it.
  • Cross-repo search across multiple linked projects.
  • Interactive graph viewer with blast-radius overlay, search, and PNG export. Opens directly inside the editor as a webview panel.
  • Context artefacts: index database schemas, API specs and architecture docs alongside code. The AI sees the schema your developer team did, not what it guessed from filenames.

Requirements

  • VS Code 1.99 or newer (for native MCP support)
  • Node.js 18+ on PATH (for npx to launch the engine)
  • Docker Desktop running (the engine uses Docker for Qdrant + Ollama containers; alternatively you can point at an external Qdrant via the socraticode.env setting).

Quick start

  1. Install the extension.
  2. The MCP server registers automatically. Ask Copilot agent mode (or any MCP-aware assistant) a question about your codebase.
  3. Open the SocratiCode sidebar (Activity Bar → SocratiCode icon) and click Index this workspace to run the first index.
  4. Open the interactive graph from the Command Palette: SocratiCode: Open interactive graph.

A walkthrough is shown on first install. Re-open it any time with SocratiCode: Open getting-started walkthrough.

Commands

All commands are also available under SocratiCode: in the Command Palette.

  • Index current workspace: kick off a one-time index.
  • Open interactive graph: render the dependency / call graph as an in-editor webview.
  • Refresh indexed projects: reload the sidebar tree.
  • Open getting-started walkthrough: replay the onboarding.
  • Show output / logs: open the SocratiCode output channel.

Settings

Setting Default Description
socraticode.command "npx" Engine launcher.
socraticode.args ["-y", "socraticode"] Args for the launcher.
socraticode.env {} Environment variables forwarded to the engine. Use this for external Qdrant (QDRANT_MODE=external, QDRANT_URL, QDRANT_API_KEY), embedding provider (EMBEDDING_PROVIDER, OPENAI_API_KEY, GOOGLE_API_KEY), or any other engine setting documented in the engine README.
socraticode.statusBar true Show the status-bar item.

Privacy and data

  • The engine indexes locally. Code never leaves your machine unless you explicitly point it at an external service via socraticode.env.
  • No telemetry from the extension.

Open source

The engine is open source under AGPL-3.0 and battle-tested across thousands of indexed repositories. That openness is your guarantee of transparency, security and engineering quality.

Troubleshooting

  • "Cannot find Docker": install Docker Desktop from https://docker.com/products/docker-desktop, or set socraticode.env with QDRANT_MODE=external plus QDRANT_URL to point at an existing Qdrant.
  • MCP tools don't appear in Copilot agent mode: restart the chat after install, or run MCP: List Servers from the command palette and confirm SocratiCode is listed and started.
  • First index is slow: the engine downloads Ollama models the first time. Subsequent runs are fast.
  • See SocratiCode: Show output / logs in the command palette for engine output.