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.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +326 -3
- package/README.md +24 -2
- package/configs/hhra-compat.json +12 -118
- package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js +11 -1
- package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +57 -52
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/provenance.d.ts +9 -4
- package/dist/analyzers/provenance.d.ts.map +1 -1
- package/dist/analyzers/provenance.js +8 -25
- package/dist/analyzers/provenance.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +35 -14
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/ruleRegistry.js +4 -4
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/ruleTiming.d.ts +1 -1
- package/dist/analyzers/ruleTiming.js +2 -2
- package/dist/analyzers/ruleTiming.js.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +22 -26
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +0 -2
- package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js +4 -5
- package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +32 -15
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +189 -115
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +0 -2
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +0 -5
- package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +2 -10
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +7 -49
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/codeAnalysis.js +51 -3
- package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
- package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/config.js +0 -2
- package/dist/analyzers/universal/schema/config.js.map +1 -1
- package/dist/analyzers/universal/schema/types.d.ts +0 -2
- package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
- package/dist/analyzers/vendorSurfaces.d.ts +126 -0
- package/dist/analyzers/vendorSurfaces.d.ts.map +1 -0
- package/dist/analyzers/vendorSurfaces.js +580 -0
- package/dist/analyzers/vendorSurfaces.js.map +1 -0
- package/dist/auditRunner.d.ts +9 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +198 -146
- package/dist/auditRunner.js.map +1 -1
- package/dist/cacheGc.d.ts +88 -0
- package/dist/cacheGc.d.ts.map +1 -0
- package/dist/cacheGc.js +196 -0
- package/dist/cacheGc.js.map +1 -0
- package/dist/churn/churnExtractor.d.ts +0 -1
- package/dist/churn/churnExtractor.d.ts.map +1 -1
- package/dist/churn/churnExtractor.js +2 -4
- package/dist/churn/churnExtractor.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +260 -47
- package/dist/cli.js.map +1 -1
- package/dist/codeIndex/migrations.d.ts.map +1 -1
- package/dist/codeIndex/migrations.js +4 -3
- package/dist/codeIndex/migrations.js.map +1 -1
- package/dist/codeIndexDB.d.ts +11 -2
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +27 -2
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/config/configLoader.d.ts +60 -7
- package/dist/config/configLoader.d.ts.map +1 -1
- package/dist/config/configLoader.js +252 -60
- package/dist/config/configLoader.js.map +1 -1
- package/dist/config/defaults.d.ts +137 -43
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +174 -101
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effectiveConfig.d.ts +1 -1
- package/dist/config/effectiveConfig.d.ts.map +1 -1
- package/dist/config/effectiveConfig.js +4 -6
- package/dist/config/effectiveConfig.js.map +1 -1
- package/dist/config/pathProfiles.d.ts +4 -3
- package/dist/config/pathProfiles.d.ts.map +1 -1
- package/dist/config/pathProfiles.js +3 -2
- package/dist/config/pathProfiles.js.map +1 -1
- package/dist/constants.d.ts +2 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -1
- package/dist/daemon/main.d.ts +0 -1
- package/dist/daemon/main.d.ts.map +1 -1
- package/dist/daemon/main.js +11 -4
- package/dist/daemon/main.js.map +1 -1
- package/dist/dataPaths.d.ts +32 -9
- package/dist/dataPaths.d.ts.map +1 -1
- package/dist/dataPaths.js +69 -16
- package/dist/dataPaths.js.map +1 -1
- package/dist/hookLog.d.ts +54 -0
- package/dist/hookLog.d.ts.map +1 -0
- package/dist/hookLog.js +105 -0
- package/dist/hookLog.js.map +1 -0
- package/dist/hookLogPath.generated.d.ts +3 -0
- package/dist/hookLogPath.generated.d.ts.map +1 -0
- package/dist/hookLogPath.generated.js +8 -0
- package/dist/hookLogPath.generated.js.map +1 -0
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +1 -1
- package/dist/installConfig.d.ts +15 -2
- package/dist/installConfig.d.ts.map +1 -1
- package/dist/installConfig.js +17 -2
- package/dist/installConfig.js.map +1 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +2 -1
- package/dist/installer.js.map +1 -1
- package/dist/languages/adapterBridge.d.ts +11 -0
- package/dist/languages/adapterBridge.d.ts.map +1 -1
- package/dist/languages/adapterBridge.js +11 -0
- package/dist/languages/adapterBridge.js.map +1 -1
- package/dist/languages/types.d.ts +8 -0
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +13 -0
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +135 -18
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/ledger.d.ts +7 -0
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +7 -0
- package/dist/ledger.js.map +1 -1
- package/dist/mcp-tools/workflowGuide.js +8 -8
- package/dist/mcp-tools/workflowGuide.js.map +1 -1
- package/dist/mcp-tools-shared.d.ts.map +1 -1
- package/dist/mcp-tools-shared.js +5 -2
- package/dist/mcp-tools-shared.js.map +1 -1
- package/dist/mcp-ui-simple.d.ts +5 -0
- package/dist/mcp-ui-simple.d.ts.map +1 -1
- package/dist/mcp-ui-simple.js +9 -2
- package/dist/mcp-ui-simple.js.map +1 -1
- package/dist/mcp.d.ts +0 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +36 -33
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts +10 -0
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +10 -1
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/mcpAutoIndex.d.ts.map +1 -1
- package/dist/mcpAutoIndex.js +2 -1
- package/dist/mcpAutoIndex.js.map +1 -1
- package/dist/mcpDiagnostics.d.ts +2 -0
- package/dist/mcpDiagnostics.d.ts.map +1 -1
- package/dist/mcpDiagnostics.js +2 -0
- package/dist/mcpDiagnostics.js.map +1 -1
- package/dist/phase/candidates.d.ts +53 -0
- package/dist/phase/candidates.d.ts.map +1 -0
- package/dist/phase/candidates.js +67 -0
- package/dist/phase/candidates.js.map +1 -0
- package/dist/phase/colorMath.d.ts +18 -5
- package/dist/phase/colorMath.d.ts.map +1 -1
- package/dist/phase/colorMath.js +88 -5
- package/dist/phase/colorMath.js.map +1 -1
- package/dist/phase/dataAccessCallsCandidates.js +1 -1
- package/dist/phase/dataAccessCallsCandidates.js.map +1 -1
- package/dist/phase/goFunctionAnalysis.d.ts +2 -2
- package/dist/phase/goFunctionAnalysis.js +2 -2
- package/dist/phase/goFunctions.d.ts +2 -2
- package/dist/phase/goFunctions.js +2 -2
- package/dist/phase/goImports.d.ts +2 -2
- package/dist/phase/goImports.js +2 -2
- package/dist/phase/goSwitches.d.ts +2 -2
- package/dist/phase/goSwitches.js +2 -2
- package/dist/phase/imports.d.ts.map +1 -1
- package/dist/phase/imports.js +1 -0
- package/dist/phase/imports.js.map +1 -1
- package/dist/phase/loopQueryCandidates.js +1 -1
- package/dist/phase/loopQueryCandidates.js.map +1 -1
- package/dist/phase/oracles.d.ts +28 -0
- package/dist/phase/oracles.d.ts.map +1 -1
- package/dist/phase/oracles.js +28 -0
- package/dist/phase/oracles.js.map +1 -1
- package/dist/phase/phaseModel.d.ts +47 -8
- package/dist/phase/phaseModel.d.ts.map +1 -1
- package/dist/phase/phaseModel.js +44 -8
- package/dist/phase/phaseModel.js.map +1 -1
- package/dist/phase/producers.d.ts.map +1 -1
- package/dist/phase/producers.js +24 -17
- package/dist/phase/producers.js.map +1 -1
- package/dist/phase/reachability.d.ts +44 -1
- package/dist/phase/reachability.d.ts.map +1 -1
- package/dist/phase/reachability.js +79 -0
- package/dist/phase/reachability.js.map +1 -1
- package/dist/phase/rules/conventions.d.ts.map +1 -1
- package/dist/phase/rules/conventions.js +6 -2
- package/dist/phase/rules/conventions.js.map +1 -1
- package/dist/phase/rules/crossDomain.d.ts.map +1 -1
- package/dist/phase/rules/crossDomain.js +16 -6
- package/dist/phase/rules/crossDomain.js.map +1 -1
- package/dist/phase/rules/dataAccess.d.ts.map +1 -1
- package/dist/phase/rules/dataAccess.js +13 -0
- package/dist/phase/rules/dataAccess.js.map +1 -1
- package/dist/phase/rules/documentation.d.ts.map +1 -1
- package/dist/phase/rules/documentation.js +11 -1
- package/dist/phase/rules/documentation.js.map +1 -1
- package/dist/phase/rules/dry.d.ts +16 -7
- package/dist/phase/rules/dry.d.ts.map +1 -1
- package/dist/phase/rules/dry.js +51 -32
- package/dist/phase/rules/dry.js.map +1 -1
- package/dist/phase/rules/goRules.d.ts +2 -2
- package/dist/phase/rules/goRules.js +2 -2
- package/dist/phase/rules/secrets.d.ts +22 -8
- package/dist/phase/rules/secrets.d.ts.map +1 -1
- package/dist/phase/rules/secrets.js +75 -69
- package/dist/phase/rules/secrets.js.map +1 -1
- package/dist/phase/rules/styles.d.ts +23 -9
- package/dist/phase/rules/styles.d.ts.map +1 -1
- package/dist/phase/rules/styles.js +61 -15
- package/dist/phase/rules/styles.js.map +1 -1
- package/dist/phase/rules/unreferencedModule.d.ts.map +1 -1
- package/dist/phase/rules/unreferencedModule.js +32 -10
- package/dist/phase/rules/unreferencedModule.js.map +1 -1
- package/dist/phase/runner.d.ts +16 -7
- package/dist/phase/runner.d.ts.map +1 -1
- package/dist/phase/runner.js +32 -20
- package/dist/phase/runner.js.map +1 -1
- package/dist/phase/stringLiterals.d.ts.map +1 -1
- package/dist/phase/stringLiterals.js +16 -7
- package/dist/phase/stringLiterals.js.map +1 -1
- package/dist/phase/stylesCss.d.ts.map +1 -1
- package/dist/phase/stylesCss.js +4 -0
- package/dist/phase/stylesCss.js.map +1 -1
- package/dist/phase/stylesMarkup.d.ts.map +1 -1
- package/dist/phase/stylesMarkup.js +4 -0
- package/dist/phase/stylesMarkup.js.map +1 -1
- package/dist/phase/stylesSource.d.ts.map +1 -1
- package/dist/phase/stylesSource.js +6 -0
- package/dist/phase/stylesSource.js.map +1 -1
- package/dist/phase/testProgram.d.ts +57 -0
- package/dist/phase/testProgram.d.ts.map +1 -0
- package/dist/phase/testProgram.js +244 -0
- package/dist/phase/testProgram.js.map +1 -0
- package/dist/phase/typeDeclarations.d.ts +2 -2
- package/dist/phase/typeDeclarations.js +2 -2
- package/dist/phase/types.d.ts +104 -0
- package/dist/phase/types.d.ts.map +1 -1
- package/dist/pipeline.d.ts +4 -0
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +4 -0
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts +1 -171
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +47 -1281
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
- package/dist/reporting/csvReportGenerator.js +0 -6
- package/dist/reporting/csvReportGenerator.js.map +1 -1
- package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
- package/dist/reporting/htmlReportGenerator.js +0 -4
- package/dist/reporting/htmlReportGenerator.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +0 -1
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +0 -7
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/services/auditJobService.d.ts +15 -0
- package/dist/services/auditJobService.d.ts.map +1 -1
- package/dist/services/auditJobService.js +15 -0
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/services/projectTaskHelpers.d.ts +7 -0
- package/dist/services/projectTaskHelpers.d.ts.map +1 -1
- package/dist/services/projectTaskHelpers.js +7 -0
- package/dist/services/projectTaskHelpers.js.map +1 -1
- package/dist/services/whitelistService.d.ts +28 -0
- package/dist/services/whitelistService.d.ts.map +1 -1
- package/dist/services/whitelistService.js +28 -0
- package/dist/services/whitelistService.js.map +1 -1
- package/dist/sqlite/driver.d.ts +17 -1
- package/dist/sqlite/driver.d.ts.map +1 -1
- package/dist/sqlite/driver.js +28 -5
- package/dist/sqlite/driver.js.map +1 -1
- package/dist/styles/cssInJsHarvest.d.ts +36 -0
- package/dist/styles/cssInJsHarvest.d.ts.map +1 -0
- package/dist/styles/cssInJsHarvest.js +78 -0
- package/dist/styles/cssInJsHarvest.js.map +1 -0
- package/dist/styles/definedClasses.d.ts +95 -0
- package/dist/styles/definedClasses.d.ts.map +1 -0
- package/dist/styles/definedClasses.js +129 -0
- package/dist/styles/definedClasses.js.map +1 -0
- package/dist/styles/markupStyleHarvest.d.ts +33 -0
- package/dist/styles/markupStyleHarvest.d.ts.map +1 -0
- package/dist/styles/markupStyleHarvest.js +73 -0
- package/dist/styles/markupStyleHarvest.js.map +1 -0
- package/dist/styles/styleExtractor.d.ts +37 -0
- package/dist/styles/styleExtractor.d.ts.map +1 -1
- package/dist/styles/styleExtractor.js +89 -33
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +11 -10
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindExpander.d.ts.map +1 -1
- package/dist/styles/tailwindExpander.js +31 -10
- package/dist/styles/tailwindExpander.js.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts +4 -0
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js +4 -0
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/telemetry.d.ts +67 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +100 -20
- package/dist/telemetry.js.map +1 -1
- package/dist/types/crossLanguage.d.ts +1 -0
- package/dist/types/crossLanguage.d.ts.map +1 -1
- package/dist/types.d.ts +73 -56
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -4
- package/dist/types.js.map +1 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +1 -1
- package/examples/.auditrc.example.json +7 -22
- package/examples/.auditrc.json +12 -155
- package/examples/.code-auditor.json +8 -51
- package/examples/nextjs.auditrc.json +7 -34
- package/examples/node-api.auditrc.json +6 -46
- package/examples/react.auditrc.json +8 -25
- package/examples/tolerant-solid.auditrc.json +12 -44
- package/package.json +8 -5
- package/plugin/.claude-plugin/manifest.json +10 -9
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/hooks/hooks.json +4 -4
- package/plugin/scripts/hook-audit.sh +25 -10
- package/plugin/scripts/hook-common.sh +12 -7
- package/plugin/scripts/hook-drift-check.sh +10 -1
- package/plugin/scripts/hook-log-path.sh +7 -0
- package/plugin/scripts/hook-self-audit.sh +21 -6
- package/plugin/scripts/hook-warm.sh +17 -11
- package/plugin/skills/code-auditor/SKILL.md +26 -3
- package/server.json +2 -2
- package/dist/__tests__/fixtures/spec-20/scripts/tool.d.ts +0 -6
- package/dist/__tests__/fixtures/spec-20/scripts/tool.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-20/scripts/tool.js +0 -12
- package/dist/__tests__/fixtures/spec-20/scripts/tool.js.map +0 -1
- package/dist/__tests__/fixtures/spec-20/src/demo-module.d.ts +0 -7
- package/dist/__tests__/fixtures/spec-20/src/demo-module.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-20/src/demo-module.js +0 -13
- package/dist/__tests__/fixtures/spec-20/src/demo-module.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.d.ts +0 -14
- package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.js +0 -16
- package/dist/__tests__/fixtures/spec-52/item-01-prepare-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.d.ts +0 -15
- package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.js +0 -17
- package/dist/__tests__/fixtures/spec-52/item-02-prepare-bind-accumulate-batch.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts +0 -14
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-03-exec-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts +0 -18
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts +0 -19
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts +0 -17
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-06-chained-prepare-run-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts +0 -25
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js +0 -21
- package/dist/__tests__/fixtures/spec-52/item-07-chained-prepare-bind-first-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.d.ts +0 -15
- package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.js +0 -19
- package/dist/__tests__/fixtures/spec-52/item-08-promise-all-of-statements-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.d.ts +0 -14
- package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.js +0 -14
- package/dist/__tests__/fixtures/spec-52/item-09-promise-all-map-of-statements-in-loop.js.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts +0 -15
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.d.ts.map +0 -1
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js +0 -16
- package/dist/__tests__/fixtures/spec-52/item-10-promise-all-map-of-eager-all-in-loop.js.map +0 -1
- package/dist/languages/go/analyzer-darwin-amd64 +0 -0
- package/dist/languages/go/analyzer-darwin-arm64 +0 -0
- package/dist/languages/go/analyzer-linux-amd64 +0 -0
- package/dist/languages/go/analyzer-linux-arm64 +0 -0
- package/dist/languages/go/analyzer-src/analyzer.go +0 -643
- package/dist/languages/go/analyzer-src/dataaccess.go +0 -388
- package/dist/languages/go/analyzer-src/go.mod +0 -3
- package/dist/languages/go/analyzer-src/indexer.go +0 -268
- package/dist/languages/go/analyzer-src/parser.go +0 -461
- package/dist/languages/go/analyzer-src/solid.go +0 -311
- package/dist/languages/go/analyzer-src/testconventions.go +0 -25
- package/dist/languages/go/analyzer-src/types.go +0 -156
- package/dist/languages/go/analyzer-windows-amd64.exe +0 -0
- package/dist/languages/go/go.mod +0 -7
- package/dist/languages/go/main.go +0 -203
- package/dist/native/ast-grep-napi.darwin-arm64.node +0 -0
- package/dist/native/ast-grep-napi.darwin-x64.node +0 -0
- package/dist/native/ast-grep-napi.linux-arm64-gnu.node +0 -0
- package/dist/native/ast-grep-napi.linux-arm64-musl.node +0 -0
- package/dist/native/ast-grep-napi.linux-x64-gnu.node +0 -0
- package/dist/native/ast-grep-napi.linux-x64-musl.node +0 -0
- package/dist/native/ast-grep-napi.win32-x64-msvc.node +0 -0
- package/dist/native-bootstrap.d.ts +0 -15
- package/dist/native-bootstrap.d.ts.map +0 -1
- package/dist/native-bootstrap.js +0 -75
- package/dist/native-bootstrap.js.map +0 -1
package/examples/.auditrc.json
CHANGED
|
@@ -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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
66
|
-
"
|
|
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
|
-
|
|
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
|
-
"
|
|
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
|
-
"
|
|
20
|
-
"
|
|
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
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
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
|
-
"
|
|
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
|
-
|
|
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
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
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
|
-
|
|
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
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
-
"
|
|
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:
|
|
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.
|
|
2
|
+
"version": "5.3.3",
|
|
3
3
|
"files": {
|
|
4
|
-
".claude-plugin/plugin.json": "
|
|
4
|
+
".claude-plugin/plugin.json": "ba020a5103419ee7c4d71dfda7f2e49bc69b0f863ee8d64d9df2e0a58c8881de",
|
|
5
5
|
"README.md": "6e51516ead6c7d0b4e77629e071e139b899d30a47838e8721c0d534eb733ad45",
|
|
6
|
-
"hooks/hooks.json": "
|
|
7
|
-
"scripts/hook-audit.sh": "
|
|
8
|
-
"scripts/hook-common.sh": "
|
|
9
|
-
"scripts/hook-drift-check.sh": "
|
|
10
|
-
"scripts/hook-
|
|
11
|
-
"scripts/hook-
|
|
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": "
|
|
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.
|
|
4
|
+
"version": "5.3.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Ben Hammond",
|
|
7
7
|
"email": "ben@benhammond.tech"
|
package/plugin/hooks/hooks.json
CHANGED
|
@@ -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
|
}
|