code-auditor-mcp 1.18.0 → 1.20.0
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/dist/analyzers/documentationAnalyzer.d.ts +46 -0
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/documentationAnalyzer.js +321 -0
- package/dist/analyzers/documentationAnalyzer.js.map +1 -0
- package/dist/cli.js +115 -0
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDb.d.ts +32 -0
- package/dist/codeIndexDb.d.ts.map +1 -1
- package/dist/codeIndexDb.js +117 -3
- package/dist/codeIndexDb.js.map +1 -1
- package/dist/codeIndexService.d.ts +5 -1
- package/dist/codeIndexService.d.ts.map +1 -1
- package/dist/codeIndexService.js +17 -7
- package/dist/codeIndexService.js.map +1 -1
- package/dist/mcp-tools/workflowGuide.d.ts.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +46 -8
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp.js +217 -1
- package/dist/mcp.js.map +1 -1
- package/dist/services/CodeMapGenerator.d.ts +120 -0
- package/dist/services/CodeMapGenerator.d.ts.map +1 -0
- package/dist/services/CodeMapGenerator.js +483 -0
- package/dist/services/CodeMapGenerator.js.map +1 -0
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +14 -15
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documentation Quality Analyzer
|
|
3
|
+
* Assesses JSDoc coverage and documentation quality across the codebase
|
|
4
|
+
*/
|
|
5
|
+
import { AnalyzerDefinition, AnalyzerResult, AuditOptions, ProgressCallback } from '../types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for documentation analyzer
|
|
8
|
+
*/
|
|
9
|
+
export interface DocumentationAnalyzerConfig {
|
|
10
|
+
requireFunctionDocs: boolean;
|
|
11
|
+
requireComponentDocs: boolean;
|
|
12
|
+
requireFileDocs: boolean;
|
|
13
|
+
requireParamDocs: boolean;
|
|
14
|
+
requireReturnDocs: boolean;
|
|
15
|
+
minDescriptionLength: number;
|
|
16
|
+
checkExportedOnly: boolean;
|
|
17
|
+
exemptPatterns: string[];
|
|
18
|
+
}
|
|
19
|
+
export declare const DEFAULT_DOCUMENTATION_CONFIG: DocumentationAnalyzerConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Documentation quality metrics for reporting
|
|
22
|
+
*/
|
|
23
|
+
export interface DocumentationMetrics {
|
|
24
|
+
totalFunctions: number;
|
|
25
|
+
documentedFunctions: number;
|
|
26
|
+
totalComponents: number;
|
|
27
|
+
documentedComponents: number;
|
|
28
|
+
totalFiles: number;
|
|
29
|
+
filesWithPurpose: number;
|
|
30
|
+
functionsWithParams: number;
|
|
31
|
+
paramsDocumented: number;
|
|
32
|
+
functionsWithReturns: number;
|
|
33
|
+
returnsDocumented: number;
|
|
34
|
+
coverageScore: number;
|
|
35
|
+
wellDocumentedFiles: string[];
|
|
36
|
+
poorlyDocumentedFiles: string[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Main documentation analyzer function
|
|
40
|
+
*/
|
|
41
|
+
export declare function analyzeDocumentation(files: string[], config?: Partial<DocumentationAnalyzerConfig>, options?: AuditOptions, progressCallback?: ProgressCallback): Promise<AnalyzerResult>;
|
|
42
|
+
/**
|
|
43
|
+
* Documentation analyzer definition for the registry
|
|
44
|
+
*/
|
|
45
|
+
export declare const documentationAnalyzer: AnalyzerDefinition;
|
|
46
|
+
//# sourceMappingURL=documentationAnalyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentationAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAEL,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAarB;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,4BAA4B,EAAE,2BAW1C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAsQD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,OAAO,CAAC,2BAA2B,CAAM,EACjD,OAAO,GAAE,YAAiB,EAC1B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,cAAc,CAAC,CA8FzB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,kBAKnC,CAAC"}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documentation Quality Analyzer
|
|
3
|
+
* Assesses JSDoc coverage and documentation quality across the codebase
|
|
4
|
+
*/
|
|
5
|
+
import * as ts from 'typescript';
|
|
6
|
+
import { promises as fs } from 'fs';
|
|
7
|
+
import { getNodePosition, findNodesOfType, getNodeName, processFiles } from './analyzerUtils.js';
|
|
8
|
+
import { isReactComponent, getComponentName } from '../utils/reactDetection.js';
|
|
9
|
+
export const DEFAULT_DOCUMENTATION_CONFIG = {
|
|
10
|
+
requireFunctionDocs: true,
|
|
11
|
+
requireComponentDocs: true,
|
|
12
|
+
requireFileDocs: true,
|
|
13
|
+
requireParamDocs: true,
|
|
14
|
+
requireReturnDocs: true,
|
|
15
|
+
minDescriptionLength: 10,
|
|
16
|
+
checkExportedOnly: false,
|
|
17
|
+
exemptPatterns: [
|
|
18
|
+
'test', 'spec', '\.d\.ts$', 'mock', 'fixture'
|
|
19
|
+
]
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Extracts JSDoc comment for a node
|
|
23
|
+
*/
|
|
24
|
+
function getJSDoc(node, sourceFile) {
|
|
25
|
+
const jsDocTags = ts.getJSDocTags(node);
|
|
26
|
+
const jsDocComments = ts.getJSDocCommentsAndTags(node);
|
|
27
|
+
if (jsDocComments.length > 0) {
|
|
28
|
+
const comment = jsDocComments[0];
|
|
29
|
+
if (ts.isJSDoc(comment)) {
|
|
30
|
+
return comment.comment ? ts.getTextOfJSDocComment(comment.comment) || '' : '';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Fallback: look for leading comments
|
|
34
|
+
const fullText = sourceFile.getFullText();
|
|
35
|
+
const leadingComments = ts.getLeadingCommentRanges(fullText, node.getFullStart());
|
|
36
|
+
if (leadingComments) {
|
|
37
|
+
for (const comment of leadingComments) {
|
|
38
|
+
const commentText = fullText.substring(comment.pos, comment.end);
|
|
39
|
+
if (commentText.includes('/**')) {
|
|
40
|
+
return commentText.replace(/\/\*\*|\*\/|\s*\*/g, '').trim();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Checks if a node is exported
|
|
48
|
+
*/
|
|
49
|
+
function isExported(node) {
|
|
50
|
+
if ('modifiers' in node && node.modifiers) {
|
|
51
|
+
return node.modifiers.some(modifier => modifier.kind === ts.SyntaxKind.ExportKeyword);
|
|
52
|
+
}
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Extracts file-level purpose comment
|
|
57
|
+
*/
|
|
58
|
+
function getFilePurpose(sourceFile) {
|
|
59
|
+
const fullText = sourceFile.getFullText();
|
|
60
|
+
const leadingComments = ts.getLeadingCommentRanges(fullText, 0);
|
|
61
|
+
if (leadingComments) {
|
|
62
|
+
for (const comment of leadingComments) {
|
|
63
|
+
const commentText = fullText.substring(comment.pos, comment.end);
|
|
64
|
+
if (commentText.includes('@fileoverview') || commentText.includes('@purpose')) {
|
|
65
|
+
return commentText.replace(/\/\*\*|\*\/|\s*\*/g, '').trim();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Analyzes JSDoc parameters documentation
|
|
73
|
+
*/
|
|
74
|
+
function analyzeParamDocumentation(node) {
|
|
75
|
+
const parameters = node.parameters || [];
|
|
76
|
+
const jsDocTags = ts.getJSDocTags(node);
|
|
77
|
+
const paramTags = jsDocTags.filter(tag => tag.tagName.text === 'param');
|
|
78
|
+
return {
|
|
79
|
+
totalParams: parameters.length,
|
|
80
|
+
documentedParams: paramTags.length
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Checks if function has return documentation
|
|
85
|
+
*/
|
|
86
|
+
function hasReturnDocumentation(node) {
|
|
87
|
+
const jsDocTags = ts.getJSDocTags(node);
|
|
88
|
+
return jsDocTags.some(tag => tag.tagName.text === 'returns' || tag.tagName.text === 'return');
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Analyzes a single file for documentation quality
|
|
92
|
+
*/
|
|
93
|
+
function analyzeFileDocumentation(sourceFile, config) {
|
|
94
|
+
const violations = [];
|
|
95
|
+
const fileName = sourceFile.fileName;
|
|
96
|
+
let totalFunctions = 0;
|
|
97
|
+
let documentedFunctions = 0;
|
|
98
|
+
let totalComponents = 0;
|
|
99
|
+
let documentedComponents = 0;
|
|
100
|
+
let functionsWithParams = 0;
|
|
101
|
+
let paramsDocumented = 0;
|
|
102
|
+
let functionsWithReturns = 0;
|
|
103
|
+
let returnsDocumented = 0;
|
|
104
|
+
// Check file-level documentation
|
|
105
|
+
const filePurpose = getFilePurpose(sourceFile);
|
|
106
|
+
const hasFileDocs = !!filePurpose;
|
|
107
|
+
if (config.requireFileDocs && !hasFileDocs) {
|
|
108
|
+
violations.push({
|
|
109
|
+
file: fileName,
|
|
110
|
+
line: 1,
|
|
111
|
+
column: 1,
|
|
112
|
+
severity: 'suggestion',
|
|
113
|
+
message: 'File missing purpose documentation',
|
|
114
|
+
details: 'Consider adding @fileoverview or @purpose comment at the top of the file',
|
|
115
|
+
suggestion: 'Add file-level documentation explaining the module\'s purpose'
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
// Analyze functions and components
|
|
119
|
+
ts.forEachChild(sourceFile, function visit(node) {
|
|
120
|
+
if (ts.isFunctionDeclaration(node) ||
|
|
121
|
+
ts.isFunctionExpression(node) ||
|
|
122
|
+
ts.isArrowFunction(node) ||
|
|
123
|
+
ts.isMethodDeclaration(node)) {
|
|
124
|
+
totalFunctions++;
|
|
125
|
+
const isExportedNode = isExported(node);
|
|
126
|
+
const shouldCheck = !config.checkExportedOnly || isExportedNode;
|
|
127
|
+
if (shouldCheck) {
|
|
128
|
+
const jsDoc = getJSDoc(node, sourceFile);
|
|
129
|
+
const hasGoodDoc = jsDoc && jsDoc.length >= config.minDescriptionLength;
|
|
130
|
+
if (hasGoodDoc) {
|
|
131
|
+
documentedFunctions++;
|
|
132
|
+
}
|
|
133
|
+
else if (config.requireFunctionDocs) {
|
|
134
|
+
const functionName = getNodeName(node) || 'anonymous function';
|
|
135
|
+
const position = getNodePosition(sourceFile, node);
|
|
136
|
+
violations.push({
|
|
137
|
+
file: fileName,
|
|
138
|
+
line: position.line,
|
|
139
|
+
column: position.column,
|
|
140
|
+
severity: 'suggestion',
|
|
141
|
+
message: `Function '${functionName}' lacks documentation`,
|
|
142
|
+
details: 'Functions should have JSDoc comments describing their purpose',
|
|
143
|
+
suggestion: 'Add JSDoc comment with function description and parameter/return documentation'
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
// Check parameter documentation
|
|
147
|
+
if (ts.isFunctionDeclaration(node) || ts.isFunctionExpression(node)) {
|
|
148
|
+
const paramAnalysis = analyzeParamDocumentation(node);
|
|
149
|
+
if (paramAnalysis.totalParams > 0) {
|
|
150
|
+
functionsWithParams++;
|
|
151
|
+
if (paramAnalysis.documentedParams === paramAnalysis.totalParams) {
|
|
152
|
+
paramsDocumented++;
|
|
153
|
+
}
|
|
154
|
+
else if (config.requireParamDocs && hasGoodDoc) {
|
|
155
|
+
const functionName = getNodeName(node) || 'function';
|
|
156
|
+
const position = getNodePosition(sourceFile, node);
|
|
157
|
+
violations.push({
|
|
158
|
+
file: fileName,
|
|
159
|
+
line: position.line,
|
|
160
|
+
column: position.column,
|
|
161
|
+
severity: 'suggestion',
|
|
162
|
+
message: `Function '${functionName}' has undocumented parameters`,
|
|
163
|
+
details: `${paramAnalysis.documentedParams}/${paramAnalysis.totalParams} parameters documented`,
|
|
164
|
+
suggestion: 'Add @param tags for all function parameters'
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// Check return documentation
|
|
169
|
+
const hasReturn = node.type ||
|
|
170
|
+
(ts.isFunctionDeclaration(node) && node.body &&
|
|
171
|
+
findNodesOfType(node.body, ts.isReturnStatement).length > 0);
|
|
172
|
+
if (hasReturn) {
|
|
173
|
+
functionsWithReturns++;
|
|
174
|
+
if (hasReturnDocumentation(node)) {
|
|
175
|
+
returnsDocumented++;
|
|
176
|
+
}
|
|
177
|
+
else if (config.requireReturnDocs && hasGoodDoc) {
|
|
178
|
+
const functionName = getNodeName(node) || 'function';
|
|
179
|
+
const position = getNodePosition(sourceFile, node);
|
|
180
|
+
violations.push({
|
|
181
|
+
file: fileName,
|
|
182
|
+
line: position.line,
|
|
183
|
+
column: position.column,
|
|
184
|
+
severity: 'suggestion',
|
|
185
|
+
message: `Function '${functionName}' missing return documentation`,
|
|
186
|
+
details: 'Functions with return values should document what they return',
|
|
187
|
+
suggestion: 'Add @returns tag describing the return value'
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// Check React components
|
|
195
|
+
if (isReactComponent(node)) {
|
|
196
|
+
totalComponents++;
|
|
197
|
+
const isExportedComponent = isExported(node);
|
|
198
|
+
const shouldCheck = !config.checkExportedOnly || isExportedComponent;
|
|
199
|
+
if (shouldCheck) {
|
|
200
|
+
const jsDoc = getJSDoc(node, sourceFile);
|
|
201
|
+
const hasGoodDoc = jsDoc && jsDoc.length >= config.minDescriptionLength;
|
|
202
|
+
if (hasGoodDoc) {
|
|
203
|
+
documentedComponents++;
|
|
204
|
+
}
|
|
205
|
+
else if (config.requireComponentDocs) {
|
|
206
|
+
const componentName = getComponentName(node) || 'Component';
|
|
207
|
+
const position = getNodePosition(sourceFile, node);
|
|
208
|
+
violations.push({
|
|
209
|
+
file: fileName,
|
|
210
|
+
line: position.line,
|
|
211
|
+
column: position.column,
|
|
212
|
+
severity: 'suggestion',
|
|
213
|
+
message: `Component '${componentName}' lacks documentation`,
|
|
214
|
+
details: 'React components should have JSDoc comments describing their purpose and props',
|
|
215
|
+
suggestion: 'Add JSDoc comment with component description and @param tags for props'
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
ts.forEachChild(node, visit);
|
|
221
|
+
});
|
|
222
|
+
return {
|
|
223
|
+
violations,
|
|
224
|
+
metrics: {
|
|
225
|
+
totalFunctions,
|
|
226
|
+
documentedFunctions,
|
|
227
|
+
totalComponents,
|
|
228
|
+
documentedComponents,
|
|
229
|
+
functionsWithParams,
|
|
230
|
+
paramsDocumented,
|
|
231
|
+
functionsWithReturns,
|
|
232
|
+
returnsDocumented,
|
|
233
|
+
totalFiles: 1,
|
|
234
|
+
filesWithPurpose: hasFileDocs ? 1 : 0
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Main documentation analyzer function
|
|
240
|
+
*/
|
|
241
|
+
export async function analyzeDocumentation(files, config = {}, options = {}, progressCallback) {
|
|
242
|
+
const finalConfig = { ...DEFAULT_DOCUMENTATION_CONFIG, ...config };
|
|
243
|
+
const startTime = Date.now();
|
|
244
|
+
// Filter out exempt files
|
|
245
|
+
const filteredFiles = files.filter(file => {
|
|
246
|
+
return !finalConfig.exemptPatterns.some(pattern => new RegExp(pattern, 'i').test(file));
|
|
247
|
+
});
|
|
248
|
+
const progressReporter = progressCallback ? (current, total, file) => {
|
|
249
|
+
progressCallback({ current, total, analyzer: 'documentation', file });
|
|
250
|
+
} : undefined;
|
|
251
|
+
const result = await processFiles(filteredFiles, (filePath, sourceFile, config) => analyzeFileDocumentation(sourceFile, finalConfig).violations, 'documentation', finalConfig, progressReporter);
|
|
252
|
+
// Get metrics separately by re-running the analysis (not ideal but works for now)
|
|
253
|
+
const metricsResults = await Promise.all(filteredFiles.map(async (file) => {
|
|
254
|
+
const sourceFile = ts.createSourceFile(file, await fs.readFile(file, 'utf-8'), ts.ScriptTarget.Latest, true);
|
|
255
|
+
return analyzeFileDocumentation(sourceFile, finalConfig).metrics;
|
|
256
|
+
}));
|
|
257
|
+
// Aggregate metrics
|
|
258
|
+
const aggregatedMetrics = {
|
|
259
|
+
totalFunctions: 0,
|
|
260
|
+
documentedFunctions: 0,
|
|
261
|
+
totalComponents: 0,
|
|
262
|
+
documentedComponents: 0,
|
|
263
|
+
totalFiles: filteredFiles.length,
|
|
264
|
+
filesWithPurpose: 0,
|
|
265
|
+
functionsWithParams: 0,
|
|
266
|
+
paramsDocumented: 0,
|
|
267
|
+
functionsWithReturns: 0,
|
|
268
|
+
returnsDocumented: 0,
|
|
269
|
+
coverageScore: 0,
|
|
270
|
+
wellDocumentedFiles: [],
|
|
271
|
+
poorlyDocumentedFiles: []
|
|
272
|
+
};
|
|
273
|
+
// Combine metrics from all files
|
|
274
|
+
metricsResults.forEach((fileMetrics) => {
|
|
275
|
+
if (fileMetrics) {
|
|
276
|
+
Object.keys(fileMetrics).forEach(key => {
|
|
277
|
+
if (typeof aggregatedMetrics[key] === 'number' &&
|
|
278
|
+
typeof fileMetrics[key] === 'number') {
|
|
279
|
+
aggregatedMetrics[key] += fileMetrics[key];
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
// Calculate coverage score
|
|
285
|
+
const totalItems = aggregatedMetrics.totalFunctions + aggregatedMetrics.totalComponents + aggregatedMetrics.totalFiles;
|
|
286
|
+
const documentedItems = aggregatedMetrics.documentedFunctions + aggregatedMetrics.documentedComponents + aggregatedMetrics.filesWithPurpose;
|
|
287
|
+
aggregatedMetrics.coverageScore = totalItems > 0 ? Math.round((documentedItems / totalItems) * 100) : 100;
|
|
288
|
+
// Identify well/poorly documented files
|
|
289
|
+
filteredFiles.forEach((file, index) => {
|
|
290
|
+
const fileMetrics = metricsResults[index];
|
|
291
|
+
if (fileMetrics) {
|
|
292
|
+
const fileTotal = (fileMetrics.totalFunctions || 0) + (fileMetrics.totalComponents || 0) + 1;
|
|
293
|
+
const fileDocumented = (fileMetrics.documentedFunctions || 0) + (fileMetrics.documentedComponents || 0) + (fileMetrics.filesWithPurpose || 0);
|
|
294
|
+
const fileCoverage = fileTotal > 0 ? (fileDocumented / fileTotal) : 0;
|
|
295
|
+
if (fileCoverage >= 0.8) {
|
|
296
|
+
aggregatedMetrics.wellDocumentedFiles.push(file);
|
|
297
|
+
}
|
|
298
|
+
else if (fileCoverage < 0.3) {
|
|
299
|
+
aggregatedMetrics.poorlyDocumentedFiles.push(file);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
return {
|
|
304
|
+
violations: result.violations,
|
|
305
|
+
filesProcessed: result.filesProcessed,
|
|
306
|
+
executionTime: Date.now() - startTime,
|
|
307
|
+
errors: result.errors,
|
|
308
|
+
analyzerName: 'documentation',
|
|
309
|
+
metrics: aggregatedMetrics
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Documentation analyzer definition for the registry
|
|
314
|
+
*/
|
|
315
|
+
export const documentationAnalyzer = {
|
|
316
|
+
name: 'documentation',
|
|
317
|
+
analyze: analyzeDocumentation,
|
|
318
|
+
description: 'Analyzes JSDoc coverage and documentation quality',
|
|
319
|
+
category: 'quality'
|
|
320
|
+
};
|
|
321
|
+
//# sourceMappingURL=documentationAnalyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentationAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -12,6 +12,7 @@ import { dirname, join, resolve } from 'path';
|
|
|
12
12
|
import { ConfigGeneratorFactory } from './generators/ConfigGeneratorFactory.js';
|
|
13
13
|
import { InteractivePrompts } from './ui/InteractivePrompts.js';
|
|
14
14
|
import { DEFAULT_SERVER_URL, DEFAULT_PORT } from './constants.js';
|
|
15
|
+
import { CodeMapGenerator } from './services/CodeMapGenerator.js';
|
|
15
16
|
// Get package.json for version info
|
|
16
17
|
const __filename = fileURLToPath(import.meta.url);
|
|
17
18
|
const __dirname = dirname(__filename);
|
|
@@ -115,6 +116,32 @@ program
|
|
|
115
116
|
console.log('Tool:', tool);
|
|
116
117
|
// TODO: Implement connection testing
|
|
117
118
|
});
|
|
119
|
+
// Code map command
|
|
120
|
+
program
|
|
121
|
+
.command('map')
|
|
122
|
+
.alias('codemap')
|
|
123
|
+
.description('Generate a human-readable map of the codebase')
|
|
124
|
+
.option('-p, --path <path>', 'Project path to map', process.cwd())
|
|
125
|
+
.option('--no-complexity', 'Exclude complexity metrics')
|
|
126
|
+
.option('--no-documentation', 'Exclude documentation analysis')
|
|
127
|
+
.option('--no-dependencies', 'Exclude dependency information')
|
|
128
|
+
.option('--include-usage', 'Include function usage and call information')
|
|
129
|
+
.option('--no-group-by-directory', 'Don\'t group files by directory')
|
|
130
|
+
.option('--max-depth <depth>', 'Maximum files to show per directory', '10')
|
|
131
|
+
.option('--no-unused-imports', 'Hide unused import warnings')
|
|
132
|
+
.option('--min-complexity <threshold>', 'Minimum complexity threshold for warnings', '7')
|
|
133
|
+
.option('-o, --output <file>', 'Save output to file instead of displaying')
|
|
134
|
+
.action(async (options) => {
|
|
135
|
+
console.log(chalk.blue('🗺️ Codebase Map Generator'));
|
|
136
|
+
console.log(chalk.gray('════════════════════════════════════════════════════'));
|
|
137
|
+
try {
|
|
138
|
+
await generateCodeMap(options);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
console.error(chalk.red('Error:'), error);
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
118
145
|
// Parse command line arguments
|
|
119
146
|
program.parse(process.argv);
|
|
120
147
|
// If no command was provided, show help
|
|
@@ -242,4 +269,92 @@ async function generateConfigurations(options) {
|
|
|
242
269
|
});
|
|
243
270
|
}
|
|
244
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Generate code map for a project
|
|
274
|
+
*/
|
|
275
|
+
async function generateCodeMap(options) {
|
|
276
|
+
const projectPath = resolve(options.path);
|
|
277
|
+
console.log(chalk.gray(`Project path: ${projectPath}`));
|
|
278
|
+
console.log(chalk.gray('Generating code map...'));
|
|
279
|
+
console.log('');
|
|
280
|
+
try {
|
|
281
|
+
// Create code map generator
|
|
282
|
+
const mapGenerator = new CodeMapGenerator();
|
|
283
|
+
// Parse CLI options into CodeMapOptions format
|
|
284
|
+
const mapOptions = {
|
|
285
|
+
includeComplexity: options.complexity,
|
|
286
|
+
includeDocumentation: options.documentation,
|
|
287
|
+
includeDependencies: options.dependencies,
|
|
288
|
+
includeUsage: options.includeUsage || false,
|
|
289
|
+
groupByDirectory: options.groupByDirectory,
|
|
290
|
+
maxDepth: parseInt(options.maxDepth) || 10,
|
|
291
|
+
showUnusedImports: options.unusedImports,
|
|
292
|
+
minComplexity: parseInt(options.minComplexity) || 7,
|
|
293
|
+
};
|
|
294
|
+
console.log(chalk.gray('Options:'));
|
|
295
|
+
console.log(chalk.gray(` • Include complexity: ${mapOptions.includeComplexity}`));
|
|
296
|
+
console.log(chalk.gray(` • Include documentation: ${mapOptions.includeDocumentation}`));
|
|
297
|
+
console.log(chalk.gray(` • Include dependencies: ${mapOptions.includeDependencies}`));
|
|
298
|
+
console.log(chalk.gray(` • Include usage info: ${mapOptions.includeUsage}`));
|
|
299
|
+
console.log(chalk.gray(` • Group by directory: ${mapOptions.groupByDirectory}`));
|
|
300
|
+
console.log(chalk.gray(` • Max files per directory: ${mapOptions.maxDepth}`));
|
|
301
|
+
console.log('');
|
|
302
|
+
// Generate the code map
|
|
303
|
+
console.log(chalk.gray('Reading indexed functions...'));
|
|
304
|
+
const codeMap = await mapGenerator.generateCodeMap(projectPath, mapOptions);
|
|
305
|
+
// Generate documentation metrics if requested
|
|
306
|
+
let documentation = undefined;
|
|
307
|
+
if (mapOptions.includeDocumentation) {
|
|
308
|
+
try {
|
|
309
|
+
console.log(chalk.gray('Analyzing documentation quality...'));
|
|
310
|
+
// For CLI usage, we'll skip documentation analysis since we don't have files from audit
|
|
311
|
+
// Documentation analysis works best when integrated with the audit process
|
|
312
|
+
console.log(chalk.gray(' (Documentation analysis skipped in standalone mode)'));
|
|
313
|
+
}
|
|
314
|
+
catch (docError) {
|
|
315
|
+
console.log(chalk.yellow('Warning: Failed to analyze documentation:'), docError);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// Add documentation metrics to the code map
|
|
319
|
+
const completeCodeMap = {
|
|
320
|
+
...codeMap,
|
|
321
|
+
documentation
|
|
322
|
+
};
|
|
323
|
+
// Format as terminal-friendly text
|
|
324
|
+
console.log(chalk.gray('Formatting output...'));
|
|
325
|
+
const textOutput = mapGenerator.formatAsText(completeCodeMap, mapOptions);
|
|
326
|
+
// Output results
|
|
327
|
+
if (options.output) {
|
|
328
|
+
// Save to file
|
|
329
|
+
await fs.writeFile(options.output, textOutput);
|
|
330
|
+
console.log(chalk.green(`✓ Code map saved to: ${options.output}`));
|
|
331
|
+
// Show summary
|
|
332
|
+
console.log('');
|
|
333
|
+
console.log(chalk.blue('Summary:'));
|
|
334
|
+
console.log(chalk.gray(` • Files analyzed: ${codeMap.stats.totalFiles}`));
|
|
335
|
+
console.log(chalk.gray(` • Functions found: ${codeMap.stats.totalFunctions}`));
|
|
336
|
+
console.log(chalk.gray(` • Components found: ${codeMap.stats.totalComponents}`));
|
|
337
|
+
if (documentation) {
|
|
338
|
+
console.log(chalk.gray(` • Documentation coverage: ${documentation.coverageScore}%`));
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
// Display to console
|
|
343
|
+
console.log(textOutput);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
catch (error) {
|
|
347
|
+
if (error instanceof Error && error.message.includes('No functions found')) {
|
|
348
|
+
console.log(chalk.yellow('No indexed functions found for this project.'));
|
|
349
|
+
console.log('');
|
|
350
|
+
console.log(chalk.gray('To index functions, run an audit first:'));
|
|
351
|
+
console.log(chalk.blue(' code-auditor audit --path ') + chalk.gray(projectPath));
|
|
352
|
+
console.log('');
|
|
353
|
+
console.log(chalk.gray('Or use the MCP server with the audit tool to automatically index functions.'));
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
throw error;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
245
360
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/codeIndexDb.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare class CodeIndexDB {
|
|
|
11
11
|
private whitelistCollection;
|
|
12
12
|
private auditResultsCollection;
|
|
13
13
|
private analyzerConfigCollection;
|
|
14
|
+
private codeMapCollection;
|
|
14
15
|
private searchIndex;
|
|
15
16
|
private dbPath;
|
|
16
17
|
private isInitialized;
|
|
@@ -92,6 +93,10 @@ export declare class CodeIndexDB {
|
|
|
92
93
|
* Updates the dependencyDepth field in metadata
|
|
93
94
|
*/
|
|
94
95
|
calculateDependencyDepths(): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Get all functions from the index
|
|
98
|
+
*/
|
|
99
|
+
getAllFunctions(): Promise<EnhancedFunctionMetadata[]>;
|
|
95
100
|
searchFunctions(options: SearchOptions): Promise<SearchResult>;
|
|
96
101
|
/**
|
|
97
102
|
* Execute multi-strategy search with different approaches
|
|
@@ -260,5 +265,32 @@ export declare class CodeIndexDB {
|
|
|
260
265
|
* Reset all analyzer configurations to defaults
|
|
261
266
|
*/
|
|
262
267
|
resetAnalyzerConfigs(projectPath?: string): Promise<void>;
|
|
268
|
+
/**
|
|
269
|
+
* Store a code map section in the database
|
|
270
|
+
*/
|
|
271
|
+
storeCodeMapSection(mapId: string, sectionType: string, content: string, metadata?: any): Promise<void>;
|
|
272
|
+
/**
|
|
273
|
+
* Retrieve a code map section
|
|
274
|
+
*/
|
|
275
|
+
getCodeMapSection(mapId: string, sectionType: string): Promise<{
|
|
276
|
+
content: string;
|
|
277
|
+
metadata: any;
|
|
278
|
+
} | null>;
|
|
279
|
+
/**
|
|
280
|
+
* List available code map sections for a mapId
|
|
281
|
+
*/
|
|
282
|
+
listCodeMapSections(mapId: string): Promise<Array<{
|
|
283
|
+
sectionType: string;
|
|
284
|
+
size: number;
|
|
285
|
+
timestamp: Date;
|
|
286
|
+
}>>;
|
|
287
|
+
/**
|
|
288
|
+
* Clear code map sections older than specified time
|
|
289
|
+
*/
|
|
290
|
+
clearOldCodeMaps(olderThanHours?: number): Promise<number>;
|
|
291
|
+
/**
|
|
292
|
+
* Delete all sections for a specific mapId
|
|
293
|
+
*/
|
|
294
|
+
deleteCodeMap(mapId: string): Promise<number>;
|
|
263
295
|
}
|
|
264
296
|
//# sourceMappingURL=codeIndexDB.d.ts.map
|