Semantic code intelligence powered by Kin's graph engine.
MCP-first with CLI fallback. All graph queries route through a persistent MCP connection for zero-overhead access to the in-memory graph. If the MCP connection is unavailable, each query transparently falls back to a CLI subprocess call. The graph is the authority; the editor is a projection surface.
- Entity Explorer -- Browse functions, classes, modules, and other entities in a sidebar tree view grouped by kind.
- Semantic Search --
Cmd+Shift+K Sto find entities by name with quick navigation to source. - Entity Trace -- Right-click in the editor or
Cmd+Shift+K Tto trace an entity through the dependency graph. - Hover Info -- Hover over any symbol to see its entity kind, file, and signature from the graph.
- Go to Definition --
F12/Ctrl+Clickresolves definitions through the Kin graph. - Workspace Symbols --
Cmd+T/Ctrl+Tsearches entities via the graph-backed symbol provider. - Semantic Review --
Cmd+Shift+K Vto run entity-level code review with gutter decorations and diagnostics. - Semantic Rename --
F2on any entity for graph-aware rename across all references. - Status Bar -- Live entity count and connection mode (MCP/CLI) in the bottom bar. Click for a graph overview.
- Graph Overview --
Cmd+Shift+K Oto see entity counts, edge counts, and kind breakdowns at a glance.
- Entity Explorer tree items include explicit kind, file, line, and signature context for screen readers.
- Search and trace quick-picks keep the entity name separate from the file location and kind details.
- Review gutter markers use theme-driven icons and colors so they stay legible in high-contrast themes.
- Command Palette entries are grouped under the
Kincategory for easier discovery.
- The
kinCLI binary must be installed (~/.kin/bin/kinor on PATH). - A Kin-initialized repository (
.kin/directory in workspace root).
- Build the extension:
npm install && npm run compile - Package:
npm run package:vsix - Install the
.vsixfile in VS Code: Extensions > "..." > "Install from VSIX..."
Or for development: open this folder in VS Code and press F5 to launch the Extension Development Host.
- VSIX install smoke verified on 2026-03-25 in VSCodium
1.112.01907, Cursor2.6.21, and Windsurf1.108.2. - Each editor listed the installed extension as
firelock.kin@0.1.0from the packaged VSIX. - Tagged GitHub releases now attach a packaged VSIX for
alpha,beta/rc, and stable lanes. - Visual Studio Marketplace publication is optional and runs only when
VSCE_TOKENis configured; until then, GitHub release assets remain the canonical install path.
| Setting | Default | Description |
|---|---|---|
kin.binaryPath |
"" |
Path to the kin binary. Empty = auto-detect (~/.kin/bin/kin or PATH). |
kin.autoStart |
true |
Auto-activate when .kin/ exists in workspace. |
kin.mcpEnabled |
true |
Use a persistent MCP connection for zero-overhead graph queries. Disable to fall back to CLI subprocess per command. |
| Command | Keybinding | Description |
|---|---|---|
Kin: Semantic Search |
Cmd+Shift+K S |
Search entities by name |
Kin: Graph Overview |
Cmd+Shift+K O |
Show graph statistics |
Kin: Trace Entity |
Cmd+Shift+K T |
Trace entity through the graph |
Kin: Review Current File |
Cmd+Shift+K V |
Semantic code review with gutter decorations |
Kin: Refresh Entity Explorer |
Cmd+Shift+K R |
Re-index the entity tree |
Kin: Initialize Repository |
-- | Run kin init in the workspace |
Kin: Show Status |
-- | Show entity count and connection mode |
On Linux/Windows, replace Cmd with Ctrl.
The extension uses an MCP-first architecture with CLI fallback. On activation, it spawns a persistent MCP connection to kin mcp start over stdio (JSON-RPC 2.0 with Content-Length framing). All graph queries -- search, trace, overview, status, review -- route through MCP for zero-overhead access to the in-memory graph. If the MCP connection is unavailable, each query transparently falls back to a CLI subprocess call (execFile).
Key components:
- McpClient (
mcp-client.ts) -- Manages the MCP process lifecycle, auto-reconnects on crash, and handles the initialize handshake. - KinClient (
kin-client.ts) -- Unified query interface that tries MCP first, then falls back to CLI. All commands consume this. - WorkspaceManager (
workspace-manager.ts) -- Multi-root workspace support with per-folder MCP connections. - Language Providers -- HoverProvider, DefinitionProvider, WorkspaceSymbolProvider, and RenameProvider hook into VS Code's native APIs backed by the Kin graph.
The kin.mcpEnabled setting controls whether MCP is used. When disabled, all queries go through CLI subprocesses (5-50ms overhead per command).
Apache-2.0. Copyright 2026 Firelock LLC.