code-auditor-mcp 5.0.2 → 5.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +326 -3
  3. package/README.md +24 -2
  4. package/configs/hhra-compat.json +12 -118
  5. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  6. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +11 -1
  7. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  8. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  9. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +57 -52
  10. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  11. package/dist/analyzers/provenance.d.ts +9 -4
  12. package/dist/analyzers/provenance.d.ts.map +1 -1
  13. package/dist/analyzers/provenance.js +8 -25
  14. package/dist/analyzers/provenance.js.map +1 -1
  15. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  16. package/dist/analyzers/reactAnalyzer.js +35 -14
  17. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  18. package/dist/analyzers/ruleRegistry.js +4 -4
  19. package/dist/analyzers/ruleRegistry.js.map +1 -1
  20. package/dist/analyzers/ruleTiming.d.ts +1 -1
  21. package/dist/analyzers/ruleTiming.js +2 -2
  22. package/dist/analyzers/ruleTiming.js.map +1 -1
  23. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  24. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +22 -26
  25. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  26. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +0 -2
  27. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  28. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +4 -5
  29. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  30. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +32 -15
  31. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  32. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +189 -115
  33. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  34. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +0 -2
  35. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  36. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +0 -5
  37. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  38. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +2 -10
  39. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  40. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +7 -49
  41. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  42. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
  43. package/dist/analyzers/universal/schema/codeAnalysis.js +51 -3
  44. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
  45. package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
  46. package/dist/analyzers/universal/schema/config.js +0 -2
  47. package/dist/analyzers/universal/schema/config.js.map +1 -1
  48. package/dist/analyzers/universal/schema/types.d.ts +0 -2
  49. package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
  50. package/dist/analyzers/vendorSurfaces.d.ts +126 -0
  51. package/dist/analyzers/vendorSurfaces.d.ts.map +1 -0
  52. package/dist/analyzers/vendorSurfaces.js +580 -0
  53. package/dist/analyzers/vendorSurfaces.js.map +1 -0
  54. package/dist/auditRunner.d.ts +9 -1
  55. package/dist/auditRunner.d.ts.map +1 -1
  56. package/dist/auditRunner.js +198 -146
  57. package/dist/auditRunner.js.map +1 -1
  58. package/dist/cacheGc.d.ts +88 -0
  59. package/dist/cacheGc.d.ts.map +1 -0
  60. package/dist/cacheGc.js +196 -0
  61. package/dist/cacheGc.js.map +1 -0
  62. package/dist/churn/churnExtractor.d.ts +0 -1
  63. package/dist/churn/churnExtractor.d.ts.map +1 -1
  64. package/dist/churn/churnExtractor.js +2 -4
  65. package/dist/churn/churnExtractor.js.map +1 -1
  66. package/dist/cli.d.ts +1 -1
  67. package/dist/cli.d.ts.map +1 -1
  68. package/dist/cli.js +260 -47
  69. package/dist/cli.js.map +1 -1
  70. package/dist/codeIndex/migrations.d.ts.map +1 -1
  71. package/dist/codeIndex/migrations.js +4 -3
  72. package/dist/codeIndex/migrations.js.map +1 -1
  73. package/dist/codeIndexDB.d.ts +11 -2
  74. package/dist/codeIndexDB.d.ts.map +1 -1
  75. package/dist/codeIndexDB.js +27 -2
  76. package/dist/codeIndexDB.js.map +1 -1
  77. package/dist/config/configLoader.d.ts +60 -7
  78. package/dist/config/configLoader.d.ts.map +1 -1
  79. package/dist/config/configLoader.js +252 -60
  80. package/dist/config/configLoader.js.map +1 -1
  81. package/dist/config/defaults.d.ts +137 -43
  82. package/dist/config/defaults.d.ts.map +1 -1
  83. package/dist/config/defaults.js +174 -101
  84. package/dist/config/defaults.js.map +1 -1
  85. package/dist/config/effectiveConfig.d.ts +1 -1
  86. package/dist/config/effectiveConfig.d.ts.map +1 -1
  87. package/dist/config/effectiveConfig.js +4 -6
  88. package/dist/config/effectiveConfig.js.map +1 -1
  89. package/dist/config/pathProfiles.d.ts +4 -3
  90. package/dist/config/pathProfiles.d.ts.map +1 -1
  91. package/dist/config/pathProfiles.js +3 -2
  92. package/dist/config/pathProfiles.js.map +1 -1
  93. package/dist/constants.d.ts +2 -1
  94. package/dist/constants.d.ts.map +1 -1
  95. package/dist/constants.js +4 -0
  96. package/dist/constants.js.map +1 -1
  97. package/dist/daemon/main.d.ts +0 -1
  98. package/dist/daemon/main.d.ts.map +1 -1
  99. package/dist/daemon/main.js +11 -4
  100. package/dist/daemon/main.js.map +1 -1
  101. package/dist/dataPaths.d.ts +32 -9
  102. package/dist/dataPaths.d.ts.map +1 -1
  103. package/dist/dataPaths.js +69 -16
  104. package/dist/dataPaths.js.map +1 -1
  105. package/dist/hookLog.d.ts +54 -0
  106. package/dist/hookLog.d.ts.map +1 -0
  107. package/dist/hookLog.js +105 -0
  108. package/dist/hookLog.js.map +1 -0
  109. package/dist/hookLogPath.generated.d.ts +3 -0
  110. package/dist/hookLogPath.generated.d.ts.map +1 -0
  111. package/dist/hookLogPath.generated.js +8 -0
  112. package/dist/hookLogPath.generated.js.map +1 -0
  113. package/dist/index.d.ts +0 -5
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +0 -7
  116. package/dist/index.js.map +1 -1
  117. package/dist/installConfig.d.ts +15 -2
  118. package/dist/installConfig.d.ts.map +1 -1
  119. package/dist/installConfig.js +17 -2
  120. package/dist/installConfig.js.map +1 -1
  121. package/dist/installer.d.ts.map +1 -1
  122. package/dist/installer.js +2 -1
  123. package/dist/installer.js.map +1 -1
  124. package/dist/languages/adapterBridge.d.ts +11 -0
  125. package/dist/languages/adapterBridge.d.ts.map +1 -1
  126. package/dist/languages/adapterBridge.js +11 -0
  127. package/dist/languages/adapterBridge.js.map +1 -1
  128. package/dist/languages/types.d.ts +8 -0
  129. package/dist/languages/types.d.ts.map +1 -1
  130. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +13 -0
  131. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  132. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +135 -18
  133. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  134. package/dist/ledger.d.ts +7 -0
  135. package/dist/ledger.d.ts.map +1 -1
  136. package/dist/ledger.js +7 -0
  137. package/dist/ledger.js.map +1 -1
  138. package/dist/mcp-tools/workflowGuide.js +8 -8
  139. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  140. package/dist/mcp-tools-shared.d.ts.map +1 -1
  141. package/dist/mcp-tools-shared.js +5 -2
  142. package/dist/mcp-tools-shared.js.map +1 -1
  143. package/dist/mcp-ui-simple.d.ts +5 -0
  144. package/dist/mcp-ui-simple.d.ts.map +1 -1
  145. package/dist/mcp-ui-simple.js +9 -2
  146. package/dist/mcp-ui-simple.js.map +1 -1
  147. package/dist/mcp.d.ts +0 -1
  148. package/dist/mcp.d.ts.map +1 -1
  149. package/dist/mcp.js +36 -33
  150. package/dist/mcp.js.map +1 -1
  151. package/dist/mcpAuditJobs.d.ts +10 -0
  152. package/dist/mcpAuditJobs.d.ts.map +1 -1
  153. package/dist/mcpAuditJobs.js +10 -1
  154. package/dist/mcpAuditJobs.js.map +1 -1
  155. package/dist/mcpAutoIndex.d.ts.map +1 -1
  156. package/dist/mcpAutoIndex.js +2 -1
  157. package/dist/mcpAutoIndex.js.map +1 -1
  158. package/dist/mcpDiagnostics.d.ts +2 -0
  159. package/dist/mcpDiagnostics.d.ts.map +1 -1
  160. package/dist/mcpDiagnostics.js +2 -0
  161. package/dist/mcpDiagnostics.js.map +1 -1
  162. package/dist/phase/candidates.d.ts +53 -0
  163. package/dist/phase/candidates.d.ts.map +1 -0
  164. package/dist/phase/candidates.js +67 -0
  165. package/dist/phase/candidates.js.map +1 -0
  166. package/dist/phase/colorMath.d.ts +18 -5
  167. package/dist/phase/colorMath.d.ts.map +1 -1
  168. package/dist/phase/colorMath.js +88 -5
  169. package/dist/phase/colorMath.js.map +1 -1
  170. package/dist/phase/dataAccessCallsCandidates.js +1 -1
  171. package/dist/phase/dataAccessCallsCandidates.js.map +1 -1
  172. package/dist/phase/goFunctionAnalysis.d.ts +2 -2
  173. package/dist/phase/goFunctionAnalysis.js +2 -2
  174. package/dist/phase/goFunctions.d.ts +2 -2
  175. package/dist/phase/goFunctions.js +2 -2
  176. package/dist/phase/goImports.d.ts +2 -2
  177. package/dist/phase/goImports.js +2 -2
  178. package/dist/phase/goSwitches.d.ts +2 -2
  179. package/dist/phase/goSwitches.js +2 -2
  180. package/dist/phase/imports.d.ts.map +1 -1
  181. package/dist/phase/imports.js +1 -0
  182. package/dist/phase/imports.js.map +1 -1
  183. package/dist/phase/loopQueryCandidates.js +1 -1
  184. package/dist/phase/loopQueryCandidates.js.map +1 -1
  185. package/dist/phase/oracles.d.ts +28 -0
  186. package/dist/phase/oracles.d.ts.map +1 -1
  187. package/dist/phase/oracles.js +28 -0
  188. package/dist/phase/oracles.js.map +1 -1
  189. package/dist/phase/phaseModel.d.ts +47 -8
  190. package/dist/phase/phaseModel.d.ts.map +1 -1
  191. package/dist/phase/phaseModel.js +44 -8
  192. package/dist/phase/phaseModel.js.map +1 -1
  193. package/dist/phase/producers.d.ts.map +1 -1
  194. package/dist/phase/producers.js +24 -17
  195. package/dist/phase/producers.js.map +1 -1
  196. package/dist/phase/reachability.d.ts +44 -1
  197. package/dist/phase/reachability.d.ts.map +1 -1
  198. package/dist/phase/reachability.js +79 -0
  199. package/dist/phase/reachability.js.map +1 -1
  200. package/dist/phase/rules/conventions.d.ts.map +1 -1
  201. package/dist/phase/rules/conventions.js +6 -2
  202. package/dist/phase/rules/conventions.js.map +1 -1
  203. package/dist/phase/rules/crossDomain.d.ts.map +1 -1
  204. package/dist/phase/rules/crossDomain.js +16 -6
  205. package/dist/phase/rules/crossDomain.js.map +1 -1
  206. package/dist/phase/rules/dataAccess.d.ts.map +1 -1
  207. package/dist/phase/rules/dataAccess.js +13 -0
  208. package/dist/phase/rules/dataAccess.js.map +1 -1
  209. package/dist/phase/rules/documentation.d.ts.map +1 -1
  210. package/dist/phase/rules/documentation.js +11 -1
  211. package/dist/phase/rules/documentation.js.map +1 -1
  212. package/dist/phase/rules/dry.d.ts +16 -7
  213. package/dist/phase/rules/dry.d.ts.map +1 -1
  214. package/dist/phase/rules/dry.js +51 -32
  215. package/dist/phase/rules/dry.js.map +1 -1
  216. package/dist/phase/rules/goRules.d.ts +2 -2
  217. package/dist/phase/rules/goRules.js +2 -2
  218. package/dist/phase/rules/secrets.d.ts +22 -8
  219. package/dist/phase/rules/secrets.d.ts.map +1 -1
  220. package/dist/phase/rules/secrets.js +75 -69
  221. package/dist/phase/rules/secrets.js.map +1 -1
  222. package/dist/phase/rules/styles.d.ts +23 -9
  223. package/dist/phase/rules/styles.d.ts.map +1 -1
  224. package/dist/phase/rules/styles.js +61 -15
  225. package/dist/phase/rules/styles.js.map +1 -1
  226. package/dist/phase/rules/unreferencedModule.d.ts.map +1 -1
  227. package/dist/phase/rules/unreferencedModule.js +32 -10
  228. package/dist/phase/rules/unreferencedModule.js.map +1 -1
  229. package/dist/phase/runner.d.ts +16 -7
  230. package/dist/phase/runner.d.ts.map +1 -1
  231. package/dist/phase/runner.js +32 -20
  232. package/dist/phase/runner.js.map +1 -1
  233. package/dist/phase/stringLiterals.d.ts.map +1 -1
  234. package/dist/phase/stringLiterals.js +16 -7
  235. package/dist/phase/stringLiterals.js.map +1 -1
  236. package/dist/phase/stylesCss.d.ts.map +1 -1
  237. package/dist/phase/stylesCss.js +4 -0
  238. package/dist/phase/stylesCss.js.map +1 -1
  239. package/dist/phase/stylesMarkup.d.ts.map +1 -1
  240. package/dist/phase/stylesMarkup.js +4 -0
  241. package/dist/phase/stylesMarkup.js.map +1 -1
  242. package/dist/phase/stylesSource.d.ts.map +1 -1
  243. package/dist/phase/stylesSource.js +6 -0
  244. package/dist/phase/stylesSource.js.map +1 -1
  245. package/dist/phase/testProgram.d.ts +57 -0
  246. package/dist/phase/testProgram.d.ts.map +1 -0
  247. package/dist/phase/testProgram.js +244 -0
  248. package/dist/phase/testProgram.js.map +1 -0
  249. package/dist/phase/typeDeclarations.d.ts +2 -2
  250. package/dist/phase/typeDeclarations.js +2 -2
  251. package/dist/phase/types.d.ts +104 -0
  252. package/dist/phase/types.d.ts.map +1 -1
  253. package/dist/pipeline.d.ts +4 -0
  254. package/dist/pipeline.d.ts.map +1 -1
  255. package/dist/pipeline.js +4 -0
  256. package/dist/pipeline.js.map +1 -1
  257. package/dist/pipelineAdapters.d.ts +1 -171
  258. package/dist/pipelineAdapters.d.ts.map +1 -1
  259. package/dist/pipelineAdapters.js +47 -1281
  260. package/dist/pipelineAdapters.js.map +1 -1
  261. package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
  262. package/dist/reporting/csvReportGenerator.js +0 -6
  263. package/dist/reporting/csvReportGenerator.js.map +1 -1
  264. package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
  265. package/dist/reporting/htmlReportGenerator.js +0 -4
  266. package/dist/reporting/htmlReportGenerator.js.map +1 -1
  267. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  268. package/dist/reporting/jsonReportGenerator.js +0 -1
  269. package/dist/reporting/jsonReportGenerator.js.map +1 -1
  270. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  271. package/dist/reporting/sarifReportGenerator.js +0 -7
  272. package/dist/reporting/sarifReportGenerator.js.map +1 -1
  273. package/dist/services/auditJobService.d.ts +15 -0
  274. package/dist/services/auditJobService.d.ts.map +1 -1
  275. package/dist/services/auditJobService.js +15 -0
  276. package/dist/services/auditJobService.js.map +1 -1
  277. package/dist/services/projectTaskHelpers.d.ts +7 -0
  278. package/dist/services/projectTaskHelpers.d.ts.map +1 -1
  279. package/dist/services/projectTaskHelpers.js +7 -0
  280. package/dist/services/projectTaskHelpers.js.map +1 -1
  281. package/dist/services/whitelistService.d.ts +28 -0
  282. package/dist/services/whitelistService.d.ts.map +1 -1
  283. package/dist/services/whitelistService.js +28 -0
  284. package/dist/services/whitelistService.js.map +1 -1
  285. package/dist/sqlite/driver.d.ts +17 -1
  286. package/dist/sqlite/driver.d.ts.map +1 -1
  287. package/dist/sqlite/driver.js +28 -5
  288. package/dist/sqlite/driver.js.map +1 -1
  289. package/dist/styles/cssInJsHarvest.d.ts +36 -0
  290. package/dist/styles/cssInJsHarvest.d.ts.map +1 -0
  291. package/dist/styles/cssInJsHarvest.js +78 -0
  292. package/dist/styles/cssInJsHarvest.js.map +1 -0
  293. package/dist/styles/definedClasses.d.ts +95 -0
  294. package/dist/styles/definedClasses.d.ts.map +1 -0
  295. package/dist/styles/definedClasses.js +129 -0
  296. package/dist/styles/definedClasses.js.map +1 -0
  297. package/dist/styles/markupStyleHarvest.d.ts +33 -0
  298. package/dist/styles/markupStyleHarvest.d.ts.map +1 -0
  299. package/dist/styles/markupStyleHarvest.js +73 -0
  300. package/dist/styles/markupStyleHarvest.js.map +1 -0
  301. package/dist/styles/styleExtractor.d.ts +37 -0
  302. package/dist/styles/styleExtractor.d.ts.map +1 -1
  303. package/dist/styles/styleExtractor.js +89 -33
  304. package/dist/styles/styleExtractor.js.map +1 -1
  305. package/dist/styles/styleIndexer.d.ts.map +1 -1
  306. package/dist/styles/styleIndexer.js +11 -10
  307. package/dist/styles/styleIndexer.js.map +1 -1
  308. package/dist/styles/tailwindExpander.d.ts.map +1 -1
  309. package/dist/styles/tailwindExpander.js +31 -10
  310. package/dist/styles/tailwindExpander.js.map +1 -1
  311. package/dist/styles/tailwindUtilityExpander.d.ts +4 -0
  312. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  313. package/dist/styles/tailwindUtilityExpander.js +4 -0
  314. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  315. package/dist/telemetry.d.ts +67 -1
  316. package/dist/telemetry.d.ts.map +1 -1
  317. package/dist/telemetry.js +100 -20
  318. package/dist/telemetry.js.map +1 -1
  319. package/dist/types/crossLanguage.d.ts +1 -0
  320. package/dist/types/crossLanguage.d.ts.map +1 -1
  321. package/dist/types.d.ts +73 -56
  322. package/dist/types.d.ts.map +1 -1
  323. package/dist/types.js +4 -4
  324. package/dist/types.js.map +1 -1
  325. package/dist/version.generated.d.ts +1 -1
  326. package/dist/version.generated.js +1 -1
  327. package/examples/.auditrc.example.json +7 -22
  328. package/examples/.auditrc.json +12 -155
  329. package/examples/.code-auditor.json +8 -51
  330. package/examples/nextjs.auditrc.json +7 -34
  331. package/examples/node-api.auditrc.json +6 -46
  332. package/examples/react.auditrc.json +8 -25
  333. package/examples/tolerant-solid.auditrc.json +12 -44
  334. package/package.json +8 -5
  335. package/plugin/.claude-plugin/manifest.json +10 -9
  336. package/plugin/.claude-plugin/plugin.json +1 -1
  337. package/plugin/hooks/hooks.json +4 -4
  338. package/plugin/scripts/hook-audit.sh +25 -10
  339. package/plugin/scripts/hook-common.sh +12 -7
  340. package/plugin/scripts/hook-drift-check.sh +10 -1
  341. package/plugin/scripts/hook-log-path.sh +7 -0
  342. package/plugin/scripts/hook-self-audit.sh +21 -6
  343. package/plugin/scripts/hook-warm.sh +17 -11
  344. package/plugin/skills/code-auditor/SKILL.md +26 -3
  345. package/server.json +2 -2
  346. package/dist/__tests__/fixtures/spec-20/scripts/tool.d.ts +0 -6
  347. package/dist/__tests__/fixtures/spec-20/scripts/tool.d.ts.map +0 -1
  348. package/dist/__tests__/fixtures/spec-20/scripts/tool.js +0 -12
  349. package/dist/__tests__/fixtures/spec-20/scripts/tool.js.map +0 -1
  350. package/dist/__tests__/fixtures/spec-20/src/demo-module.d.ts +0 -7
  351. package/dist/__tests__/fixtures/spec-20/src/demo-module.d.ts.map +0 -1
  352. package/dist/__tests__/fixtures/spec-20/src/demo-module.js +0 -13
  353. package/dist/__tests__/fixtures/spec-20/src/demo-module.js.map +0 -1
  354. package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.d.ts +0 -14
  355. package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.d.ts.map +0 -1
  356. package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.js +0 -16
  357. package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.js.map +0 -1
  358. package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.d.ts +0 -15
  359. package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.d.ts.map +0 -1
  360. package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.js +0 -17
  361. package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.js.map +0 -1
  362. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts +0 -14
  363. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts.map +0 -1
  364. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js +0 -19
  365. package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js.map +0 -1
  366. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts +0 -18
  367. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +0 -1
  368. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js +0 -19
  369. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js.map +0 -1
  370. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts +0 -19
  371. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts.map +0 -1
  372. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.js +0 -19
  373. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.js.map +0 -1
  374. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts +0 -17
  375. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts.map +0 -1
  376. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js +0 -19
  377. package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js.map +0 -1
  378. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts +0 -25
  379. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts.map +0 -1
  380. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js +0 -21
  381. package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js.map +0 -1
  382. package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.d.ts +0 -15
  383. package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.d.ts.map +0 -1
  384. package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.js +0 -19
  385. package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.js.map +0 -1
  386. package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.d.ts +0 -14
  387. package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.d.ts.map +0 -1
  388. package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.js +0 -14
  389. package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.js.map +0 -1
  390. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts +0 -15
  391. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts.map +0 -1
  392. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js +0 -16
  393. package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js.map +0 -1
  394. package/dist/languages/go/analyzer-darwin-amd64 +0 -0
  395. package/dist/languages/go/analyzer-darwin-arm64 +0 -0
  396. package/dist/languages/go/analyzer-linux-amd64 +0 -0
  397. package/dist/languages/go/analyzer-linux-arm64 +0 -0
  398. package/dist/languages/go/analyzer-src/analyzer.go +0 -643
  399. package/dist/languages/go/analyzer-src/dataaccess.go +0 -388
  400. package/dist/languages/go/analyzer-src/go.mod +0 -3
  401. package/dist/languages/go/analyzer-src/indexer.go +0 -268
  402. package/dist/languages/go/analyzer-src/parser.go +0 -461
  403. package/dist/languages/go/analyzer-src/solid.go +0 -311
  404. package/dist/languages/go/analyzer-src/testconventions.go +0 -25
  405. package/dist/languages/go/analyzer-src/types.go +0 -156
  406. package/dist/languages/go/analyzer-windows-amd64.exe +0 -0
  407. package/dist/languages/go/go.mod +0 -7
  408. package/dist/languages/go/main.go +0 -203
  409. package/dist/native/ast-grep-napi.darwin-arm64.node +0 -0
  410. package/dist/native/ast-grep-napi.darwin-x64.node +0 -0
  411. package/dist/native/ast-grep-napi.linux-arm64-gnu.node +0 -0
  412. package/dist/native/ast-grep-napi.linux-arm64-musl.node +0 -0
  413. package/dist/native/ast-grep-napi.linux-x64-gnu.node +0 -0
  414. package/dist/native/ast-grep-napi.linux-x64-musl.node +0 -0
  415. package/dist/native/ast-grep-napi.win32-x64-msvc.node +0 -0
  416. package/dist/native-bootstrap.d.ts +0 -15
  417. package/dist/native-bootstrap.d.ts.map +0 -1
  418. package/dist/native-bootstrap.js +0 -75
  419. package/dist/native-bootstrap.js.map +0 -1
@@ -1,22 +1,11 @@
1
1
  {
2
- "// Configuration for TypeScript/JavaScript Code Auditor": "",
3
- "// This example shows common configuration options": "",
4
- "// Remove comment lines before using this file": "",
5
-
6
- "// Project Settings": "",
7
- "projectRoot": ".",
8
- "reportTitle": "My Project Code Quality Audit",
9
-
10
- "// File Discovery": "",
11
- "// Specify which files to include in the audit": "",
12
2
  "includePaths": [
13
3
  "src/**/*.{ts,tsx,js,jsx}",
14
4
  "app/**/*.{ts,tsx,js,jsx}",
15
5
  "lib/**/*.{ts,tsx,js,jsx}",
16
6
  "components/**/*.{ts,tsx,js,jsx}"
17
7
  ],
18
-
19
- "// Files and directories to exclude": "",
8
+
20
9
  "excludePaths": [
21
10
  "**/node_modules/**",
22
11
  "**/.next/**",
@@ -29,162 +18,30 @@
29
18
  "**/vendor/**",
30
19
  "**/*.min.js"
31
20
  ],
32
-
33
- "// Analyzer-specific configuration": "",
34
- "analyzerConfig": {
21
+
22
+ "analyzerConfigs": {
35
23
  "solid": {
36
- "// Maximum allowed methods per class": "",
37
24
  "maxMethodsPerClass": 10,
38
- "// Maximum lines per method": "",
39
25
  "maxLinesPerMethod": 50,
40
- "// Maximum parameters per method": "",
41
26
  "maxParametersPerMethod": 4,
42
- "// Maximum cyclomatic complexity": "",
43
- "maxComplexity": 10,
44
- "// Which SOLID principles to check": "",
45
- "checkPatterns": {
46
- "singleResponsibility": true,
47
- "openClosed": true,
48
- "liskovSubstitution": true,
49
- "interfaceSegregation": true,
50
- "dependencyInversion": true
51
- }
27
+ "maxMethodComplexity": 10
52
28
  },
53
-
29
+
54
30
  "dry": {
55
- "// Minimum lines to consider as duplication": "",
56
31
  "minLineThreshold": 5,
57
- "// Similarity threshold (0-1)": "",
58
32
  "similarityThreshold": 0.85,
59
- "// Check for duplicate imports": "",
60
33
  "checkImports": true,
61
- "// Check for duplicate string literals": "",
62
34
  "checkStrings": true
63
35
  },
64
-
65
- "security": {
66
- "// Authentication wrapper patterns to look for": "",
67
- "authPatterns": [
68
- "withAuth",
69
- "requireAuth",
70
- "isAuthenticated",
71
- "useAuth"
72
- ],
73
- "// Admin authentication patterns": "",
74
- "adminPatterns": [
75
- "withAdminAuth",
76
- "requireAdmin",
77
- "isAdmin"
78
- ],
79
- "// Rate limiting patterns": "",
80
- "rateLimitPatterns": [
81
- "rateLimit",
82
- "withRateLimit",
83
- "throttle"
84
- ]
85
- },
86
-
87
- "component": {
88
- "// Check for error boundaries": "",
89
- "checkErrorBoundaries": true,
90
- "// Check for prop type validation": "",
91
- "checkPropTypes": true,
92
- "// Maximum component complexity": "",
93
- "maxComplexity": 15,
94
- "// Maximum nesting depth": "",
95
- "maxNesting": 4
96
- },
97
-
98
- "data-access": {
99
- "// Security patterns to look for": "",
100
- "securityPatterns": {
101
- "parameterized": ["?", "$1", ":param"],
102
- "sanitized": ["sanitize", "escape", "clean"]
103
- },
104
- "// Performance thresholds": "",
105
- "performanceThresholds": {
106
- "maxJoins": 5,
107
- "warnOnSelectStar": true
108
- }
36
+
37
+ "react": {
38
+ "maxComponentComplexity": 15
109
39
  }
110
40
  },
111
-
112
- "// Output Configuration": "",
113
- "// Available formats: html, json, csv": "",
114
- "outputFormats": ["html", "json"],
115
- "outputDirectory": "./audit-reports",
116
-
117
- "// Report Theme (for HTML reports)": "",
118
- "reportTheme": {
119
- "primaryColor": "#007bff",
120
- "criticalColor": "#dc3545",
121
- "warningColor": "#ffc107",
122
- "suggestionColor": "#17a2b8"
123
- },
124
-
125
- "// Behavior": "",
126
- "// Minimum severity level to report: critical, severe, high": "",
41
+
127
42
  "minSeverity": "high",
128
- "// Exit with error code if critical issues found": "",
129
- "failOnCritical": false,
130
- "// Show detailed progress during analysis": "",
131
- "verbose": false,
132
- "// Show progress indicators": "",
133
- "showProgress": true,
134
-
135
- "// Performance": "",
136
- "// Run analyzers in parallel": "",
137
- "parallel": true,
138
- "// Maximum concurrent operations": "",
139
- "maxConcurrency": 4,
140
-
141
- "// Quality Thresholds": "",
142
- "// Set to undefined to disable threshold": "",
43
+
143
44
  "thresholds": {
144
- "// Maximum allowed critical issues": "",
145
- "maxCritical": 0,
146
- "// Maximum allowed warnings": "",
147
- "maxWarnings": 50,
148
- "// Minimum required health score (0-100)": "",
149
- "minHealthScore": 80,
150
- "// Maximum allowed complexity per file": "",
151
- "maxComplexity": 10,
152
- "// Maximum allowed code duplication instances": "",
153
- "maxDuplication": 5
154
- },
155
-
156
- "// Custom Patterns": "",
157
- "// Additional patterns for file discovery": "",
158
- "customPatterns": {
159
- "// Component file patterns": "",
160
- "components": [
161
- "**/*Component.{ts,tsx,js,jsx}",
162
- "**/*Page.{ts,tsx,js,jsx}",
163
- "**/*View.{ts,tsx,js,jsx}"
164
- ],
165
- "// API endpoint patterns": "",
166
- "endpoints": [
167
- "**/api/**/*.{ts,js}",
168
- "**/routes/**/*.{ts,js}",
169
- "**/controllers/**/*.{ts,js}"
170
- ],
171
- "// Test file patterns": "",
172
- "tests": [
173
- "**/*.test.{ts,tsx,js,jsx}",
174
- "**/*.spec.{ts,tsx,js,jsx}",
175
- "**/__tests__/**"
176
- ]
177
- },
178
-
179
- "// CI/CD Integration": "",
180
- "integrations": {
181
- "ci": {
182
- "// CI provider: github, gitlab, jenkins, circleci": "",
183
- "provider": "github",
184
- "// Fail the build if thresholds are exceeded": "",
185
- "failOnThreshold": true,
186
- "// Comment on pull requests with audit results": "",
187
- "commentOnPR": true
188
- }
45
+ "minHealthScore": 80
189
46
  }
190
- }
47
+ }
@@ -1,73 +1,30 @@
1
1
  {
2
- "projectRoot": ".",
3
- "reportTitle": "Code Quality Audit",
4
-
5
2
  "includePaths": [
6
3
  "src/**/*.{ts,tsx,js,jsx}",
7
4
  "lib/**/*.{ts,tsx}"
8
5
  ],
9
-
6
+
10
7
  "excludePaths": [
11
8
  "**/node_modules/**",
12
9
  "**/dist/**",
13
10
  "**/*.test.{ts,tsx}",
14
11
  "**/*.spec.{ts,tsx}"
15
12
  ],
16
-
13
+
17
14
  "analyzerConfigs": {
18
15
  "solid": {
19
- "// Component responsibility thresholds": "Adjust based on your architecture",
20
- "componentResponsibilityThresholds": {
21
- "default": 2,
22
- "layout": 2,
23
- "dashboard": 3,
24
- "table": 2
25
- },
26
-
27
- "// Class responsibility thresholds": "Service layers might need more responsibilities",
28
- "classResponsibilityThresholds": {
29
- "default": 2,
30
- "repository": 2,
31
- "service": 3
32
- },
33
-
34
- "// Control flow thresholds": "Adjust if you have complex business logic",
35
- "ifElseChainThreshold": 4,
36
- "switchCaseThreshold": 6,
37
-
38
- "// Size thresholds": "Larger values for utility classes",
39
- "classMethodThreshold": 10,
40
- "interfaceMemberThreshold": 15
16
+ "classMethodsThreshold": 10,
17
+ "maxInterfaceMembers": 15
41
18
  },
42
-
19
+
43
20
  "dry": {
44
21
  "minLineThreshold": 10,
45
22
  "similarityThreshold": 0.90,
46
- "checkImports": true,
47
- "unusedImportsConfig": {
48
- "checkLevel": "function",
49
- "ignorePatterns": ["React", "^_"]
50
- }
51
- },
52
-
53
- "security": {
54
- "checkAuthentication": true,
55
- "checkAuthorization": true,
56
- "checkRateLimiting": true,
57
- "allowedUnprotectedRoutes": [
58
- "/api/health",
59
- "/api/version",
60
- "/api/public/*"
61
- ]
23
+ "checkImports": true
62
24
  }
63
25
  },
64
-
65
- "outputFormats": ["html"],
66
- "outputDirectory": "./audit-reports",
67
-
26
+
68
27
  "thresholds": {
69
- "maxCritical": 0,
70
- "maxWarnings": 30,
71
28
  "minHealthScore": 80
72
29
  }
73
- }
30
+ }
@@ -1,7 +1,4 @@
1
1
  {
2
- "projectRoot": ".",
3
- "reportTitle": "Next.js Project Audit",
4
-
5
2
  "includePaths": [
6
3
  "app/**/*.{ts,tsx,js,jsx}",
7
4
  "pages/**/*.{ts,tsx,js,jsx}",
@@ -9,7 +6,7 @@
9
6
  "lib/**/*.{ts,tsx,js,jsx}",
10
7
  "utils/**/*.{ts,tsx,js,jsx}"
11
8
  ],
12
-
9
+
13
10
  "excludePaths": [
14
11
  "**/node_modules/**",
15
12
  "**/.next/**",
@@ -20,38 +17,14 @@
20
17
  "**/__tests__/**",
21
18
  "**/coverage/**"
22
19
  ],
23
-
24
- "analyzerConfig": {
25
- "component": {
26
- "checkErrorBoundaries": true,
27
- "checkPropTypes": false,
28
- "maxComplexity": 15
29
- },
30
- "security": {
31
- "authPatterns": ["withAuth", "useSession", "getServerSession"],
32
- "publicPatterns": ["public", "skipAuth"]
20
+
21
+ "analyzerConfigs": {
22
+ "react": {
23
+ "maxComponentComplexity": 15
33
24
  }
34
25
  },
35
-
36
- "customPatterns": {
37
- "components": [
38
- "**/app/**/page.{ts,tsx}",
39
- "**/app/**/layout.{ts,tsx}",
40
- "**/pages/**/*.{ts,tsx}",
41
- "**/components/**/*.{ts,tsx}"
42
- ],
43
- "endpoints": [
44
- "**/app/api/**/route.{ts,js}",
45
- "**/pages/api/**/*.{ts,js}"
46
- ]
47
- },
48
-
49
- "outputFormats": ["html"],
50
- "outputDirectory": "./audit-reports",
51
-
26
+
52
27
  "thresholds": {
53
- "maxCritical": 0,
54
- "maxWarnings": 20,
55
28
  "minHealthScore": 85
56
29
  }
57
- }
30
+ }
@@ -1,7 +1,4 @@
1
1
  {
2
- "projectRoot": ".",
3
- "reportTitle": "Node.js API Audit",
4
-
5
2
  "includePaths": [
6
3
  "src/**/*.{ts,js}",
7
4
  "lib/**/*.{ts,js}",
@@ -11,7 +8,7 @@
11
8
  "services/**/*.{ts,js}",
12
9
  "models/**/*.{ts,js}"
13
10
  ],
14
-
11
+
15
12
  "excludePaths": [
16
13
  "**/node_modules/**",
17
14
  "**/dist/**",
@@ -21,55 +18,18 @@
21
18
  "**/__tests__/**",
22
19
  "**/coverage/**"
23
20
  ],
24
-
25
- "analyzerConfig": {
26
- "security": {
27
- "authPatterns": ["authenticate", "authorize", "requireAuth", "passport"],
28
- "rateLimitPatterns": ["rateLimit", "throttle", "limiter"],
29
- "securityHeaders": [
30
- "helmet",
31
- "cors",
32
- "Content-Security-Policy"
33
- ]
34
- },
35
- "data-access": {
36
- "databasePatterns": {
37
- "postgres": ["pg", "postgres"],
38
- "mysql": ["mysql", "mysql2"],
39
- "mongodb": ["mongodb", "mongoose"]
40
- },
41
- "securityPatterns": {
42
- "parameterized": ["?", "$1", ":id"],
43
- "sanitized": ["sanitize", "escape", "validator"]
44
- },
45
- "performanceThresholds": {
46
- "maxJoins": 4,
47
- "warnOnSelectStar": true
48
- }
49
- },
21
+
22
+ "analyzerConfigs": {
50
23
  "solid": {
51
24
  "maxMethodsPerClass": 12,
52
25
  "maxLinesPerMethod": 60,
53
26
  "maxParametersPerMethod": 5
54
27
  }
55
28
  },
56
-
57
- "outputFormats": ["json", "html"],
58
- "outputDirectory": "./audit-reports",
59
-
29
+
60
30
  "minSeverity": "severe",
61
- "failOnCritical": true,
62
-
31
+
63
32
  "thresholds": {
64
- "maxCritical": 0,
65
- "maxWarnings": 10,
66
33
  "minHealthScore": 90
67
- },
68
-
69
- "integrations": {
70
- "ci": {
71
- "provider": "github",
72
- "failOnThreshold": true
73
- }
74
34
  }
75
- }
35
+ }
@@ -1,11 +1,8 @@
1
1
  {
2
- "projectRoot": ".",
3
- "reportTitle": "React Project Audit",
4
-
5
2
  "includePaths": [
6
3
  "src/**/*.{ts,tsx,js,jsx}"
7
4
  ],
8
-
5
+
9
6
  "excludePaths": [
10
7
  "**/node_modules/**",
11
8
  "**/build/**",
@@ -16,18 +13,10 @@
16
13
  "**/coverage/**",
17
14
  "**/*.stories.{ts,tsx,js,jsx}"
18
15
  ],
19
-
20
- "analyzerConfig": {
21
- "component": {
22
- "checkErrorBoundaries": true,
23
- "checkPropTypes": true,
24
- "maxComplexity": 12,
25
- "frameworkPatterns": {
26
- "react": {
27
- "hooks": ["use*"],
28
- "context": ["*Context", "*Provider"]
29
- }
30
- }
16
+
17
+ "analyzerConfigs": {
18
+ "react": {
19
+ "maxComponentComplexity": 12
31
20
  },
32
21
  "solid": {
33
22
  "maxMethodsPerClass": 8,
@@ -38,16 +27,10 @@
38
27
  "checkImports": true
39
28
  }
40
29
  },
41
-
42
- "outputFormats": ["html", "json"],
43
- "outputDirectory": "./audit-reports",
44
-
30
+
45
31
  "minSeverity": "severe",
46
- "showProgress": true,
47
-
32
+
48
33
  "thresholds": {
49
- "maxCritical": 0,
50
- "maxWarnings": 30,
51
34
  "minHealthScore": 75
52
35
  }
53
- }
36
+ }
@@ -1,11 +1,8 @@
1
1
  {
2
- "projectRoot": ".",
3
- "reportTitle": "Project Audit with Relaxed SOLID Tolerances",
4
-
5
2
  "includePaths": [
6
3
  "src/**/*.{ts,tsx,js,jsx}"
7
4
  ],
8
-
5
+
9
6
  "excludePaths": [
10
7
  "**/node_modules/**",
11
8
  "**/build/**",
@@ -13,53 +10,24 @@
13
10
  "**/*.test.{ts,tsx,js,jsx}",
14
11
  "**/*.spec.{ts,tsx,js,jsx}"
15
12
  ],
16
-
13
+
17
14
  "analyzerConfigs": {
18
15
  "solid": {
19
- "componentResponsibilityThresholds": {
20
- "default": 2,
21
- "layout": 2,
22
- "dashboard": 4,
23
- "table": 3,
24
- "form": 3
25
- },
26
-
27
- "classResponsibilityThresholds": {
28
- "default": 2,
29
- "repository": 2,
30
- "service": 3,
31
- "controller": 3,
32
- "model": 3
33
- },
34
-
35
- "ifElseChainThreshold": 5,
36
- "switchCaseThreshold": 7,
37
- "classMethodThreshold": 12,
38
- "interfaceMemberThreshold": 20,
39
- "dependencyInjectionLimit": 6
16
+ "classMethodsThreshold": 40,
17
+ "maxInterfaceMembers": 50,
18
+ "maxMethodComplexity": 100
40
19
  },
41
-
20
+
42
21
  "dry": {
43
- "minLineThreshold": 15,
44
- "similarityThreshold": 0.85,
45
- "checkImports": true,
46
- "unusedImportsConfig": {
47
- "checkLevel": "function",
48
- "includeTypeOnlyImports": false,
49
- "ignorePatterns": ["React", "^_", "test.*"]
50
- }
22
+ "minLineThreshold": 15,
23
+ "similarityThreshold": 0.85,
24
+ "checkImports": true
51
25
  }
52
26
  },
53
-
54
- "outputFormats": ["html", "json"],
55
- "outputDirectory": "./audit-reports",
56
-
27
+
57
28
  "minSeverity": "severe",
58
- "showProgress": true,
59
-
29
+
60
30
  "thresholds": {
61
- "maxCritical": 5,
62
- "maxWarnings": 50,
63
31
  "minHealthScore": 70
64
32
  }
65
- }
33
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "code-auditor-mcp",
3
- "version": "5.0.2",
3
+ "version": "5.3.3",
4
4
  "description": "Enforces architectural invariants and code quality rules inside your AI agent's edit loop.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,11 +12,12 @@
12
12
  "code-auditor-daemon": "dist/daemon/main.js"
13
13
  },
14
14
  "scripts": {
15
- "build": "pnpm run build:version && tsc && pnpm run build:grammars && pnpm run download:natives && pnpm run build:skills && pnpm run build:manifest",
15
+ "build": "pnpm run build:version && pnpm run build:hooklog && tsc && pnpm run build:grammars && pnpm run build:skills && pnpm run build:manifest-version && pnpm run build:manifest",
16
16
  "build:version": "node scripts/write-version.mjs",
17
- "download:natives": "bash scripts/download-natives.sh",
17
+ "build:hooklog": "node scripts/write-hook-log-path.mjs",
18
18
  "build:grammars": "mkdir -p dist/grammars && cp node_modules/tree-sitter-typescript/tree-sitter-typescript.wasm node_modules/tree-sitter-typescript/tree-sitter-tsx.wasm node_modules/tree-sitter-go/tree-sitter-go.wasm node_modules/tree-sitter-css/tree-sitter-css.wasm grammars/tree-sitter-scss.wasm dist/grammars/",
19
19
  "build:skills": "node scripts/build-skills.mjs",
20
+ "build:manifest-version": "node scripts/write-manifest-version.mjs",
20
21
  "build:manifest": "node scripts/build-manifest.mjs",
21
22
  "watch": "tsc --watch",
22
23
  "dev": "tsx src/cli.ts",
@@ -32,10 +33,13 @@
32
33
  "test": "vitest run",
33
34
  "test:integration": "vitest run --config vitest.integration.config.ts",
34
35
  "bench": "tsx bench/verify.ts",
36
+ "bench:gate-timing": "node bench/gate-timing.mjs",
35
37
  "test:watch": "vitest watch",
36
38
  "verify:disk-space": "node scripts/verify-disk-space.mjs",
37
39
  "verify:types": "tsc --noEmit",
38
40
  "verify:dist-fresh": "node scripts/verify-dist-fresh.mjs",
41
+ "verify:hook-log-path": "node scripts/verify-hook-log-path.mjs",
42
+ "verify:version-fresh": "node scripts/verify-version-fresh.mjs",
39
43
  "verify:clean-install": "bash scripts/verify-clean-install.sh",
40
44
  "verify:dist": "npm pack --silent && bash scripts/verify-dist.sh && rm -f code-auditor-mcp-*.tgz",
41
45
  "verify:self": "node scripts/verify-self.mjs && node scripts/verify-languages.mjs",
@@ -45,7 +49,7 @@
45
49
  "verify:gate-budget": "node scripts/verify-gate-budget.mjs",
46
50
  "verify:recall-value-drift": "tsx scripts/verify-recall-value-drift.ts",
47
51
  "verify:extraction-completeness": "tsx scripts/verify-extraction-completeness.ts",
48
- "verify:oracle-shortfalls": "tsx scripts/verify-oracle-shortfalls.ts",
52
+ "verify:recall-cases": "tsx scripts/verify-recall-cases.ts",
49
53
  "verify:close": "node scripts/verify-close.mjs"
50
54
  },
51
55
  "keywords": [
@@ -122,7 +126,6 @@
122
126
  "files": [
123
127
  "dist/**/*",
124
128
  "dist/grammars/",
125
- "dist/native/",
126
129
  "plugin/**/*",
127
130
  ".claude-plugin/**/*",
128
131
  "examples/**/*",
@@ -1,16 +1,17 @@
1
1
  {
2
- "version": "5.0.2",
2
+ "version": "5.3.3",
3
3
  "files": {
4
- ".claude-plugin/plugin.json": "1b950b987f07b25990f29959dc696fd1323dc4dfdda367e2c21fb32638e083be",
4
+ ".claude-plugin/plugin.json": "ba020a5103419ee7c4d71dfda7f2e49bc69b0f863ee8d64d9df2e0a58c8881de",
5
5
  "README.md": "6e51516ead6c7d0b4e77629e071e139b899d30a47838e8721c0d534eb733ad45",
6
- "hooks/hooks.json": "28c4d7e87f1bb0daae8d9c714a196c39809039509568cf89a67c0377090f7211",
7
- "scripts/hook-audit.sh": "25353d88a020d71586bb52ec6800438ab1f500e987c639837be52529fe2dc5fe",
8
- "scripts/hook-common.sh": "85fd91c7a3817c01557383aadeff578696a9400698806d2d310ffd1caa954e06",
9
- "scripts/hook-drift-check.sh": "fdf1f8098d9dda8911daedfd4b038c310c8383da57938a6737131cd33cb9492e",
10
- "scripts/hook-self-audit.sh": "1a19f4ddec4cf66d9feb97999e70eb664817b0d6dd811f498d3cdef2f26d63b2",
11
- "scripts/hook-warm.sh": "3d0fa8d811a26eda29c1a4dcbd88e6861eef93425355c87d6fe72356b3e7b5b3",
6
+ "hooks/hooks.json": "ad0f827dbfb8ff4b633d2138d8ff2ed60bec85fa7b48ad1235dfaefb20a01187",
7
+ "scripts/hook-audit.sh": "d5192a31e770d4bfbe52c48c08b445fb75ebb17eb8cfb39bb8d125cd9e2f456d",
8
+ "scripts/hook-common.sh": "496d5a35f9813cc1e8d315c4bc4282117f185a53ffbe8f39b31d22925948bf29",
9
+ "scripts/hook-drift-check.sh": "4e6ed8e4e33d0765a5ed6adfda6fb3ecec5750d836632aa4ee6d7a6acce69665",
10
+ "scripts/hook-log-path.sh": "4ac27ac22dcb29fd82cbd9a936b3da7115c5182386a0e3290ed5ac9e529bc132",
11
+ "scripts/hook-self-audit.sh": "16bb573c0f12bff083af9028d512cd5c55a7cbf004c09409926153d12894e82a",
12
+ "scripts/hook-warm.sh": "22d750e8e36164920515c8370f02dd48f9f09f26bfe4a21e67de91f45b5ffef9",
12
13
  "skills/code-auditor/SKILL-RULE-KINDS.md": "be1bbe1b56b19dc112c2657c1f5984f6f704b2ac9c1c0f78a561a58b110d508a",
13
14
  "skills/code-auditor/SKILL-SEARCH.md": "95d2df4474995bc5b18e14cc55ac55fb828024541463f109239567e2aa5ab7b0",
14
- "skills/code-auditor/SKILL.md": "a66b4849ffa98adac0817e6ef0712e6b5e1fa292ceaa094717795aeb7299b9a6"
15
+ "skills/code-auditor/SKILL.md": "6bc5fc6c1a31cffc3e94978823f6c6f4394b8d832c3a9ac3f134a03e32fe69fa"
15
16
  }
16
17
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "code-auditor",
3
3
  "description": "Diff-scoped code quality auditing on every edit. Indexes your codebase, enforces invariants, and feeds violations back to the agent so fixes happen inline.",
4
- "version": "5.0.2",
4
+ "version": "5.3.3",
5
5
  "author": {
6
6
  "name": "Ben Hammond",
7
7
  "email": "ben@benhammond.tech"
@@ -6,11 +6,11 @@
6
6
  "hooks": [
7
7
  {
8
8
  "type": "command",
9
- "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/hook-warm.sh"
9
+ "command": "if [ -z \"${CLAUDE_PLUGIN_ROOT}\" ]; then dir=\"${XDG_CACHE_HOME:-$HOME/.cache}/code-auditor/logs\"; mkdir -p \"$dir\" 2>/dev/null || true; msg=\"[code-auditor] HOOK NOT RUNNING: CLAUDE_PLUGIN_ROOT is unset — could not locate the plugin; the warm-up is not running.\"; echo \"[$(date -u +%Y-%m-%dT%H:%M:%SZ)] ${msg}\" >> \"$dir/hook.log\" 2>/dev/null || true; echo \"${msg}\" >&2; exit 1; fi; \"${CLAUDE_PLUGIN_ROOT}\"/scripts/hook-warm.sh"
10
10
  },
11
11
  {
12
12
  "type": "command",
13
- "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/hook-drift-check.sh"
13
+ "command": "if [ -z \"${CLAUDE_PLUGIN_ROOT}\" ]; then dir=\"${XDG_CACHE_HOME:-$HOME/.cache}/code-auditor/logs\"; mkdir -p \"$dir\" 2>/dev/null || true; msg=\"[code-auditor] HOOK NOT RUNNING: CLAUDE_PLUGIN_ROOT is unset — could not locate the plugin; the drift check is not running.\"; echo \"[$(date -u +%Y-%m-%dT%H:%M:%SZ)] ${msg}\" >> \"$dir/hook.log\" 2>/dev/null || true; echo \"${msg}\" >&2; exit 1; fi; \"${CLAUDE_PLUGIN_ROOT}\"/scripts/hook-drift-check.sh"
14
14
  }
15
15
  ]
16
16
  }
@@ -21,11 +21,11 @@
21
21
  "hooks": [
22
22
  {
23
23
  "type": "command",
24
- "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/hook-audit.sh"
24
+ "command": "if [ -z \"${CLAUDE_PLUGIN_ROOT}\" ]; then dir=\"${XDG_CACHE_HOME:-$HOME/.cache}/code-auditor/logs\"; mkdir -p \"$dir\" 2>/dev/null || true; msg=\"[code-auditor] HOOK NOT RUNNING: CLAUDE_PLUGIN_ROOT is unset — could not locate the plugin; the audit is not running.\"; echo \"[$(date -u +%Y-%m-%dT%H:%M:%SZ)] ${msg}\" >> \"$dir/hook.log\" 2>/dev/null || true; echo \"${msg}\" >&2; exit 1; fi; \"${CLAUDE_PLUGIN_ROOT}\"/scripts/hook-audit.sh"
25
25
  },
26
26
  {
27
27
  "type": "command",
28
- "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/hook-self-audit.sh"
28
+ "command": "if [ -z \"${CLAUDE_PLUGIN_ROOT}\" ]; then dir=\"${XDG_CACHE_HOME:-$HOME/.cache}/code-auditor/logs\"; mkdir -p \"$dir\" 2>/dev/null || true; msg=\"[code-auditor] HOOK NOT RUNNING: CLAUDE_PLUGIN_ROOT is unset — could not locate the plugin; the self-audit is not running.\"; echo \"[$(date -u +%Y-%m-%dT%H:%M:%SZ)] ${msg}\" >> \"$dir/hook.log\" 2>/dev/null || true; echo \"${msg}\" >&2; exit 1; fi; \"${CLAUDE_PLUGIN_ROOT}\"/scripts/hook-self-audit.sh"
29
29
  }
30
30
  ]
31
31
  }