ctxloom-pro 1.0.18 → 1.0.19
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 +41 -20
- package/apps/dashboard/dist/server/index.js +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,19 +70,39 @@ Set `CTXLOOM_LICENSE_KEY` in your CI secrets. The key is validated on every run
|
|
|
70
70
|
|
|
71
71
|
### Manual MCP Configuration
|
|
72
72
|
|
|
73
|
+
This is what `ctxloom setup` writes for you. Match it by hand if you prefer:
|
|
74
|
+
|
|
73
75
|
```jsonc
|
|
74
|
-
// ~/.claude
|
|
76
|
+
// Claude Code: ~/.claude.json
|
|
77
|
+
// Cursor: ~/.cursor/mcp.json
|
|
78
|
+
// Codex CLI: ~/.codex/mcp.json
|
|
79
|
+
// Kimi: ~/.kimi/mcp.json
|
|
80
|
+
// Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
|
|
75
81
|
{
|
|
76
82
|
"mcpServers": {
|
|
77
83
|
"ctxloom": {
|
|
78
|
-
"command": "
|
|
79
|
-
"args": [
|
|
84
|
+
"command": "ctxloom",
|
|
85
|
+
"args": []
|
|
80
86
|
}
|
|
81
87
|
}
|
|
82
88
|
}
|
|
83
89
|
```
|
|
84
90
|
|
|
85
|
-
|
|
91
|
+
The MCP server inherits cwd from the host. Claude Code, Cursor, Codex, and Kimi all spawn it with the open project as cwd, so the right project is indexed automatically — no `CTXLOOM_ROOT` needed.
|
|
92
|
+
|
|
93
|
+
For hosts without a project concept (Claude Desktop, CI), set the root explicitly:
|
|
94
|
+
|
|
95
|
+
```jsonc
|
|
96
|
+
{
|
|
97
|
+
"mcpServers": {
|
|
98
|
+
"ctxloom": {
|
|
99
|
+
"command": "ctxloom",
|
|
100
|
+
"args": [],
|
|
101
|
+
"env": { "CTXLOOM_ROOT": "/path/to/project" }
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
86
106
|
>
|
|
87
107
|
> Pricing: **Pro** €9.90/mo or €99/yr (1 machine) · **Team** €19.90/mo or €199/yr (3 machines) · [ctxloom.com/pricing](https://ctxloom.com/pricing)
|
|
88
108
|
|
|
@@ -355,7 +375,7 @@ The tool reads `.ctxloom/rules.yml` and the live dependency graph on every call
|
|
|
355
375
|
|
|
356
376
|
---
|
|
357
377
|
|
|
358
|
-
## Tools —
|
|
378
|
+
## Tools — 33 total
|
|
359
379
|
|
|
360
380
|
### Search & Context
|
|
361
381
|
|
|
@@ -388,6 +408,7 @@ The tool reads `.ctxloom/rules.yml` and the live dependency graph on every call
|
|
|
388
408
|
| `ctx_get_call_graph` | Bidirectional call graph traversal with configurable depth |
|
|
389
409
|
| `ctx_get_definition` | Symbol definition lookup via AST index |
|
|
390
410
|
| `ctx_execution_flow` | DFS call graph traversal from entry point with cycle detection |
|
|
411
|
+
| `ctx_get_affected_flows` | Which flows are affected by changed files? Traces back to root callers, then forward — auto-detects from `git diff HEAD~1` |
|
|
391
412
|
| `ctx_refactor_preview` | Read-only symbol rename diff preview — see every change before applying |
|
|
392
413
|
| `ctx_apply_refactor` | Write symbol renames to disk atomically (supports dry_run) |
|
|
393
414
|
|
|
@@ -487,10 +508,10 @@ ctxloom --help Show help
|
|
|
487
508
|
| Ruby | ✅ Relative paths | ✅ | ✅ |
|
|
488
509
|
| Kotlin | ✅ Package imports | ✅ | ✅ |
|
|
489
510
|
| Swift | ✅ Module imports | ✅ | ✅ |
|
|
490
|
-
| PHP | ✅ PSR-4 + require_once | ✅ |
|
|
491
|
-
| Dart | ✅ Relative imports | ✅ |
|
|
492
|
-
| Vue SFC | ✅ Script block | ✅ |
|
|
493
|
-
| Jupyter Notebook | ✅ Python cell imports | ✅ |
|
|
511
|
+
| PHP | ✅ PSR-4 + require_once | ✅ | ✅ |
|
|
512
|
+
| Dart | ✅ Relative imports | ✅ | ✅ |
|
|
513
|
+
| Vue SFC | ✅ Script block | ✅ | ✅ |
|
|
514
|
+
| Jupyter Notebook | ✅ Python cell imports | ✅ | ✅ |
|
|
494
515
|
|
|
495
516
|
---
|
|
496
517
|
|
|
@@ -501,7 +522,7 @@ ctxloom --help Show help
|
|
|
501
522
|
│ MCP Interface │
|
|
502
523
|
│ (Stdio transport) │
|
|
503
524
|
├──────────────────────────────────────────────────────────┤
|
|
504
|
-
│
|
|
525
|
+
│ 33 Tools (ToolRegistry) │
|
|
505
526
|
│ Search · Graph Intelligence · Navigation · Review │
|
|
506
527
|
├──────────────────────────────────────────────────────────┤
|
|
507
528
|
│ Context Engine │
|
|
@@ -543,18 +564,18 @@ See [`benchmarks/README.md`](benchmarks/README.md) for methodology and how to re
|
|
|
543
564
|
|
|
544
565
|
## Token reduction benchmarks
|
|
545
566
|
|
|
546
|
-
|
|
567
|
+
Full-source skeletonization on real open-source frameworks — every TS/JS file (skipping tests, `.d.ts`, build output, minified vendor bundles).
|
|
547
568
|
|
|
548
|
-
| Repository |
|
|
549
|
-
|
|
550
|
-
|
|
|
551
|
-
|
|
|
552
|
-
|
|
|
553
|
-
|
|
|
554
|
-
|
|
|
555
|
-
| **
|
|
569
|
+
| Repository | Files | Raw tokens | Skeleton tokens | Reduction |
|
|
570
|
+
|---|---:|---:|---:|---:|
|
|
571
|
+
| vercel/next.js | 2,742 | ~12.2M | ~584k | **95%** |
|
|
572
|
+
| honojs/hono | 200 | ~185k | ~30k | **84%** |
|
|
573
|
+
| vitejs/vite | 1,032 | ~459k | ~105k | **77%** |
|
|
574
|
+
| withastro/astro | 875 | ~805k | ~191k | **76%** |
|
|
575
|
+
| nestjs/nest | 1,305 | ~409k | ~177k | **57%** |
|
|
576
|
+
| **Weighted average · 6,154 files** | | **~14.1M** | **~1.1M** | **92%** |
|
|
556
577
|
|
|
557
|
-
Token counts use the standard 4 chars/token approximation. Results saved in [`benchmarks/
|
|
578
|
+
Token counts use the standard 4 chars/token approximation. Per-repo range (57–95%) reflects file-shape sensitivity: codebases with lots of tiny re-export shims compress less than ones with meatier source. Results saved in [`benchmarks/large-repos-results.json`](benchmarks/large-repos-results.json). Run `npm run bench:repos` to reproduce.
|
|
558
579
|
|
|
559
580
|
---
|
|
560
581
|
|
|
@@ -11571,9 +11571,9 @@ async function startDashboard(options) {
|
|
|
11571
11571
|
}
|
|
11572
11572
|
}));
|
|
11573
11573
|
const clientDist = path37.join(__dirname2, "../dashboard/client");
|
|
11574
|
-
app.use(express.static(clientDist));
|
|
11574
|
+
app.use(express.static(clientDist, { dotfiles: "allow" }));
|
|
11575
11575
|
app.get(/.*/, (_req, res) => {
|
|
11576
|
-
res.sendFile(path37.join(clientDist, "index.html"));
|
|
11576
|
+
res.sendFile(path37.join(clientDist, "index.html"), { dotfiles: "allow" });
|
|
11577
11577
|
});
|
|
11578
11578
|
app.listen(port, () => {
|
|
11579
11579
|
const url = `http://localhost:${port}`;
|
package/dist/index.js
CHANGED
|
@@ -512,7 +512,7 @@ try {
|
|
|
512
512
|
} catch {
|
|
513
513
|
}
|
|
514
514
|
var args = process.argv.slice(2);
|
|
515
|
-
var ctxloomVersion = "1.0.
|
|
515
|
+
var ctxloomVersion = "1.0.19".length > 0 ? "1.0.19" : "dev";
|
|
516
516
|
if (args.includes("--version") || args.includes("-v")) {
|
|
517
517
|
process.stdout.write(`ctxloom ${ctxloomVersion}
|
|
518
518
|
`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ctxloom-pro",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
4
4
|
"description": "ctxloom — The Universal Code Context Engine. A local-first MCP server providing intelligent code context via hybrid Vector + AST + Graph search with Skeletonization (92% token reduction).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|