code-auditor-mcp 3.4.17 → 3.5.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.
Files changed (186) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +94 -0
  3. package/README.md +5 -5
  4. package/dist/analyzers/applicability.d.ts +13 -0
  5. package/dist/analyzers/applicability.d.ts.map +1 -1
  6. package/dist/analyzers/applicability.js +37 -0
  7. package/dist/analyzers/applicability.js.map +1 -1
  8. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  9. package/dist/analyzers/cross-language/APIContractAnalyzer.js +23 -2
  10. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
  11. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +52 -9
  12. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  13. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +228 -55
  14. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  15. package/dist/analyzers/cross-language/SchemaValidator.d.ts +19 -12
  16. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  17. package/dist/analyzers/cross-language/SchemaValidator.js +78 -111
  18. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  19. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +0 -6
  20. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  21. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +85 -73
  22. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  23. package/dist/analyzers/documentationAnalyzer.js +5 -5
  24. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  25. package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
  26. package/dist/analyzers/invariantsAnalyzer.js +1 -0
  27. package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
  28. package/dist/analyzers/provenance.d.ts +7 -9
  29. package/dist/analyzers/provenance.d.ts.map +1 -1
  30. package/dist/analyzers/provenance.js +88 -124
  31. package/dist/analyzers/provenance.js.map +1 -1
  32. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  33. package/dist/analyzers/reactAnalyzer.js +120 -21
  34. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  35. package/dist/analyzers/ruleRegistry.d.ts +21 -0
  36. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  37. package/dist/analyzers/ruleRegistry.js +61 -12
  38. package/dist/analyzers/ruleRegistry.js.map +1 -1
  39. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  40. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +60 -24
  41. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  42. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  43. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +5 -2
  44. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  45. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  46. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +173 -56
  47. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  48. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +2 -1
  49. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  50. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +23 -12
  51. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  52. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +11 -1
  53. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  54. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +60 -22
  55. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  56. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +2 -3
  57. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  58. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +258 -87
  59. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  60. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
  61. package/dist/analyzers/universal/schema/codeAnalysis.js +7 -1
  62. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
  63. package/dist/analyzers/universal/schema/jsonSchema.js +7 -11
  64. package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
  65. package/dist/applyDataDirEnv.js +1 -1
  66. package/dist/applyDataDirEnv.js.map +1 -1
  67. package/dist/auditRouter.d.ts +41 -0
  68. package/dist/auditRouter.d.ts.map +1 -0
  69. package/dist/auditRouter.js +185 -0
  70. package/dist/auditRouter.js.map +1 -0
  71. package/dist/auditRunner.d.ts.map +1 -1
  72. package/dist/auditRunner.js +97 -58
  73. package/dist/auditRunner.js.map +1 -1
  74. package/dist/cli.js +247 -23
  75. package/dist/cli.js.map +1 -1
  76. package/dist/codeIndexDB.d.ts.map +1 -1
  77. package/dist/codeIndexDB.js +36 -2
  78. package/dist/codeIndexDB.js.map +1 -1
  79. package/dist/componentScanner.d.ts.map +1 -1
  80. package/dist/componentScanner.js +7 -2
  81. package/dist/componentScanner.js.map +1 -1
  82. package/dist/config/configLoader.d.ts +9 -0
  83. package/dist/config/configLoader.d.ts.map +1 -1
  84. package/dist/config/configLoader.js +30 -2
  85. package/dist/config/configLoader.js.map +1 -1
  86. package/dist/config/defaults.d.ts.map +1 -1
  87. package/dist/config/defaults.js +10 -3
  88. package/dist/config/defaults.js.map +1 -1
  89. package/dist/dataPaths.d.ts +8 -1
  90. package/dist/dataPaths.d.ts.map +1 -1
  91. package/dist/dataPaths.js +57 -5
  92. package/dist/dataPaths.js.map +1 -1
  93. package/dist/functionScanner.d.ts.map +1 -1
  94. package/dist/functionScanner.js +1 -17
  95. package/dist/functionScanner.js.map +1 -1
  96. package/dist/grammars/tree-sitter-scss.wasm +0 -0
  97. package/dist/invariants/ruleEngine.d.ts +8 -0
  98. package/dist/invariants/ruleEngine.d.ts.map +1 -1
  99. package/dist/invariants/ruleEngine.js +35 -16
  100. package/dist/invariants/ruleEngine.js.map +1 -1
  101. package/dist/languages/LanguageOrchestrator.d.ts +10 -11
  102. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  103. package/dist/languages/LanguageOrchestrator.js +135 -101
  104. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  105. package/dist/languages/RuntimeManager.d.ts +28 -1
  106. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  107. package/dist/languages/RuntimeManager.js +160 -49
  108. package/dist/languages/RuntimeManager.js.map +1 -1
  109. package/dist/languages/go/GoAdapter.d.ts +2 -0
  110. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  111. package/dist/languages/go/GoAdapter.js +15 -22
  112. package/dist/languages/go/GoAdapter.js.map +1 -1
  113. package/dist/languages/go/analyzer +0 -0
  114. package/dist/languages/go/analyzer-src/analyzer.go +510 -0
  115. package/dist/languages/go/analyzer-src/go.mod +3 -0
  116. package/dist/languages/go/analyzer-src/indexer.go +268 -0
  117. package/dist/languages/go/analyzer-src/parser.go +461 -0
  118. package/dist/languages/go/analyzer-src/solid.go +395 -0
  119. package/dist/languages/go/analyzer-src/testconventions.go +25 -0
  120. package/dist/languages/go/analyzer-src/types.go +148 -0
  121. package/dist/languages/go/go.mod +7 -0
  122. package/dist/languages/go/main.go +203 -0
  123. package/dist/languages/testConventions.d.ts +35 -0
  124. package/dist/languages/testConventions.d.ts.map +1 -0
  125. package/dist/languages/testConventions.js +51 -0
  126. package/dist/languages/testConventions.js.map +1 -0
  127. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +3 -0
  128. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  129. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +25 -18
  130. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  131. package/dist/mcp-tools/whitelistTools.d.ts +1 -1
  132. package/dist/mcp-tools/workflowGuide.js +3 -3
  133. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  134. package/dist/mcp-tools-shared.d.ts +0 -3
  135. package/dist/mcp-tools-shared.d.ts.map +1 -1
  136. package/dist/mcp-tools-shared.js +24 -128
  137. package/dist/mcp-tools-shared.js.map +1 -1
  138. package/dist/mcp.js +18 -12
  139. package/dist/mcp.js.map +1 -1
  140. package/dist/mcpAuditJobs.d.ts.map +1 -1
  141. package/dist/mcpAuditJobs.js +13 -0
  142. package/dist/mcpAuditJobs.js.map +1 -1
  143. package/dist/mcpAutoIndex.js +1 -1
  144. package/dist/mcpAutoIndex.js.map +1 -1
  145. package/dist/nextFile.d.ts +21 -0
  146. package/dist/nextFile.d.ts.map +1 -0
  147. package/dist/nextFile.js +51 -0
  148. package/dist/nextFile.js.map +1 -0
  149. package/dist/nextFileIncremental.d.ts +141 -0
  150. package/dist/nextFileIncremental.d.ts.map +1 -0
  151. package/dist/nextFileIncremental.js +314 -0
  152. package/dist/nextFileIncremental.js.map +1 -0
  153. package/dist/pipeline.d.ts.map +1 -1
  154. package/dist/pipeline.js +22 -0
  155. package/dist/pipeline.js.map +1 -1
  156. package/dist/pipelineAdapters.d.ts +17 -0
  157. package/dist/pipelineAdapters.d.ts.map +1 -1
  158. package/dist/pipelineAdapters.js +800 -44
  159. package/dist/pipelineAdapters.js.map +1 -1
  160. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  161. package/dist/reporting/jsonReportGenerator.js +11 -30
  162. package/dist/reporting/jsonReportGenerator.js.map +1 -1
  163. package/dist/styles/styleIndexer.d.ts +7 -0
  164. package/dist/styles/styleIndexer.d.ts.map +1 -1
  165. package/dist/styles/styleIndexer.js +44 -61
  166. package/dist/styles/styleIndexer.js.map +1 -1
  167. package/dist/types/crossLanguage.d.ts +1 -0
  168. package/dist/types/crossLanguage.d.ts.map +1 -1
  169. package/dist/types.d.ts +27 -4
  170. package/dist/types.d.ts.map +1 -1
  171. package/dist/types.js.map +1 -1
  172. package/dist/utils/fileDiscovery.d.ts +11 -2
  173. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  174. package/dist/utils/fileDiscovery.js +23 -5
  175. package/dist/utils/fileDiscovery.js.map +1 -1
  176. package/dist/utils/reactDetection.d.ts.map +1 -1
  177. package/dist/utils/reactDetection.js +59 -44
  178. package/dist/utils/reactDetection.js.map +1 -1
  179. package/package.json +31 -27
  180. package/plugin/.claude-plugin/plugin.json +1 -1
  181. package/plugin/README.md +6 -6
  182. package/plugin/hooks/hooks.json +4 -0
  183. package/plugin/scripts/hook-audit.sh +0 -0
  184. package/plugin/scripts/hook-self-audit.sh +107 -0
  185. package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +55 -7
  186. package/plugin/skills/code-auditor/SKILL.md +22 -23
@@ -5,17 +5,15 @@
5
5
  * between stdio and HTTP/UI MCP server implementations.
6
6
  */
7
7
  import { createAuditRunner } from './auditRunner.js';
8
- import { LanguageOrchestrator } from './languages/LanguageOrchestrator.js';
9
- import { RuntimeManager } from './languages/RuntimeManager.js';
8
+ import { runAuditDispatch } from './auditRouter.js';
10
9
  import { searchFunctions, findDefinition, syncFileIndex } from './codeIndexService.js';
11
10
  import { CodeMapGenerator } from './services/CodeMapGenerator.js';
12
11
  import { analyzeDocumentation } from './analyzers/documentationAnalyzer.js';
13
12
  import { CodeIndexDB } from './codeIndexDB.js';
14
13
  import path from 'node:path';
15
- import fs from 'node:fs/promises';
16
14
  import chalk from 'chalk';
17
15
  import { assertAuditPathExists } from './mcpToolErrors.js';
18
- import { makeVisitorStatus } from './pipeline.js';
16
+ import { MCP_DEFAULT_ANALYZERS } from './analyzers/ruleRegistry.js';
19
17
  export const tools = [
20
18
  // Core Audit Tools
21
19
  {
@@ -40,9 +38,9 @@ export const tools = [
40
38
  name: 'minSeverity',
41
39
  type: 'string',
42
40
  required: false,
43
- description: 'Minimum severity level to report',
44
- default: 'warning',
45
- enum: ['info', 'warning', 'critical'],
41
+ description: 'Minimum severity level to report (suggestions included by default).',
42
+ default: 'suggestion',
43
+ enum: ['suggestion', 'warning', 'critical'],
46
44
  },
47
45
  {
48
46
  name: 'indexFunctions',
@@ -463,9 +461,9 @@ export const uiTools = [
463
461
  name: 'minSeverity',
464
462
  type: 'string',
465
463
  required: false,
466
- description: 'Minimum severity level',
467
- default: 'warning',
468
- enum: ['info', 'warning', 'critical'],
464
+ description: 'Minimum severity level (suggestions included by default).',
465
+ default: 'suggestion',
466
+ enum: ['suggestion', 'warning', 'critical'],
469
467
  },
470
468
  ],
471
469
  },
@@ -504,37 +502,17 @@ export class ToolHandlers {
504
502
  const options = {
505
503
  projectRoot: isFile ? path.dirname(auditPath) : auditPath,
506
504
  enabledAnalyzers: args.analyzers || ['solid', 'dry', 'documentation', 'react', 'data-access'],
507
- minSeverity: (args.minSeverity || 'warning'),
505
+ minSeverity: (args.minSeverity || 'suggestion'),
508
506
  verbose: false,
509
507
  indexFunctions,
510
508
  ...(isFile && { includePaths: [auditPath] }),
511
509
  ...(Object.keys(analyzerConfigs).length > 0 && { analyzerConfigs }),
512
510
  };
513
- // Check if this is a multi-language project by detecting Go files
514
- const hasGoFiles = await ToolHandlers.hasFilesWithExtensions(auditPath, ['.go']);
515
- let auditResult;
516
- if (hasGoFiles) {
517
- // Use multi-language orchestrator for projects with Go files
518
- const runtimeManager = new RuntimeManager();
519
- await runtimeManager.initialize();
520
- const codeIndex = CodeIndexDB.getInstance();
521
- await codeIndex.initialize();
522
- const orchestrator = new LanguageOrchestrator(runtimeManager, codeIndex);
523
- const polyglotResult = await orchestrator.analyzePolyglotProject(auditPath, {
524
- analyzers: options.enabledAnalyzers,
525
- minSeverity: options.minSeverity,
526
- updateIndex: indexFunctions,
527
- enableCrossLanguageAnalysis: true,
528
- buildCrossReferences: true,
529
- });
530
- // Convert polyglot result to legacy audit result format
531
- auditResult = ToolHandlers.convertPolyglotToAuditResult(polyglotResult, auditPath);
532
- }
533
- else {
534
- // Use legacy audit system for TypeScript-only projects
535
- const runner = createAuditRunner(options);
536
- auditResult = await runner.run();
537
- }
511
+ // Route through the single audit entry point. Whether `.go` files route to
512
+ // the Go subprocess or fall through to the TypeScript pipeline is decided
513
+ // in one place (`runAuditDispatch`), shared with the CLI — not re-detected
514
+ // here as a second copy that can drift from the CLI.
515
+ const auditResult = await runAuditDispatch(options);
538
516
  // Handle function indexing if enabled and functions were collected
539
517
  let indexingResult = null;
540
518
  if (indexFunctions && auditResult.metadata.fileToFunctionsMap) {
@@ -644,8 +622,8 @@ export class ToolHandlers {
644
622
  };
645
623
  const runner = createAuditRunner({
646
624
  projectRoot: auditPath,
647
- enabledAnalyzers: ['solid', 'dry', 'documentation', 'react', 'data-access'],
648
- minSeverity: 'warning',
625
+ enabledAnalyzers: [...MCP_DEFAULT_ANALYZERS],
626
+ minSeverity: 'suggestion',
649
627
  verbose: false,
650
628
  indexFunctions,
651
629
  ...(Object.keys(analyzerConfigs).length > 0 && { analyzerConfigs }),
@@ -1175,101 +1153,19 @@ export class ToolHandlers {
1175
1153
  return Math.max(0, Math.round(Math.min(100, score)));
1176
1154
  }
1177
1155
  static getHealthRecommendation(score, result) {
1156
+ const criticals = result.summary.criticalIssues || 0;
1157
+ const warnings = result.summary.warnings || 0;
1158
+ if (criticals > 0) {
1159
+ return `Fix ${criticals} critical violation${criticals === 1 ? '' : 's'} first`;
1160
+ }
1161
+ if (warnings > 0) {
1162
+ return `Resolve ${warnings} warning${warnings === 1 ? '' : 's'} before declaring this clean`;
1163
+ }
1178
1164
  if (score >= 90)
1179
1165
  return 'Excellent code health!';
1180
1166
  if (score >= 70)
1181
1167
  return 'Good code health with room for improvement';
1182
- if (result.summary.criticalIssues > 0) {
1183
- return `Fix ${result.summary.criticalIssues} critical violations first`;
1184
- }
1185
1168
  return 'Code health needs attention - run detailed audit';
1186
1169
  }
1187
- static async hasFilesWithExtensions(dirPath, extensions) {
1188
- try {
1189
- const stats = await fs.stat(dirPath);
1190
- if (stats.isFile()) {
1191
- const ext = path.extname(dirPath).toLowerCase();
1192
- return extensions.includes(ext);
1193
- }
1194
- // Use simple readdir and walk manually to avoid recursive option issues
1195
- const entries = await fs.readdir(dirPath, { withFileTypes: true });
1196
- for (const entry of entries) {
1197
- if (entry.isFile()) {
1198
- const ext = path.extname(entry.name).toLowerCase();
1199
- if (extensions.includes(ext)) {
1200
- return true;
1201
- }
1202
- }
1203
- else if (entry.isDirectory()) {
1204
- // Recursively check subdirectories
1205
- const subDirPath = path.join(dirPath, entry.name);
1206
- const hasInSubdir = await ToolHandlers.hasFilesWithExtensions(subDirPath, extensions);
1207
- if (hasInSubdir) {
1208
- return true;
1209
- }
1210
- }
1211
- }
1212
- return false;
1213
- }
1214
- catch (error) {
1215
- return false;
1216
- }
1217
- }
1218
- static convertPolyglotToAuditResult(polyglotResult, auditPath) {
1219
- // Convert polyglot result to legacy AuditResult format
1220
- const violations = polyglotResult.violations || [];
1221
- const criticalIssues = violations.filter((v) => v.severity === 'critical').length;
1222
- const warnings = violations.filter((v) => v.severity === 'warning').length;
1223
- const suggestions = violations.filter((v) => v.severity === 'suggestion').length;
1224
- return {
1225
- timestamp: new Date(),
1226
- summary: {
1227
- totalViolations: violations.length,
1228
- criticalIssues,
1229
- warnings,
1230
- suggestions,
1231
- totalFiles: polyglotResult.metrics?.totalFiles || 0,
1232
- violationsByCategory: {},
1233
- topIssues: violations.slice(0, 5)
1234
- },
1235
- analyzerResults: {
1236
- solid: {
1237
- violations: violations.filter((v) => v.analyzer === 'solid'),
1238
- status: makeVisitorStatus(polyglotResult.metrics?.totalFiles || 0),
1239
- executionTime: polyglotResult.metrics?.executionTime || 0,
1240
- analyzerName: 'solid',
1241
- },
1242
- dry: {
1243
- violations: violations.filter((v) => v.analyzer === 'dry'),
1244
- status: makeVisitorStatus(polyglotResult.metrics?.totalFiles || 0),
1245
- executionTime: polyglotResult.metrics?.executionTime || 0,
1246
- analyzerName: 'dry',
1247
- },
1248
- go: {
1249
- violations: violations.filter((v) => v.analyzer === 'go'),
1250
- status: makeVisitorStatus(polyglotResult.metrics?.totalFiles || 0),
1251
- executionTime: polyglotResult.metrics?.executionTime || 0,
1252
- analyzerName: 'go',
1253
- }
1254
- },
1255
- recommendations: [],
1256
- metadata: {
1257
- auditDuration: polyglotResult.metrics?.executionTime || 0,
1258
- filesAnalyzed: polyglotResult.metrics?.totalFiles || 0,
1259
- analyzersRun: polyglotResult.metrics?.analyzersRun || ['solid', 'dry'],
1260
- fileToFunctionsMap: polyglotResult.indexEntries ? ToolHandlers.createFileToFunctionsMap(polyglotResult.indexEntries) : {}
1261
- }
1262
- };
1263
- }
1264
- static createFileToFunctionsMap(indexEntries) {
1265
- const fileMap = {};
1266
- for (const entry of indexEntries) {
1267
- if (!fileMap[entry.file]) {
1268
- fileMap[entry.file] = [];
1269
- }
1270
- fileMap[entry.file].push(entry);
1271
- }
1272
- return fileMap;
1273
- }
1274
1170
  }
1275
1171
  //# sourceMappingURL=mcp-tools-shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tools-shared.js","sourceRoot":"","sources":["../src/mcp-tools-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tools-shared.js","sourceRoot":"","sources":["../src/mcp-tools-shared.ts"],"names":[],"mappings":"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"}
package/dist/mcp.js CHANGED
@@ -62,6 +62,7 @@ import { searchFunctions, findDefinition, syncFileIndex, getDatabase } from './c
62
62
  import { CodeMapGenerator } from './services/CodeMapGenerator.js';
63
63
  import { analyzeDocumentation } from './analyzers/documentationAnalyzer.js';
64
64
  import { ConfigGeneratorFactory } from './generators/ConfigGeneratorFactory.js';
65
+ import { MCP_DEFAULT_ANALYZERS } from './analyzers/ruleRegistry.js';
65
66
  import { DEFAULT_SERVER_URL, IS_DEV_MODE, PACKAGE_VERSION } from './constants.js';
66
67
  import { getAuditJobStatus, getAuditResultsPage, getAuditResultsAsSarif, startAuditJob } from './mcpAuditJobs.js';
67
68
  import { CodeIndexDB } from './codeIndexDB.js';
@@ -153,12 +154,16 @@ function calculateHealthScore(result) {
153
154
  return Math.max(0, Math.round(Math.min(100, score)));
154
155
  }
155
156
  function getHealthRecommendation(score, result) {
157
+ const criticals = result.summary.criticalIssues || 0;
158
+ const warnings = result.summary.warnings || 0;
159
+ if (criticals > 0)
160
+ return `Fix ${criticals} critical violation${criticals === 1 ? '' : 's'} first`;
161
+ if (warnings > 0)
162
+ return `Resolve ${warnings} warning${warnings === 1 ? '' : 's'} before declaring this clean`;
156
163
  if (score >= 90)
157
164
  return 'Excellent code health!';
158
165
  if (score >= 70)
159
166
  return 'Good code health with room for improvement';
160
- if (result.summary.criticalIssues > 0)
161
- return `Fix ${result.summary.criticalIssues} critical violations first`;
162
167
  return 'Code health needs attention - run detailed audit';
163
168
  }
164
169
  function registerProcessReliabilityHandlers() {
@@ -187,7 +192,7 @@ function registerProcessReliabilityHandlers() {
187
192
  }
188
193
  }
189
194
  // ── Tool registration ────────────────────────────────────────────────────────
190
- const DEFAULT_ANALYZERS = ['solid', 'dry', 'documentation', 'react', 'data-access'];
195
+ const DEFAULT_ANALYZERS = [...MCP_DEFAULT_ANALYZERS];
191
196
  function registerAllTools(registry) {
192
197
  // ── audit ──────────────────────────────────────────────────────────────────
193
198
  const auditActions = [
@@ -213,9 +218,9 @@ function registerAllTools(registry) {
213
218
  name: 'minSeverity',
214
219
  type: 'string',
215
220
  required: false,
216
- description: 'Minimum severity level to report.',
217
- default: 'warning',
218
- enum: ['info', 'warning', 'critical'],
221
+ description: 'Minimum severity level to report (suggestions included by default).',
222
+ default: 'suggestion',
223
+ enum: ['suggestion', 'warning', 'critical'],
219
224
  },
220
225
  {
221
226
  name: 'indexFunctions',
@@ -243,7 +248,7 @@ function registerAllTools(registry) {
243
248
  const auditPath = path.resolve(args.path || process.cwd());
244
249
  await assertAuditPathExists(auditPath);
245
250
  const analyzers = args.analyzers ?? DEFAULT_ANALYZERS;
246
- const minSeverity = (args.minSeverity || 'warning');
251
+ const minSeverity = (args.minSeverity || 'suggestion');
247
252
  const indexFunctions = args.indexFunctions !== false;
248
253
  const db = CodeIndexDB.getInstance();
249
254
  await db.initialize();
@@ -278,6 +283,7 @@ function registerAllTools(registry) {
278
283
  summary: auditResult.summary,
279
284
  violations: auditResult.analyzerResults,
280
285
  metadata: auditResult.metadata,
286
+ guidance: 'Every finding is a defect to resolve, not a suggestion to weigh. Severity ranks urgency, never whether a finding is real — there is no "noise" tier. Work criticals first, then warnings, then suggestions. Documentation findings (missing JSDoc) are maintainability defects. If you decline a finding, record why instead of silently dismissing it.',
281
287
  };
282
288
  });
283
289
  },
@@ -304,9 +310,9 @@ function registerAllTools(registry) {
304
310
  name: 'minSeverity',
305
311
  type: 'string',
306
312
  required: false,
307
- description: 'Minimum severity level to report.',
308
- default: 'warning',
309
- enum: ['info', 'warning', 'critical'],
313
+ description: 'Minimum severity level to report (suggestions included by default).',
314
+ default: 'suggestion',
315
+ enum: ['suggestion', 'warning', 'critical'],
310
316
  },
311
317
  {
312
318
  name: 'indexFunctions',
@@ -413,7 +419,7 @@ function registerAllTools(registry) {
413
419
  handler: async (args, signal) => {
414
420
  return withAbortSignal(signal, 'audit.start', () => startAuditJob(args, {
415
421
  defaultAnalyzers: DEFAULT_ANALYZERS,
416
- defaultMinSeverity: 'warning',
422
+ defaultMinSeverity: 'suggestion',
417
423
  defaultGenerateCodeMap: false,
418
424
  }));
419
425
  },
@@ -536,7 +542,7 @@ function registerAllTools(registry) {
536
542
  const runner = createAuditRunner({
537
543
  projectRoot: auditPath,
538
544
  enabledAnalyzers: DEFAULT_ANALYZERS,
539
- minSeverity: 'warning',
545
+ minSeverity: 'suggestion',
540
546
  verbose: false,
541
547
  indexFunctions,
542
548
  ...(Object.keys(analyzerConfigs).length > 0 && { analyzerConfigs }),