autodocs-engine 0.10.2 → 0.10.3
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 +31 -4
- package/dist/bin/autodocs-engine.js +10 -1
- package/dist/bin/autodocs-engine.js.map +1 -1
- package/dist/bin/serve.d.ts +1 -0
- package/dist/bin/serve.js +11 -5
- package/dist/bin/serve.js.map +1 -1
- package/dist/bin/visualize.d.ts +5 -0
- package/dist/bin/visualize.js +29 -0
- package/dist/bin/visualize.js.map +1 -0
- package/dist/mcp/cache.js +15 -1
- package/dist/mcp/cache.js.map +1 -1
- package/dist/mcp/queries.d.ts +60 -0
- package/dist/mcp/queries.js +254 -10
- package/dist/mcp/queries.js.map +1 -1
- package/dist/mcp/server.d.ts +5 -2
- package/dist/mcp/server.js +293 -24
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +10 -0
- package/dist/mcp/tools.js +173 -4
- package/dist/mcp/tools.js.map +1 -1
- package/dist/pipeline.js +9 -1
- package/dist/pipeline.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.js.map +1 -1
- package/dist/visualizer.d.ts +2 -0
- package/dist/visualizer.js +291 -0
- package/dist/visualizer.js.map +1 -0
- package/hooks/autodocs-hook.cjs +68 -38
- package/package.json +1 -1
package/dist/mcp/server.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
import { createHash } from "node:crypto";
|
|
5
5
|
import { appendFileSync, mkdirSync } from "node:fs";
|
|
6
6
|
import { homedir } from "node:os";
|
|
7
|
-
import { join } from "node:path";
|
|
7
|
+
import { basename, join, resolve } from "node:path";
|
|
8
8
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
9
|
import { z } from "zod";
|
|
10
10
|
import { ENGINE_VERSION } from "../types.js";
|
|
11
11
|
import { AnalysisCache } from "./cache.js";
|
|
12
|
-
import { safeToolHandler } from "./errors.js";
|
|
12
|
+
import { safeToolHandler, ToolError } from "./errors.js";
|
|
13
13
|
import * as tools from "./tools.js";
|
|
14
14
|
const CHARS_PER_TOKEN = 3.5;
|
|
15
15
|
function estimateTokens(text) {
|
|
@@ -84,19 +84,66 @@ function getNextStepHint(toolName) {
|
|
|
84
84
|
return "\n\n**Next:** Call `review_changes` to verify pattern compliance.";
|
|
85
85
|
case "search":
|
|
86
86
|
return "\n\n**Next:** Call `analyze_impact` or `plan_change` on a result to understand its dependencies.";
|
|
87
|
+
case "rename":
|
|
88
|
+
return "\n\n**Next:** Apply the rename edits, then run tests to verify.";
|
|
89
|
+
case "get_module_doc":
|
|
90
|
+
return "\n\n**Next:** Call `plan_change` on specific files to check impact before editing.";
|
|
87
91
|
default:
|
|
88
92
|
return "";
|
|
89
93
|
}
|
|
90
94
|
}
|
|
91
95
|
/**
|
|
92
96
|
* Create an autodocs-engine MCP server with all tools registered.
|
|
93
|
-
*
|
|
97
|
+
* Supports single or multiple project paths (multi-repo).
|
|
98
|
+
* Call server.connect(transport) then warm caches after.
|
|
94
99
|
*/
|
|
95
|
-
export function createAutodocsServer(
|
|
100
|
+
export function createAutodocsServer(projectPaths, options = {}) {
|
|
96
101
|
const verbose = options.verbose ?? Boolean(process.env.AUTODOCS_DEBUG);
|
|
97
102
|
const telemetryEnabled = options.telemetry ?? process.env.AUTODOCS_TELEMETRY === "1";
|
|
98
103
|
const server = new McpServer({ name: "autodocs-engine", version: ENGINE_VERSION }, { instructions: SERVER_INSTRUCTIONS });
|
|
99
|
-
|
|
104
|
+
// Build cache registry — one AnalysisCache per project path
|
|
105
|
+
const paths = Array.isArray(projectPaths) ? projectPaths : [projectPaths];
|
|
106
|
+
const caches = new Map();
|
|
107
|
+
for (const p of paths) {
|
|
108
|
+
const resolved = resolve(p);
|
|
109
|
+
caches.set(resolved, new AnalysisCache(resolved, { typeChecking: options.typeChecking }));
|
|
110
|
+
}
|
|
111
|
+
const primaryPath = resolve(paths[0]);
|
|
112
|
+
/**
|
|
113
|
+
* Resolve which cache to use for a tool call.
|
|
114
|
+
* - No repo param + single repo → return the only cache
|
|
115
|
+
* - No repo param + multiple repos → throw with available repos
|
|
116
|
+
* - repo param → match by path suffix, basename, or exact path
|
|
117
|
+
*/
|
|
118
|
+
function resolveCache(repo) {
|
|
119
|
+
if (!repo) {
|
|
120
|
+
if (caches.size === 1)
|
|
121
|
+
return caches.values().next().value;
|
|
122
|
+
throw new ToolError("AMBIGUOUS_REPO", "Multiple repos indexed. Specify the repo parameter.", [
|
|
123
|
+
`Available: ${[...caches.keys()].map((p) => basename(p)).join(", ")}`,
|
|
124
|
+
"Use the directory name or full path",
|
|
125
|
+
]);
|
|
126
|
+
}
|
|
127
|
+
// Exact path match
|
|
128
|
+
const resolved = resolve(repo);
|
|
129
|
+
if (caches.has(resolved))
|
|
130
|
+
return caches.get(resolved);
|
|
131
|
+
// Basename match
|
|
132
|
+
for (const [path, cache] of caches) {
|
|
133
|
+
if (basename(path) === repo || basename(path).toLowerCase() === repo.toLowerCase())
|
|
134
|
+
return cache;
|
|
135
|
+
}
|
|
136
|
+
// Suffix match (only for path-like values containing /)
|
|
137
|
+
if (repo.includes("/")) {
|
|
138
|
+
for (const [path, cache] of caches) {
|
|
139
|
+
if (path.endsWith(repo))
|
|
140
|
+
return cache;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
throw new ToolError("REPO_NOT_FOUND", `Repo '${repo}' not found.`, [
|
|
144
|
+
`Available: ${[...caches.keys()].map((p) => basename(p)).join(", ")}`,
|
|
145
|
+
]);
|
|
146
|
+
}
|
|
100
147
|
const session = {
|
|
101
148
|
startTime: Date.now(),
|
|
102
149
|
calls: new Map(),
|
|
@@ -105,7 +152,7 @@ export function createAutodocsServer(projectPath, options = {}) {
|
|
|
105
152
|
errors: 0,
|
|
106
153
|
seq: 0,
|
|
107
154
|
runId: `${Date.now()}-${process.pid}`,
|
|
108
|
-
telemetryPath: telemetryEnabled ? getTelemetryPath(
|
|
155
|
+
telemetryPath: telemetryEnabled ? getTelemetryPath(primaryPath) : null,
|
|
109
156
|
};
|
|
110
157
|
/**
|
|
111
158
|
* Telemetry wrapper: tracks token estimates, logs to stderr when verbose,
|
|
@@ -116,7 +163,18 @@ export function createAutodocsServer(projectPath, options = {}) {
|
|
|
116
163
|
const estInputTokens = args ? estimateTokens(JSON.stringify(args)) : 0;
|
|
117
164
|
return safeToolHandler(fn).then((result) => {
|
|
118
165
|
const latencyMs = Math.round(performance.now() - start);
|
|
119
|
-
|
|
166
|
+
let cacheStatus = "unknown";
|
|
167
|
+
let usedCache = null;
|
|
168
|
+
try {
|
|
169
|
+
usedCache =
|
|
170
|
+
caches.size === 1
|
|
171
|
+
? caches.values().next().value
|
|
172
|
+
: resolveCache(args?.repo);
|
|
173
|
+
cacheStatus = usedCache.lastWasCacheHit ? "hit" : "miss";
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
// resolveCache may throw if repo param was invalid — telemetry should not crash
|
|
177
|
+
}
|
|
120
178
|
const isError = Boolean(result.isError);
|
|
121
179
|
// Estimate output tokens (filter to text blocks only — non-text blocks are ignored)
|
|
122
180
|
const estOutputTokens = estimateTokens((result.content ?? [])
|
|
@@ -155,8 +213,8 @@ export function createAutodocsServer(projectPath, options = {}) {
|
|
|
155
213
|
hintTarget.text += hint;
|
|
156
214
|
}
|
|
157
215
|
// Append freshness metadata to every tool response
|
|
158
|
-
if (!isError && result.content.length > 0) {
|
|
159
|
-
const meta =
|
|
216
|
+
if (!isError && usedCache && result.content.length > 0) {
|
|
217
|
+
const meta = usedCache.getMeta();
|
|
160
218
|
const last = result.content[result.content.length - 1];
|
|
161
219
|
if (last.type === "text") {
|
|
162
220
|
last.text += `\n\n---\n*Analyzed: ${meta.analyzedAt} | Commit: ${meta.analyzedCommit} | ${meta.isFresh ? "Fresh" : "Stale — files changed since analysis"}*`;
|
|
@@ -174,7 +232,12 @@ WHEN TO CALL:
|
|
|
174
232
|
|
|
175
233
|
DO NOT CALL:
|
|
176
234
|
- User asks about architecture or where to put code (use get_architecture)
|
|
177
|
-
- User asks about dependencies or what frameworks are used`, {
|
|
235
|
+
- User asks about dependencies or what frameworks are used`, {
|
|
236
|
+
packagePath: z.string().optional().describe("Package path or name. Omit for single-package repos."),
|
|
237
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
238
|
+
}, async (args) => withTelemetry("get_commands", () => resolveCache(args?.repo)
|
|
239
|
+
.get()
|
|
240
|
+
.then((a) => tools.handleGetCommands(a, args)), args));
|
|
178
241
|
// ─── P0: get_architecture ────────────────────────────────────────────
|
|
179
242
|
server.tool("get_architecture", `Get project directory structure with entry point, directory purposes, file counts, and package type.
|
|
180
243
|
|
|
@@ -185,7 +248,12 @@ WHEN TO CALL:
|
|
|
185
248
|
|
|
186
249
|
DO NOT CALL:
|
|
187
250
|
- User asks about specific file contents or imports (use analyze_impact)
|
|
188
|
-
- User asks about build/test commands (use get_commands)`, {
|
|
251
|
+
- User asks about build/test commands (use get_commands)`, {
|
|
252
|
+
packagePath: z.string().optional().describe("Package path or name."),
|
|
253
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
254
|
+
}, async (args) => withTelemetry("get_architecture", () => resolveCache(args?.repo)
|
|
255
|
+
.get()
|
|
256
|
+
.then((a) => tools.handleGetArchitecture(a, args)), args));
|
|
189
257
|
// ─── P0: analyze_impact ──────────────────────────────────────────────
|
|
190
258
|
server.tool("analyze_impact", `Analyze what code is affected by changing a specific file or function. Returns importers (who depends on this file), callers (who calls this function), and co-change partners (files that historically change together from git).
|
|
191
259
|
|
|
@@ -201,12 +269,15 @@ DO NOT CALL:
|
|
|
201
269
|
filePath: z.string().optional().describe("File to analyze (e.g., 'src/types.ts')"),
|
|
202
270
|
functionName: z.string().optional().describe("Function to find callers for"),
|
|
203
271
|
packagePath: z.string().optional().describe("Package path or name"),
|
|
272
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
204
273
|
scope: z
|
|
205
274
|
.enum(["all", "imports", "callers", "cochanges"])
|
|
206
275
|
.optional()
|
|
207
276
|
.describe("Narrow analysis: 'imports' for file importers only, 'callers' for function callers only, 'cochanges' for git history only. Default: all."),
|
|
208
277
|
limit: z.number().min(1).max(50).optional().describe("Max results per section. Default: 20."),
|
|
209
|
-
}, async (args) => withTelemetry("analyze_impact", () =>
|
|
278
|
+
}, async (args) => withTelemetry("analyze_impact", () => resolveCache(args?.repo)
|
|
279
|
+
.get()
|
|
280
|
+
.then((a) => tools.handleAnalyzeImpact(a, args)), args));
|
|
210
281
|
// ─── P0: get_workflow_rules ──────────────────────────────────────────
|
|
211
282
|
server.tool("get_workflow_rules", `Get operational rules about what to do AFTER modifying specific files or technologies. Examples: "after changing schema.prisma, run db:generate", "when modifying src/types.ts, check 12 dependent files".
|
|
212
283
|
|
|
@@ -220,7 +291,10 @@ DO NOT CALL:
|
|
|
220
291
|
- User asks WHERE to put new code (use get_architecture)`, {
|
|
221
292
|
filePath: z.string().optional().describe("Filter to rules mentioning this file (e.g., 'src/types.ts')"),
|
|
222
293
|
packagePath: z.string().optional().describe("Package path or name."),
|
|
223
|
-
|
|
294
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
295
|
+
}, async (args) => withTelemetry("get_workflow_rules", () => resolveCache(args?.repo)
|
|
296
|
+
.get()
|
|
297
|
+
.then((a) => tools.handleGetWorkflowRules(a, args)), args));
|
|
224
298
|
// ─── P0: list_packages ──────────────────────────────────────────────
|
|
225
299
|
server.tool("list_packages", `List all packages in this project with names, paths, types, and entry points.
|
|
226
300
|
|
|
@@ -230,7 +304,9 @@ WHEN TO CALL:
|
|
|
230
304
|
- Another tool returned AMBIGUOUS_PACKAGE error
|
|
231
305
|
|
|
232
306
|
DO NOT CALL:
|
|
233
|
-
- Single-package repos (will return one item, which is fine but unnecessary)`, {}, async () => withTelemetry("list_packages", () =>
|
|
307
|
+
- Single-package repos (will return one item, which is fine but unnecessary)`, { repo: z.string().optional().describe("Repository name or path. Omit if single repo.") }, async (args) => withTelemetry("list_packages", () => resolveCache(args?.repo)
|
|
308
|
+
.get()
|
|
309
|
+
.then((a) => tools.handleListPackages(a)), args));
|
|
234
310
|
// ─── P1: get_contribution_guide ──────────────────────────────────────
|
|
235
311
|
server.tool("get_contribution_guide", `Get step-by-step recipes for adding new code: file patterns, common imports, export conventions, registration files.
|
|
236
312
|
|
|
@@ -239,7 +315,10 @@ WHEN TO CALL:
|
|
|
239
315
|
- User is creating a new file and wants to follow project conventions`, {
|
|
240
316
|
directory: z.string().optional().describe("Filter to patterns in this directory (e.g., 'src/detectors/')"),
|
|
241
317
|
packagePath: z.string().optional().describe("Package path or name."),
|
|
242
|
-
|
|
318
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
319
|
+
}, async (args) => withTelemetry("get_contribution_guide", () => resolveCache(args?.repo)
|
|
320
|
+
.get()
|
|
321
|
+
.then((a) => tools.handleGetContributionGuide(a, args)), args));
|
|
243
322
|
// ─── P1: get_exports ─────────────────────────────────────────────────
|
|
244
323
|
server.tool("get_exports", `Get public API exports sorted by usage (import count), with kind, signature, and source file.
|
|
245
324
|
|
|
@@ -247,9 +326,12 @@ WHEN TO CALL:
|
|
|
247
326
|
- User asks "what can I import from this package?", "what's the public API?"
|
|
248
327
|
- User needs to find a specific export by name`, {
|
|
249
328
|
packagePath: z.string().optional().describe("Package path or name."),
|
|
329
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
250
330
|
query: z.string().optional().describe("Filter exports by name (substring match)"),
|
|
251
331
|
limit: z.number().min(1).max(100).optional().describe("Max results. Default: 20."),
|
|
252
|
-
}, async (args) => withTelemetry("get_exports", () =>
|
|
332
|
+
}, async (args) => withTelemetry("get_exports", () => resolveCache(args?.repo)
|
|
333
|
+
.get()
|
|
334
|
+
.then((a) => tools.handleGetExports(a, args)), args));
|
|
253
335
|
// ─── P2: get_conventions ─────────────────────────────────────────────
|
|
254
336
|
server.tool("get_conventions", `Get DO/DON'T coding conventions for this project (architecture patterns, not style rules handled by linters).
|
|
255
337
|
|
|
@@ -260,7 +342,10 @@ WHEN TO CALL:
|
|
|
260
342
|
.optional()
|
|
261
343
|
.describe("Filter by convention category (e.g., 'file-naming', 'hooks', 'testing', 'ecosystem')"),
|
|
262
344
|
packagePath: z.string().optional().describe("Package path or name."),
|
|
263
|
-
|
|
345
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
346
|
+
}, async (args) => withTelemetry("get_conventions", () => resolveCache(args?.repo)
|
|
347
|
+
.get()
|
|
348
|
+
.then((a) => tools.handleGetConventions(a, args)), args));
|
|
264
349
|
// ─── New: plan_change ──────────────────────────────────────────────
|
|
265
350
|
server.tool("plan_change", `Analyze what files need updating when you change specific files. Returns dependent files (import graph), co-change partners (git history), registration/barrel files that need updating, corresponding test files, blast radius, and an ordered checklist.
|
|
266
351
|
|
|
@@ -280,7 +365,10 @@ DO NOT CALL:
|
|
|
280
365
|
.optional()
|
|
281
366
|
.describe("Specific symbols being modified (e.g. ['Convention', 'WorkflowRule']). Narrows dependents to files importing these symbols."),
|
|
282
367
|
packagePath: z.string().optional().describe("Package path or name"),
|
|
283
|
-
|
|
368
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
369
|
+
}, async (args) => withTelemetry("plan_change", () => resolveCache(args?.repo)
|
|
370
|
+
.get()
|
|
371
|
+
.then((a) => tools.handlePlanChange(a, args)), args));
|
|
284
372
|
// ─── New: get_test_info ───────────────────────────────────────────
|
|
285
373
|
server.tool("get_test_info", `Get the test file path and exact run command for a specific source file. Maps source files to their corresponding test files using detected patterns.
|
|
286
374
|
|
|
@@ -293,7 +381,10 @@ DO NOT CALL:
|
|
|
293
381
|
- When you need test conventions for the whole project (use get_conventions with category='testing')`, {
|
|
294
382
|
filePath: z.string().describe("Source file path (e.g., 'src/detectors/file-naming.ts')"),
|
|
295
383
|
packagePath: z.string().optional().describe("Package path or name"),
|
|
296
|
-
|
|
384
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
385
|
+
}, async (args) => withTelemetry("get_test_info", () => resolveCache(args?.repo)
|
|
386
|
+
.get()
|
|
387
|
+
.then((a) => tools.handleGetTestInfo(a, args)), args));
|
|
297
388
|
// ─── New: auto_register ─────────────────────────────────────────
|
|
298
389
|
server.tool("auto_register", `Generate exact code insertions to register a new file in registration files and barrel/index files. Returns line numbers and code to insert.
|
|
299
390
|
|
|
@@ -306,7 +397,10 @@ DO NOT CALL:
|
|
|
306
397
|
- When modifying existing files (this is for NEW files only)`, {
|
|
307
398
|
newFilePath: z.string().describe("Path of the newly created file (e.g., 'src/detectors/graphql.ts')"),
|
|
308
399
|
packagePath: z.string().optional().describe("Package path or name"),
|
|
309
|
-
|
|
400
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
401
|
+
}, async (args) => withTelemetry("auto_register", () => resolveCache(args?.repo)
|
|
402
|
+
.get()
|
|
403
|
+
.then((a) => tools.handleAutoRegister(a, args)), args));
|
|
310
404
|
// ─── New: review_changes ──────────────────────────────────────────
|
|
311
405
|
server.tool("review_changes", `Review generated code against detected contribution patterns. Checks: export naming suffix, common imports, registration status, barrel exports, and test file existence. Returns pass/fail per check.
|
|
312
406
|
|
|
@@ -324,7 +418,27 @@ DO NOT CALL:
|
|
|
324
418
|
}))
|
|
325
419
|
.describe("Files to review"),
|
|
326
420
|
packagePath: z.string().optional().describe("Package path or name"),
|
|
327
|
-
|
|
421
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
422
|
+
}, async (args) => withTelemetry("review_changes", () => resolveCache(args?.repo)
|
|
423
|
+
.get()
|
|
424
|
+
.then((a) => tools.handleReviewChanges(a, args)), args));
|
|
425
|
+
// ─── New: get_module_doc ────────────────────────────────────────
|
|
426
|
+
server.tool("get_module_doc", `Get structured documentation for a directory/module: files, exports, dependencies, dependents, internal call graph, execution flows, co-change partners, and contribution patterns.
|
|
427
|
+
|
|
428
|
+
WHEN TO CALL:
|
|
429
|
+
- User asks "tell me about the MCP module" or "what does src/detectors/ do?"
|
|
430
|
+
- User needs an overview of a directory before modifying it
|
|
431
|
+
- User wants to understand module boundaries and dependencies
|
|
432
|
+
|
|
433
|
+
DO NOT CALL:
|
|
434
|
+
- For individual file or symbol details (use analyze_impact or get_exports)
|
|
435
|
+
- For finding code by concept (use search)`, {
|
|
436
|
+
directory: z.string().describe("Directory path (e.g., 'src/mcp', 'src/detectors')"),
|
|
437
|
+
packagePath: z.string().optional().describe("Package path or name"),
|
|
438
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
439
|
+
}, async (args) => withTelemetry("get_module_doc", () => resolveCache(args?.repo)
|
|
440
|
+
.get()
|
|
441
|
+
.then((a) => tools.handleGetModuleDoc(a, args)), args));
|
|
328
442
|
// ─── New: diagnose ──────────────────────────────────────────────
|
|
329
443
|
server.tool("diagnose", `Diagnose test failures by tracing backward from errors to likely root cause using import graph, git co-change history, and call graph analysis. Returns ranked suspect files with evidence.
|
|
330
444
|
|
|
@@ -341,7 +455,10 @@ DO NOT CALL:
|
|
|
341
455
|
filePath: z.string().optional().describe("File where the error occurs (e.g., 'src/types.ts')"),
|
|
342
456
|
testFile: z.string().optional().describe("Failing test file (e.g., 'test/pipeline.test.ts')"),
|
|
343
457
|
packagePath: z.string().optional().describe("Package path or name"),
|
|
344
|
-
|
|
458
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
459
|
+
}, async (args) => withTelemetry("diagnose", () => resolveCache(args?.repo)
|
|
460
|
+
.get()
|
|
461
|
+
.then((a) => tools.handleDiagnose(a, args)), args));
|
|
345
462
|
// ─── New: search ────────────────────────────────────────────────
|
|
346
463
|
server.tool("search", `Search for symbols, files, and patterns across the codebase. Returns functions, types, files, and conventions matching the query, enriched with call graph context (callers/callees) and co-change partners.
|
|
347
464
|
|
|
@@ -355,9 +472,161 @@ DO NOT CALL:
|
|
|
355
472
|
- User wants to understand what changes when modifying known files (use plan_change)`, {
|
|
356
473
|
query: z.string().describe("Search term — matches symbol names, file paths, and convention descriptions"),
|
|
357
474
|
packagePath: z.string().optional().describe("Package path or name"),
|
|
475
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
358
476
|
limit: z.number().min(1).max(50).optional().describe("Max results. Default: 20."),
|
|
359
|
-
}, async (args) => withTelemetry("search", () =>
|
|
360
|
-
|
|
477
|
+
}, async (args) => withTelemetry("search", () => resolveCache(args?.repo)
|
|
478
|
+
.get()
|
|
479
|
+
.then((a) => tools.handleSearch(a, args)), args));
|
|
480
|
+
// ─── New: rename ─────────────────────────────────────────────────
|
|
481
|
+
server.tool("rename", `Find all references to a symbol for safe renaming. Returns the definition location, all import sites, re-exports, and call sites with a rename checklist. Preview only — does not modify files.
|
|
482
|
+
|
|
483
|
+
WHEN TO CALL:
|
|
484
|
+
- User wants to rename a function, type, class, or constant across the codebase
|
|
485
|
+
- User asks "what would break if I rename X?" or "where is X used?"
|
|
486
|
+
- User needs to find all import statements referencing a symbol
|
|
487
|
+
|
|
488
|
+
DO NOT CALL:
|
|
489
|
+
- For simple find-and-replace of string literals (use grep)
|
|
490
|
+
- For renaming files (this tracks symbol references, not file paths)`, {
|
|
491
|
+
symbolName: z.string().describe("Current name of the symbol to rename"),
|
|
492
|
+
newName: z.string().describe("New name for the symbol"),
|
|
493
|
+
filePath: z.string().optional().describe("File where the symbol is defined (for disambiguation)"),
|
|
494
|
+
packagePath: z.string().optional().describe("Package path or name"),
|
|
495
|
+
repo: z.string().optional().describe("Repository name or path. Omit if single repo."),
|
|
496
|
+
}, async (args) => withTelemetry("rename", () => resolveCache(args?.repo)
|
|
497
|
+
.get()
|
|
498
|
+
.then((a) => tools.handleRename(a, args)), args));
|
|
499
|
+
// ─── MCP Resources ────────────────────────────────────────────────
|
|
500
|
+
// Static data exposed as resources — cheaper than tool calls for context.
|
|
501
|
+
server.resource("conventions", "autodocs://conventions", { mimeType: "text/markdown" }, async () => {
|
|
502
|
+
const a = await resolveCache().get();
|
|
503
|
+
const pkg = a.packages[0];
|
|
504
|
+
if (!pkg)
|
|
505
|
+
return {
|
|
506
|
+
contents: [{ uri: "autodocs://conventions", mimeType: "text/markdown", text: "No analysis available." }],
|
|
507
|
+
};
|
|
508
|
+
const lines = ["# Conventions", ""];
|
|
509
|
+
for (const c of pkg.conventions) {
|
|
510
|
+
lines.push(`- **${c.name}** (${c.category}): ${c.description}`);
|
|
511
|
+
}
|
|
512
|
+
for (const ap of pkg.antiPatterns) {
|
|
513
|
+
lines.push(`- **DON'T:** ${ap.rule} — ${ap.reason}`);
|
|
514
|
+
}
|
|
515
|
+
return { contents: [{ uri: "autodocs://conventions", mimeType: "text/markdown", text: lines.join("\n") }] };
|
|
516
|
+
});
|
|
517
|
+
server.resource("processes", "autodocs://processes", { mimeType: "text/markdown" }, async () => {
|
|
518
|
+
const a = await resolveCache().get();
|
|
519
|
+
const pkg = a.packages[0];
|
|
520
|
+
const flows = pkg?.executionFlows ?? [];
|
|
521
|
+
const lines = ["# Execution Flows", ""];
|
|
522
|
+
if (flows.length === 0) {
|
|
523
|
+
lines.push("No execution flows detected (call graph may be too sparse).");
|
|
524
|
+
}
|
|
525
|
+
else {
|
|
526
|
+
for (const f of flows) {
|
|
527
|
+
const conf = f.confidence > 0 ? ` (confidence: ${Math.round(f.confidence * 100)}%)` : "";
|
|
528
|
+
lines.push(`- ${f.label}${conf}`);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
return { contents: [{ uri: "autodocs://processes", mimeType: "text/markdown", text: lines.join("\n") }] };
|
|
532
|
+
});
|
|
533
|
+
server.resource("clusters", "autodocs://clusters", { mimeType: "text/markdown" }, async () => {
|
|
534
|
+
const a = await resolveCache().get();
|
|
535
|
+
const pkg = a.packages[0];
|
|
536
|
+
const clusters = pkg?.coChangeClusters ?? [];
|
|
537
|
+
const lines = [
|
|
538
|
+
"# Co-change Clusters",
|
|
539
|
+
"",
|
|
540
|
+
"Groups of files that frequently change together (all pairs co-change).",
|
|
541
|
+
"",
|
|
542
|
+
];
|
|
543
|
+
if (clusters.length === 0) {
|
|
544
|
+
lines.push("No clusters detected (requires git history with 3+ files co-changing as a clique).");
|
|
545
|
+
}
|
|
546
|
+
else {
|
|
547
|
+
for (let i = 0; i < clusters.length; i++) {
|
|
548
|
+
lines.push(`### Cluster ${i + 1} (${clusters[i].length} files)`);
|
|
549
|
+
for (const f of clusters[i])
|
|
550
|
+
lines.push(`- \`${f}\``);
|
|
551
|
+
lines.push("");
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
return { contents: [{ uri: "autodocs://clusters", mimeType: "text/markdown", text: lines.join("\n") }] };
|
|
555
|
+
});
|
|
556
|
+
server.resource("packages", "autodocs://packages", { mimeType: "text/markdown" }, async () => {
|
|
557
|
+
const a = await resolveCache().get();
|
|
558
|
+
const lines = ["# Packages", ""];
|
|
559
|
+
for (const pkg of a.packages) {
|
|
560
|
+
lines.push(`- **${pkg.name}** (${pkg.relativePath}) — ${pkg.architecture.packageType}, ${pkg.files.total} files, entry: ${pkg.architecture.entryPoint}`);
|
|
561
|
+
}
|
|
562
|
+
return { contents: [{ uri: "autodocs://packages", mimeType: "text/markdown", text: lines.join("\n") }] };
|
|
563
|
+
});
|
|
564
|
+
server.resource("schema", "autodocs://schema", { mimeType: "text/markdown" }, async () => ({
|
|
565
|
+
contents: [
|
|
566
|
+
{
|
|
567
|
+
uri: "autodocs://schema",
|
|
568
|
+
mimeType: "text/markdown",
|
|
569
|
+
text: [
|
|
570
|
+
"# autodocs-engine Analysis Schema",
|
|
571
|
+
"",
|
|
572
|
+
"Each analyzed package contains:",
|
|
573
|
+
"- **publicAPI**: Exported symbols with kind, source file, import count, resolved types",
|
|
574
|
+
"- **callGraph**: Cross-file function call edges with confidence",
|
|
575
|
+
"- **importChain**: File-to-file import edges with symbol lists",
|
|
576
|
+
"- **gitHistory.coChangeEdges**: File pairs that frequently change together (Jaccard similarity)",
|
|
577
|
+
"- **implicitCoupling**: Co-change pairs with NO import relationship",
|
|
578
|
+
"- **coChangeClusters**: Groups of 3+ files that ALL co-change (cliques)",
|
|
579
|
+
"- **executionFlows**: Entry-to-terminal execution paths through call graph",
|
|
580
|
+
"- **conventions**: Detected coding patterns from 13 AST-based detectors",
|
|
581
|
+
"- **contributionPatterns**: How to add new code (file patterns, registration, common imports)",
|
|
582
|
+
"- **commands**: Build, test, lint, start commands with exact flags",
|
|
583
|
+
"",
|
|
584
|
+
"Use `search` to find symbols by concept. Use `plan_change` before modifying files.",
|
|
585
|
+
"Use `diagnose` when tests fail. Use `analyze_impact` for blast radius.",
|
|
586
|
+
].join("\n"),
|
|
587
|
+
},
|
|
588
|
+
],
|
|
589
|
+
}));
|
|
590
|
+
// ─── MCP Prompts ──────────────────────────────────────────────────
|
|
591
|
+
// Guided workflows composing tools + resources.
|
|
592
|
+
server.prompt("analyze-impact", "Analyze blast radius of current changes before committing", async () => ({
|
|
593
|
+
messages: [
|
|
594
|
+
{
|
|
595
|
+
role: "user",
|
|
596
|
+
content: {
|
|
597
|
+
type: "text",
|
|
598
|
+
text: [
|
|
599
|
+
"Analyze the impact of my current code changes. Follow these steps:",
|
|
600
|
+
"",
|
|
601
|
+
"1. Run `git diff --name-only` to identify changed files",
|
|
602
|
+
"2. Call the `plan_change` tool with those files to see dependents, co-change partners, and registration needs",
|
|
603
|
+
"3. Check the `autodocs://clusters` resource to see if any changed files belong to co-change clusters",
|
|
604
|
+
"4. Summarize: what's the blast radius? What other files might need updating? What tests should I run?",
|
|
605
|
+
].join("\n"),
|
|
606
|
+
},
|
|
607
|
+
},
|
|
608
|
+
],
|
|
609
|
+
}));
|
|
610
|
+
server.prompt("onboard", "Understand this codebase — commands, architecture, conventions, and key patterns", async () => ({
|
|
611
|
+
messages: [
|
|
612
|
+
{
|
|
613
|
+
role: "user",
|
|
614
|
+
content: {
|
|
615
|
+
type: "text",
|
|
616
|
+
text: [
|
|
617
|
+
"Help me understand this codebase. Follow these steps:",
|
|
618
|
+
"",
|
|
619
|
+
"1. Call `get_commands` for build, test, and lint commands",
|
|
620
|
+
"2. Call `get_architecture` for directory structure, entry points, and execution flows",
|
|
621
|
+
"3. Call `get_conventions` for the project's DO and DON'T rules",
|
|
622
|
+
"4. Read the `autodocs://schema` resource to understand what analysis data is available",
|
|
623
|
+
"5. Summarize the key things I need to know to start contributing",
|
|
624
|
+
].join("\n"),
|
|
625
|
+
},
|
|
626
|
+
},
|
|
627
|
+
],
|
|
628
|
+
}));
|
|
629
|
+
return { server, caches, cache: caches.get(primaryPath), session };
|
|
361
630
|
}
|
|
362
631
|
/**
|
|
363
632
|
* Format session telemetry as a human-readable summary for stderr.
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/tools.d.ts
CHANGED
|
@@ -61,6 +61,16 @@ export declare function handleSearch(analysis: StructuredAnalysis, args: {
|
|
|
61
61
|
packagePath?: string;
|
|
62
62
|
limit?: number;
|
|
63
63
|
}): ToolResult;
|
|
64
|
+
export declare function handleGetModuleDoc(analysis: StructuredAnalysis, args: {
|
|
65
|
+
directory: string;
|
|
66
|
+
packagePath?: string;
|
|
67
|
+
}): ToolResult;
|
|
68
|
+
export declare function handleRename(analysis: StructuredAnalysis, args: {
|
|
69
|
+
symbolName: string;
|
|
70
|
+
newName: string;
|
|
71
|
+
filePath?: string;
|
|
72
|
+
packagePath?: string;
|
|
73
|
+
}): ToolResult;
|
|
64
74
|
export declare function handleDiagnose(analysis: StructuredAnalysis, args: {
|
|
65
75
|
errorText?: string;
|
|
66
76
|
filePath?: string;
|