code-auditor-mcp 1.18.0 → 1.19.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.
@@ -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":";AAEA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAElE,oCAAoC;AACpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAC7D,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,6BAA6B;AAC7B,OAAO;KACJ,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,qEAAqE,CAAC;KAClF,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,0CAA0C;AAC1C,OAAO;KACJ,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACrC,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC3D,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;KACrD,MAAM,CAAC,oBAAoB,EAAE,8BAA8B,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAE9E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,CAAC;YAC/B,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,eAAe,EAAE,OAAO,CAAC,MAAM;SAChC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QAElC,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,eAAe,aAAa,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iCAAiC;AACjC,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,mBAAmB,EAAE,uEAAuE,CAAC;KACpG,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,GAAG,CAAC;KACrD,MAAM,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;KACtE,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;KAClE,MAAM,CAAC,aAAa,EAAE,qDAAqD,CAAC;KAC5E,MAAM,CAAC,WAAW,EAAE,iDAAiD,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;IAEhF,IAAI,CAAC;QACH,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iEAAiE;AACjE,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;KAChE,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;KACnD,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;KACrD,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjC,+BAA+B;AACjC,CAAC,CAAC,CAAC;AAEL,0DAA0D;AAC1D,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,yBAAyB,EAAE,cAAc,EAAE,sBAAsB,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,2BAA2B;AAC7B,CAAC,CAAC,CAAC;AAEL,2DAA2D;AAC3D,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,CAAC;KAC/C,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;KACjD,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE,IAAI,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,yBAAyB;AAC3B,CAAC,CAAC,CAAC;AAEL,yDAAyD;AACzD,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3B,qCAAqC;AACvC,CAAC,CAAC,CAAC;AAEL,+BAA+B;AAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,wCAAwC;AACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CAAC,OAAY;IAChD,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACzC,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAClC,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAE/B,qCAAqC;IACrC,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACzC,mBAAmB;QACnB,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACnC,SAAS,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACtD,SAAS,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACzB,+DAA+D;QAC/D,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACjE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;SAAM,CAAC;QACN,oBAAoB;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACtD,KAAK,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,IAAI,CAAC,CAAC,CAAC;IAE5D,iBAAiB;IACjB,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,2BAA2B;IAC3B,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEvD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC5B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/D,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,aAAa,CAAC,MAAM,sBAAsB,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,0BAA0B;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEvD,0BAA0B;YAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzD,yBAAyB;YACzB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAErC,gCAAgC;YAChC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBACpD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACnE,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC3D,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,SAAS,CAAC,WAAW,EAAE,mBAAmB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,iCAAiC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,eAAe;IACf,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,10 @@ export declare class CodeIndexDB {
92
92
  * Updates the dependencyDepth field in metadata
93
93
  */
94
94
  calculateDependencyDepths(): Promise<void>;
95
+ /**
96
+ * Get all functions from the index
97
+ */
98
+ getAllFunctions(): Promise<EnhancedFunctionMetadata[]>;
95
99
  searchFunctions(options: SearchOptions): Promise<SearchResult>;
96
100
  /**
97
101
  * Execute multi-strategy search with different approaches
@@ -1 +1 @@
1
- {"version":3,"file":"codeIndexDB.d.ts","sourceRoot":"","sources":["../src/codeIndexDB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeIndexDB.d.ts","sourceRoot":"","sources":["../src/codeIndexDB.ts"],"names":[],"mappings":"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"}