sverklo 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Sverklo
2
2
 
3
- _Sverklo_ (Russian: **сверло**, _SVER-lo_) — "drill." Code intelligence that drills through your repo so your AI assistant stops guessing.
3
+ _Sverklo_ (Russian: **сверкло**, _SVERK-lo_) — archaic past tense of "сверкнуть," to flash or gleam. Code intelligence that illuminates your repo so your AI assistant stops guessing.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/sverklo.svg?color=E85A2A)](https://www.npmjs.com/package/sverklo)
6
6
  [![npm downloads](https://img.shields.io/npm/dw/sverklo.svg?color=E85A2A)](https://www.npmjs.com/package/sverklo)
@@ -8,10 +8,20 @@ _Sverklo_ (Russian: **сверло**, _SVER-lo_) — "drill." Code intelligence
8
8
  [![License: MIT](https://img.shields.io/badge/license-MIT-E85A2A.svg)](LICENSE)
9
9
  [![Local-first](https://img.shields.io/badge/local--first-no%20cloud-E85A2A)](#)
10
10
 
11
+ > **MIT Licensed** — the only fully open-source code intelligence MCP. Free for commercial use, no restrictions. [Compare with alternatives →](#why-not-as-of-2026-04)
12
+
13
+ [![Star History Chart](https://api.star-history.com/svg?repos=sverklo/sverklo&type=Date)](https://star-history.com/#sverklo/sverklo&Date)
14
+
11
15
  ## Stop re-explaining your codebase to your AI.
12
16
 
13
17
  Sverklo is a local-first code intelligence MCP server that gives **Claude Code, Cursor, Windsurf, VS Code, JetBrains, and Google Antigravity** the same mental model of your repo that a senior engineer has. Hybrid semantic search, symbol-level blast-radius analysis, diff-aware PR review, and memory pinned to git state — running entirely on your laptop.
14
18
 
19
+ ### The problem
20
+
21
+ Your AI agent edits `UserService.validate()`. It doesn't know that 47 other functions call it. Breaking changes ship. Tests pass because they mock the dependency.
22
+
23
+ Sverklo gives your agent the dependency graph, the blast radius, and the risk score — before it writes a single line.
24
+
15
25
  <table>
16
26
  <tr>
17
27
  <td align="center"><b>20</b><br/>tools your agent actually uses</td>
@@ -27,6 +37,19 @@ cd your-project && sverklo init
27
37
 
28
38
  `sverklo init` auto-detects your installed AI coding agents, writes the right MCP config files, appends sverklo instructions to your `CLAUDE.md`, and runs `sverklo doctor` to verify the setup. MIT licensed. Zero config. No API keys.
29
39
 
40
+ ### Works with every MCP editor
41
+
42
+ | Editor | MCP | Skills | Hooks | Auto-setup |
43
+ |--------|:---:|:------:|:-----:|:----------:|
44
+ | Claude Code | ✓ | ✓ | ✓ | `sverklo init` |
45
+ | Cursor | ✓ | — | — | `sverklo init` |
46
+ | Windsurf | ✓ | — | — | `sverklo init` |
47
+ | Zed | ✓ | — | — | `sverklo init` |
48
+ | VS Code | ✓ | — | — | manual |
49
+ | JetBrains | ✓ | — | — | manual |
50
+ | Antigravity | ✓ | — | — | `sverklo init` |
51
+ | OpenCode | ✓ | — | — | manual |
52
+
30
53
  > **First 5 minutes:** see [`FIRST_RUN.md`](FIRST_RUN.md) for three scripted prompts that demonstrate the tools sverklo adds that grep can't replace.
31
54
 
32
55
  ---
@@ -162,18 +185,24 @@ Pipe the output into `pbcopy` / `xclip` and paste into Claude Code, or save it t
162
185
 
163
186
  ## How It Works
164
187
 
165
- ```
166
- Your code → Parse (10 languages) → Embed (ONNX, local)
167
- Build dependency graph
168
- Compute PageRank
169
-
170
- Agent query → BM25 text search ──┐
171
- → Vector similarity ──┼→ RRF fusion → Token-budgeted response
172
- PageRank boost ────┘
188
+ ```mermaid
189
+ graph LR
190
+ A[Your Code] --> B[Parse<br/>20+ languages]
191
+ B --> C[Embed<br/>ONNX/Ollama]
192
+ B --> D[Build Graph<br/>imports/exports]
193
+ D --> E[PageRank<br/>importance]
194
+
195
+ F[Agent Query] --> G[BM25]
196
+ F --> H[Vector Search]
197
+ E --> I[PageRank Boost]
198
+ G --> J[RRF Fusion]
199
+ H --> J
200
+ I --> J
201
+ J --> K[Token-Budgeted<br/>Response]
173
202
  ```
174
203
 
175
204
  1. **Parses** your codebase into functions, classes, types (TS, JS, Python, Go, Rust, Java, C, C++, Ruby, PHP)
176
- 2. **Embeds** code using all-MiniLM-L6-v2 ONNX model (384d vectors, fully local)
205
+ 2. **Embeds** code using all-MiniLM-L6-v2 ONNX model (384d, fully local) — or any Ollama model via config
177
206
  3. **Builds** a dependency graph and computes PageRank (structurally important files rank higher)
178
207
  4. **Searches** using hybrid BM25 + vector similarity + PageRank, fused via Reciprocal Rank Fusion
179
208
  5. **Remembers** decisions and patterns across sessions, linked to git state
@@ -327,18 +356,18 @@ Still stuck? File an issue with the output of `sverklo doctor` attached. We tria
327
356
 
328
357
  ## Why not... (as of 2026-04)
329
358
 
330
- | Alternative | Local | OSS | Code search | Symbol graph | Memory | MR review | Cost |
331
- |---|---|---|---|---|---|---|---|
332
- | **Sverklo** | ✓ | ✓ MIT | ✓ hybrid + PageRank | ✓ | ✓ git-aware | ✓ risk-scored | $0 |
333
- | Built-in grep / Read | ✓ | ✓ | text only | ✗ | ✗ | ✗ | $0 |
334
- | [Cursor's @codebase](https://docs.cursor.com/context/codebase-indexing) | ✗ cloud | ✗ | ✓ | partial | ✗ | ✗ | with Cursor sub |
335
- | [Sourcegraph Cody](https://sourcegraph.com/cody) | ✗ cloud | ✗ source-available | ✓ | ✓ | ✗ | partial | $9–19/dev/mo |
336
- | [Continue.dev](https://continue.dev) | partial | ✓ | ✓ basic | ✗ | ✗ | ✗ | $0 |
337
- | [Claude Context (Zilliz)](https://github.com/zilliztech/claude-context) | ✗ Milvus | ✓ | ✓ vector only | ✗ | ✗ | ✗ | $0 + Milvus |
338
- | [Aider repo-map](https://aider.chat/docs/repomap.html) | ✓ | ✓ | ✗ | ✓ basic | ✗ | ✗ | $0 |
339
- | [Greptile](https://greptile.com) | ✗ cloud | ✗ | ✓ | ✓ | ✗ | ✓ | $30/dev/mo |
340
- | [Augment](https://augmentcode.com) | ✗ cloud | ✗ | ✓ | ✓ | ✗ | partial | $20–200/mo |
341
- | [claude-mem](https://github.com/themanojdesai/claude-mem) | ✓ | ✓ | ✗ | ✗ | ✓ ChromaDB | ✗ | $0 |
359
+ | Alternative | Local | OSS | Code search | Symbol graph | Memory | MR review | License | Cost |
360
+ |---|---|---|---|---|---|---|---|---|
361
+ | **Sverklo** | ✓ | ✓ MIT | ✓ hybrid + PageRank | ✓ | ✓ git-aware | ✓ risk-scored | MIT | $0 |
362
+ | Built-in grep / Read | ✓ | ✓ | text only | ✗ | ✗ | ✗ | varies | $0 |
363
+ | [Cursor's @codebase](https://docs.cursor.com/context/codebase-indexing) | ✗ cloud | ✗ | ✓ | partial | ✗ | ✗ | proprietary | with Cursor sub |
364
+ | [Sourcegraph Cody](https://sourcegraph.com/cody) | ✗ cloud | ✗ source-available | ✓ | ✓ | ✗ | partial | source-available | $9–19/dev/mo |
365
+ | [Continue.dev](https://continue.dev) | partial | ✓ | ✓ basic | ✗ | ✗ | ✗ | Apache 2.0 | $0 |
366
+ | [Claude Context (Zilliz)](https://github.com/zilliztech/claude-context) | ✗ Milvus | ✓ | ✓ vector only | ✗ | ✗ | ✗ | MIT | $0 + Milvus |
367
+ | [Aider repo-map](https://aider.chat/docs/repomap.html) | ✓ | ✓ | ✗ | ✓ basic | ✗ | ✗ | Apache 2.0 | $0 |
368
+ | [Greptile](https://greptile.com) | ✗ cloud | ✗ | ✓ | ✓ | ✗ | ✓ | proprietary | $30/dev/mo |
369
+ | [Augment](https://augmentcode.com) | ✗ cloud | ✗ | ✓ | ✓ | ✗ | partial | proprietary | $20–200/mo |
370
+ | [claude-mem](https://github.com/themanojdesai/claude-mem) | ✓ | ✓ | ✗ | ✗ | ✓ ChromaDB | ✗ | MIT | $0 |
342
371
 
343
372
  Sverklo is the only tool that combines **hybrid code search + symbol graph + memory + diff-aware review** in one local-first MCP server.
344
373
 
@@ -381,6 +410,64 @@ search:
381
410
 
382
411
  **Token budgets** control how much context each tool returns per call. The defaults were raised in v0.3.0 (search: 8000, audit: 5000). Override them here or per-call via the `budget` parameter on any search tool.
383
412
 
413
+ ### Pluggable embeddings (v0.5.0+)
414
+
415
+ Swap the default MiniLM-L6-v2 for any Ollama embedding model:
416
+
417
+ ```yaml
418
+ # .sverklo.yaml
419
+ embeddings:
420
+ provider: ollama
421
+ ollama:
422
+ model: nomic-embed-text
423
+ baseUrl: http://localhost:11434
424
+ ```
425
+
426
+ Dimensions auto-detected from the first response. Falls back to bundled ONNX if Ollama isn't running.
427
+
428
+ ## CLI tools (v0.5.0+)
429
+
430
+ ### `sverklo review` — CI-friendly diff review
431
+
432
+ ```bash
433
+ sverklo review --ci --fail-on high
434
+ ```
435
+
436
+ Risk-scored diff review from the terminal. Auto-detects PR ref in GitHub Actions (`GITHUB_BASE_REF`). Exit code 1 when the threshold is exceeded — use as a CI quality gate.
437
+
438
+ ### `sverklo audit` — codebase health report
439
+
440
+ ```bash
441
+ sverklo audit --format html --open
442
+ ```
443
+
444
+ Generates a self-contained HTML report: god nodes, hub files, orphan detection, coupling analysis, language distribution. Dark theme, shareable artifact.
445
+
446
+ Formats: `markdown` (default), `html`, `json`.
447
+
448
+ ### GitHub Action
449
+
450
+ Automated PR review on every pull request:
451
+
452
+ ```yaml
453
+ # .github/workflows/sverklo-review.yml
454
+ name: Sverklo Review
455
+ on: [pull_request]
456
+ jobs:
457
+ review:
458
+ runs-on: ubuntu-latest
459
+ steps:
460
+ - uses: actions/checkout@v4
461
+ with:
462
+ fetch-depth: 0
463
+ - uses: sverklo/sverklo/action@main
464
+ with:
465
+ github-token: ${{ secrets.GITHUB_TOKEN }}
466
+ fail-on: high
467
+ ```
468
+
469
+ Posts risk-scored review comments directly on PRs. Updates existing comments on subsequent pushes.
470
+
384
471
  ## Telemetry
385
472
 
386
473
  **Off by default.** Sverklo ships zero telemetry until you explicitly run `sverklo telemetry enable`. If you never run that command, sverklo never makes a network call beyond the one-time embedding model download on first run.
package/dist/src/init.js CHANGED
@@ -1,8 +1,11 @@
1
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, copyFileSync, readdirSync } from "node:fs";
2
2
  import { execSync } from "node:child_process";
3
- import { join } from "node:path";
3
+ import { join, dirname } from "node:path";
4
+ import { fileURLToPath } from "node:url";
4
5
  import { homedir } from "node:os";
5
6
  import { track, hasBeenNudged, markNudged } from "./telemetry/index.js";
7
+ const __filename = fileURLToPath(import.meta.url);
8
+ const __dirname = dirname(__filename);
6
9
  const CLAUDE_MD_SNIPPET = `
7
10
  ## Sverklo — Code Intelligence
8
11
 
@@ -51,6 +54,60 @@ function buildAutoCaptureHook() {
51
54
  ],
52
55
  };
53
56
  }
57
+ /**
58
+ * Install sverklo skill files into .claude/skills/ in the target project.
59
+ * Idempotent: does not overwrite files the user may have customized.
60
+ */
61
+ function installSkills(projectPath) {
62
+ // Skills source: src/skills/ relative to this file (works in both source and dist)
63
+ // In dist: dist/src/init.js -> ../../src/skills/
64
+ // In source (ts-node / tsx): src/init.ts -> ./skills/
65
+ const candidateDirs = [
66
+ join(__dirname, "skills"), // source layout: src/skills/
67
+ join(__dirname, "..", "..", "src", "skills"), // dist layout: dist/src/ -> ../../src/skills/
68
+ ];
69
+ const skillsSourceDir = candidateDirs.find((d) => existsSync(d) && readdirSync(d).some((f) => f.endsWith(".md")));
70
+ if (!skillsSourceDir) {
71
+ console.log(" .claude/skills/ — skill source files not found, skipping");
72
+ return;
73
+ }
74
+ const skillsTargetDir = join(projectPath, ".claude", "skills");
75
+ mkdirSync(skillsTargetDir, { recursive: true });
76
+ const skillFiles = readdirSync(skillsSourceDir).filter((f) => f.endsWith(".md"));
77
+ let installed = 0;
78
+ let skipped = 0;
79
+ for (const file of skillFiles) {
80
+ const targetPath = join(skillsTargetDir, file);
81
+ if (existsSync(targetPath)) {
82
+ skipped++;
83
+ }
84
+ else {
85
+ copyFileSync(join(skillsSourceDir, file), targetPath);
86
+ installed++;
87
+ }
88
+ }
89
+ if (installed > 0) {
90
+ console.log(` .claude/skills/ — installed ${installed} skill(s)${skipped > 0 ? ` (${skipped} already existed, skipped)` : ""}`);
91
+ }
92
+ else {
93
+ console.log(` .claude/skills/ — all ${skipped} skill(s) already installed`);
94
+ }
95
+ }
96
+ /**
97
+ * Build the PostToolUse hook that triggers incremental reindex after file writes.
98
+ */
99
+ function buildReindexHook() {
100
+ return {
101
+ matcher: "Edit|Write",
102
+ hooks: [
103
+ {
104
+ type: "command",
105
+ command: "sverklo wakeup . 2>/dev/null &",
106
+ timeout: 3,
107
+ },
108
+ ],
109
+ };
110
+ }
54
111
  export async function initProject(projectPath, options = {}) {
55
112
  console.log("Initializing Sverklo in", projectPath);
56
113
  console.log("");
@@ -137,6 +194,19 @@ export async function initProject(projectPath, options = {}) {
137
194
  settingsChanged = true;
138
195
  }
139
196
  }
197
+ // PostToolUse reindex hook: trigger incremental reindex after file writes
198
+ {
199
+ if (!settings.hooks)
200
+ settings.hooks = {};
201
+ if (!settings.hooks.PostToolUse)
202
+ settings.hooks.PostToolUse = [];
203
+ const existingPost = settings.hooks.PostToolUse;
204
+ const alreadyHasReindex = existingPost.some((h) => h.hooks?.some((hook) => hook.command?.includes("sverklo wakeup")));
205
+ if (!alreadyHasReindex) {
206
+ existingPost.push(buildReindexHook());
207
+ settingsChanged = true;
208
+ }
209
+ }
140
210
  if (settingsChanged) {
141
211
  writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + "\n");
142
212
  const bits = [];
@@ -144,6 +214,11 @@ export async function initProject(projectPath, options = {}) {
144
214
  bits.push("auto-allow for sverklo tools");
145
215
  if (options.autoCapture)
146
216
  bits.push("PostToolUse auto-capture hook");
217
+ // Check if reindex hook was just added (not previously present)
218
+ const postHooks = settings.hooks?.PostToolUse;
219
+ const hasReindex = postHooks?.some((h) => h.hooks?.some((hook) => hook.command?.includes("sverklo wakeup")));
220
+ if (hasReindex)
221
+ bits.push("PostToolUse reindex hook");
147
222
  console.log(` .claude/settings.local.json — added ${bits.join(" + ")}`);
148
223
  }
149
224
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "sverklo",
3
- "version": "0.5.0",
3
+ "mcpName": "io.github.sverklo/sverklo",
4
+ "version": "0.5.2",
4
5
  "description": "Sverklo — local-first code intelligence MCP server. Diff-aware MR review, risk scoring, hybrid semantic search, PageRank ranking, persistent memory. Zero config.",
5
6
  "type": "module",
6
7
  "bin": {
@@ -9,6 +10,7 @@
9
10
  "main": "./dist/src/index.js",
10
11
  "files": [
11
12
  "dist",
13
+ "src/skills/*.md",
12
14
  "README.md",
13
15
  "LICENSE"
14
16
  ],
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: sverklo:onboard
3
+ description: Get a complete understanding of this codebase using sverklo's code intelligence
4
+ ---
5
+
6
+ When the user asks to understand, explore, or onboard to a codebase:
7
+
8
+ 1. Call `sverklo_context` to get the project overview, saved memories, and codebase map
9
+ 2. Call `sverklo_overview` to see the most important files ranked by PageRank
10
+ 3. Call `sverklo_audit` to identify god nodes, hub files, and dead code
11
+
12
+ Present a summary: what the project does, its key modules, architectural patterns, and any code quality concerns.
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: sverklo:refactor
3
+ description: Plan a safe refactor using blast-radius analysis
4
+ ---
5
+
6
+ When the user wants to rename, move, or refactor a symbol:
7
+
8
+ 1. Call `sverklo_impact` on the symbol to see all callers and the blast radius
9
+ 2. Call `sverklo_refs` to find every reference (with exact matching to avoid false positives)
10
+ 3. Call `sverklo_deps` on the file to understand its dependency context
11
+ 4. Call `sverklo_test_map` to identify which tests need updating
12
+
13
+ Present: the full list of files that need changes, the risk level, and a step-by-step refactor plan.
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: sverklo:review
3
+ description: Review the current diff with risk scoring and impact analysis
4
+ ---
5
+
6
+ When the user asks to review changes, a PR, or a diff:
7
+
8
+ 1. Call `sverklo_review_diff` to get risk-scored file analysis, dangling references, and structural warnings
9
+ 2. For any high-risk files, call `sverklo_impact` on the changed symbols to see the full blast radius
10
+ 3. Call `sverklo_test_map` to check which tests cover the changed code
11
+
12
+ Present: risk summary, files that need attention, untested changes, and suggested next steps.