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.
@@ -10,8 +10,8 @@ export const WORKFLOW_SCENARIOS = {
10
10
  {
11
11
  order: 1,
12
12
  tool: 'audit',
13
- parameters: { path: '.', analyzers: ['solid', 'dry'], indexFunctions: true },
14
- description: 'Run comprehensive audit to analyze code and index all functions/components'
13
+ parameters: { path: '.', analyzers: ['solid', 'dry'], indexFunctions: true, generateCodeMap: true },
14
+ description: 'Run comprehensive audit to analyze code, index functions, and generate a code map overview'
15
15
  },
16
16
  {
17
17
  order: 2,
@@ -28,8 +28,9 @@ export const WORKFLOW_SCENARIOS = {
28
28
  }
29
29
  ],
30
30
  tips: [
31
- 'The initial audit indexes all functions automatically',
32
- 'You can re-run audit on specific directories later',
31
+ 'Set generateCodeMap: true to get a human-readable overview of your codebase',
32
+ 'The code map shows directory structure, function counts, and documentation quality',
33
+ 'Functions are automatically indexed for future searches',
33
34
  'Search operators become available after indexing'
34
35
  ]
35
36
  },
@@ -75,8 +76,8 @@ export const WORKFLOW_SCENARIOS = {
75
76
  {
76
77
  order: 1,
77
78
  tool: 'audit_health',
78
- parameters: { path: './src', threshold: 80 },
79
- description: 'Quick health check of the code to review'
79
+ parameters: { path: './src', threshold: 80, generateCodeMap: true },
80
+ description: 'Quick health check with code map to understand structure and identify issues'
80
81
  },
81
82
  {
82
83
  order: 2,
@@ -99,8 +100,9 @@ export const WORKFLOW_SCENARIOS = {
99
100
  }
100
101
  ],
101
102
  tips: [
102
- 'Start with health check for quick overview',
103
- 'Use complexity search to find code smells',
103
+ 'Code maps provide a visual overview of the codebase structure',
104
+ 'Use the map to understand architecture before diving into details',
105
+ 'High complexity functions and poor documentation are flagged in the map',
104
106
  'Functions are indexed during audit for fast lookup'
105
107
  ]
106
108
  },
@@ -163,6 +165,42 @@ export const WORKFLOW_SCENARIOS = {
163
165
  'Search for common antipatterns like console.log'
164
166
  ]
165
167
  },
168
+ 'understand-codebase': {
169
+ name: 'Understanding Codebase Structure',
170
+ description: 'Getting oriented in a new or unfamiliar codebase',
171
+ steps: [
172
+ {
173
+ order: 1,
174
+ tool: 'audit_health',
175
+ parameters: { path: '.', generateCodeMap: true },
176
+ description: 'Generate a code map to understand overall structure and architecture'
177
+ },
178
+ {
179
+ order: 2,
180
+ tool: 'search_code',
181
+ parameters: { query: 'entity:component' },
182
+ description: 'List all React components to understand UI architecture'
183
+ },
184
+ {
185
+ order: 3,
186
+ tool: 'search_code',
187
+ parameters: { query: 'depends-on:database deps:prisma' },
188
+ description: 'Find data access patterns and database usage'
189
+ },
190
+ {
191
+ order: 4,
192
+ tool: 'search_code',
193
+ parameters: { query: 'file:route file:api' },
194
+ description: 'Locate API endpoints and routing logic'
195
+ }
196
+ ],
197
+ tips: [
198
+ 'Code maps show directory structure, complexity, and documentation quality at a glance',
199
+ 'Start with the map to understand architectural patterns',
200
+ 'Use dependency searches to trace data flow',
201
+ 'File path searches help locate specific functionality'
202
+ ]
203
+ },
166
204
  'large-audit-handling': {
167
205
  name: 'Handling Large Audits',
168
206
  description: 'Working with large codebases that generate many violations',
@@ -1 +1 @@
1
- {"version":3,"file":"workflowGuide.js","sourceRoot":"","sources":["../../src/mcp-tools/workflowGuide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflowGuide.js","sourceRoot":"","sources":["../../src/mcp-tools/workflowGuide.ts"],"names":[],"mappings":"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"}
package/dist/mcp.js CHANGED
@@ -9,7 +9,9 @@ import { CallToolRequestSchema, ListToolsRequestSchema, InitializeRequestSchema
9
9
  console.error(chalk.blue('[INFO]'), 'MCP SDK loaded');
10
10
  import { createAuditRunner } from './auditRunner.js';
11
11
  console.error(chalk.blue('[INFO]'), 'Audit runner loaded');
12
- import { searchFunctions, findDefinition, syncFileIndex } from './codeIndexService.js';
12
+ import { searchFunctions, findDefinition, syncFileIndex, getDatabase } from './codeIndexService.js';
13
+ import { CodeMapGenerator } from './services/CodeMapGenerator.js';
14
+ import { analyzeDocumentation } from './analyzers/documentationAnalyzer.js';
13
15
  import { ConfigGeneratorFactory } from './generators/ConfigGeneratorFactory.js';
14
16
  import { DEFAULT_SERVER_URL } from './constants.js';
15
17
  console.error(chalk.blue('[INFO]'), 'Code index service loaded');
@@ -80,6 +82,13 @@ const tools = [
80
82
  required: false,
81
83
  description: 'Analyzer-specific configuration overrides (e.g., SOLID thresholds, DRY settings)',
82
84
  },
85
+ {
86
+ name: 'generateCodeMap',
87
+ type: 'boolean',
88
+ required: false,
89
+ description: 'Generate and return a human-readable code map as part of the audit results',
90
+ default: true,
91
+ },
83
92
  ],
84
93
  },
85
94
  {
@@ -113,6 +122,13 @@ const tools = [
113
122
  required: false,
114
123
  description: 'Analyzer-specific configuration overrides (e.g., SOLID thresholds, DRY settings)',
115
124
  },
125
+ {
126
+ name: 'generateCodeMap',
127
+ type: 'boolean',
128
+ required: false,
129
+ description: 'Generate and return a human-readable code map as part of the health check results',
130
+ default: true,
131
+ },
116
132
  ],
117
133
  },
118
134
  // Code Index Tools
@@ -280,6 +296,36 @@ const tools = [
280
296
  },
281
297
  ],
282
298
  },
299
+ {
300
+ name: 'get_code_map_section',
301
+ description: 'Retrieve a specific section of a previously generated code map',
302
+ parameters: [
303
+ {
304
+ name: 'mapId',
305
+ type: 'string',
306
+ required: true,
307
+ description: 'The map ID returned from a previous audit with code map generation',
308
+ },
309
+ {
310
+ name: 'sectionType',
311
+ type: 'string',
312
+ required: true,
313
+ description: 'The section type to retrieve (e.g., overview, files, dependencies, documentation)',
314
+ },
315
+ ],
316
+ },
317
+ {
318
+ name: 'list_code_map_sections',
319
+ description: 'List all available sections for a code map',
320
+ parameters: [
321
+ {
322
+ name: 'mapId',
323
+ type: 'string',
324
+ required: true,
325
+ description: 'The map ID returned from a previous audit',
326
+ },
327
+ ],
328
+ },
283
329
  ];
284
330
  async function startMcpServer() {
285
331
  console.error(chalk.blue('[INFO]'), 'Starting Code Auditor MCP Server...');
@@ -362,6 +408,7 @@ async function startMcpServer() {
362
408
  case 'audit': {
363
409
  const auditPath = path.resolve(args.path || process.cwd());
364
410
  const indexFunctions = args.indexFunctions !== false; // Default true
411
+ const generateCodeMap = args.generateCodeMap || false;
365
412
  // Check if path is a file or directory
366
413
  const stats = await fs.stat(auditPath).catch(() => null);
367
414
  const isFile = stats?.isFile() || false;
@@ -409,6 +456,57 @@ async function startMcpServer() {
409
456
  console.error(chalk.yellow('[WARN]'), 'Failed to sync functions:', error);
410
457
  }
411
458
  }
459
+ // Generate code map if requested and functions were indexed
460
+ let codeMapResult = null;
461
+ if (generateCodeMap && indexingResult && indexingResult.success) {
462
+ try {
463
+ const mapGenerator = new CodeMapGenerator();
464
+ const mapOptions = {
465
+ includeComplexity: true,
466
+ includeDocumentation: true,
467
+ includeDependencies: true,
468
+ includeUsage: false,
469
+ groupByDirectory: true,
470
+ maxDepth: 10,
471
+ showUnusedImports: true,
472
+ minComplexity: 7,
473
+ };
474
+ // Generate documentation metrics
475
+ let documentation = undefined;
476
+ try {
477
+ // Use existing file discovery from audit result
478
+ const files = Object.keys(auditResult.metadata.fileToFunctionsMap || {});
479
+ if (files.length > 0) {
480
+ const docResult = await analyzeDocumentation(files);
481
+ documentation = docResult.metrics;
482
+ }
483
+ }
484
+ catch (docError) {
485
+ console.error(chalk.yellow('[WARN]'), 'Failed to analyze documentation:', docError);
486
+ }
487
+ // Use paginated code map generation
488
+ const paginatedResult = await mapGenerator.generatePaginatedCodeMap(auditPath, {
489
+ ...mapOptions,
490
+ includeDocumentation: !!documentation
491
+ });
492
+ codeMapResult = {
493
+ success: true,
494
+ mapId: paginatedResult.mapId,
495
+ summary: paginatedResult.summary,
496
+ quickPreview: paginatedResult.quickPreview,
497
+ sections: paginatedResult.summary.sectionsAvailable,
498
+ documentationCoverage: documentation?.coverageScore
499
+ };
500
+ console.error(chalk.blue('[INFO]'), `Generated paginated code map: ${paginatedResult.summary.stats.totalFiles} files, ${paginatedResult.summary.totalSections} sections`);
501
+ }
502
+ catch (error) {
503
+ console.error(chalk.yellow('[WARN]'), 'Failed to generate code map:', error);
504
+ codeMapResult = {
505
+ success: false,
506
+ error: error instanceof Error ? error.message : 'Failed to generate code map'
507
+ };
508
+ }
509
+ }
412
510
  // Format for MCP
413
511
  result = {
414
512
  summary: {
@@ -423,6 +521,7 @@ async function startMcpServer() {
423
521
  violations: getAllViolations(auditResult).slice(0, 100), // Limit to first 100
424
522
  recommendations: auditResult.recommendations,
425
523
  ...(indexingResult && { functionIndexing: indexingResult }),
524
+ ...(codeMapResult && { codeMap: codeMapResult }),
426
525
  };
427
526
  break;
428
527
  }
@@ -430,6 +529,7 @@ async function startMcpServer() {
430
529
  const auditPath = path.resolve(args.path || process.cwd());
431
530
  const threshold = args.threshold || 70;
432
531
  const indexFunctions = args.indexFunctions !== false; // Default true
532
+ const generateCodeMap = args.generateCodeMap !== false; // Default true
433
533
  // Get stored analyzer configs from database
434
534
  const db = CodeIndexDB.getInstance();
435
535
  await db.initialize();
@@ -473,6 +573,57 @@ async function startMcpServer() {
473
573
  console.error(chalk.yellow('[WARN]'), 'Failed to sync functions:', error);
474
574
  }
475
575
  }
576
+ // Generate code map if requested and functions were indexed
577
+ let codeMapResult = null;
578
+ if (generateCodeMap && indexingResult && indexingResult.success) {
579
+ try {
580
+ const mapGenerator = new CodeMapGenerator();
581
+ const mapOptions = {
582
+ includeComplexity: true,
583
+ includeDocumentation: true,
584
+ includeDependencies: true,
585
+ includeUsage: false,
586
+ groupByDirectory: true,
587
+ maxDepth: 8, // Slightly smaller for health check
588
+ showUnusedImports: true,
589
+ minComplexity: 7,
590
+ };
591
+ // Generate documentation metrics
592
+ let documentation = undefined;
593
+ try {
594
+ // Use existing file discovery from audit result
595
+ const files = Object.keys(auditResult.metadata.fileToFunctionsMap || {});
596
+ if (files.length > 0) {
597
+ const docResult = await analyzeDocumentation(files);
598
+ documentation = docResult.metrics;
599
+ }
600
+ }
601
+ catch (docError) {
602
+ console.error(chalk.yellow('[WARN]'), 'Failed to analyze documentation:', docError);
603
+ }
604
+ // Use paginated code map generation for health check too
605
+ const paginatedResult = await mapGenerator.generatePaginatedCodeMap(auditPath, {
606
+ ...mapOptions,
607
+ includeDocumentation: !!documentation
608
+ });
609
+ codeMapResult = {
610
+ success: true,
611
+ mapId: paginatedResult.mapId,
612
+ summary: paginatedResult.summary,
613
+ quickPreview: paginatedResult.quickPreview,
614
+ sections: paginatedResult.summary.sectionsAvailable,
615
+ documentationCoverage: documentation?.coverageScore
616
+ };
617
+ console.error(chalk.blue('[INFO]'), `Generated paginated code map: ${paginatedResult.summary.stats.totalFiles} files, ${paginatedResult.summary.totalSections} sections`);
618
+ }
619
+ catch (error) {
620
+ console.error(chalk.yellow('[WARN]'), 'Failed to generate code map:', error);
621
+ codeMapResult = {
622
+ success: false,
623
+ error: error instanceof Error ? error.message : 'Failed to generate code map'
624
+ };
625
+ }
626
+ }
476
627
  result = {
477
628
  healthScore,
478
629
  threshold,
@@ -486,6 +637,7 @@ async function startMcpServer() {
486
637
  },
487
638
  recommendation: getHealthRecommendation(healthScore, auditResult),
488
639
  ...(indexingResult && { functionIndexing: indexingResult }),
640
+ ...(codeMapResult && { codeMap: codeMapResult }),
489
641
  };
490
642
  break;
491
643
  }
@@ -757,6 +909,70 @@ async function startMcpServer() {
757
909
  }
758
910
  break;
759
911
  }
912
+ case 'get_code_map_section': {
913
+ const mapId = args.mapId;
914
+ const sectionType = args.sectionType;
915
+ if (!mapId || !sectionType) {
916
+ result = {
917
+ success: false,
918
+ error: 'Both mapId and sectionType are required'
919
+ };
920
+ break;
921
+ }
922
+ try {
923
+ const db = await getDatabase();
924
+ const section = await db.getCodeMapSection(mapId, sectionType);
925
+ if (section) {
926
+ result = {
927
+ success: true,
928
+ mapId,
929
+ sectionType,
930
+ content: section.content,
931
+ metadata: section.metadata
932
+ };
933
+ }
934
+ else {
935
+ result = {
936
+ success: false,
937
+ error: `Section '${sectionType}' not found for map '${mapId}'`
938
+ };
939
+ }
940
+ }
941
+ catch (error) {
942
+ result = {
943
+ success: false,
944
+ error: error instanceof Error ? error.message : 'Failed to retrieve code map section'
945
+ };
946
+ }
947
+ break;
948
+ }
949
+ case 'list_code_map_sections': {
950
+ const mapId = args.mapId;
951
+ if (!mapId) {
952
+ result = {
953
+ success: false,
954
+ error: 'mapId is required'
955
+ };
956
+ break;
957
+ }
958
+ try {
959
+ const db = await getDatabase();
960
+ const sections = await db.listCodeMapSections(mapId);
961
+ result = {
962
+ success: true,
963
+ mapId,
964
+ sections,
965
+ totalSections: sections.length
966
+ };
967
+ }
968
+ catch (error) {
969
+ result = {
970
+ success: false,
971
+ error: error instanceof Error ? error.message : 'Failed to list code map sections'
972
+ };
973
+ }
974
+ break;
975
+ }
760
976
  default:
761
977
  throw new Error(`Unknown tool: ${name}`);
762
978
  }
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}