code-auditor-mcp 3.4.7 → 3.4.9
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 +108 -2
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +1 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/cross-language/APIContractAnalyzer.js +5 -0
- package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts +1 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js +8 -0
- package/dist/analyzers/cross-language/CrossLanguageSOLIDAnalyzer.js.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.d.ts +1 -0
- package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
- package/dist/analyzers/cross-language/SchemaValidator.js +9 -0
- package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +2 -0
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +17 -6
- package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
- package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/documentationAnalyzer.js +5 -0
- package/dist/analyzers/documentationAnalyzer.js.map +1 -1
- package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/reactAnalyzer.js +28 -9
- package/dist/analyzers/reactAnalyzer.js.map +1 -1
- package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
- package/dist/analyzers/ruleRegistry.js +27 -26
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +13 -5
- package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +0 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +0 -14
- package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +8 -5
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +86 -92
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +6 -5
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/auditRunner.d.ts +16 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +67 -13
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +25 -0
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts +3 -1
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +42 -10
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/componentScanner.d.ts.map +1 -1
- package/dist/componentScanner.js +73 -4
- package/dist/componentScanner.js.map +1 -1
- package/dist/config/defaults.d.ts +0 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/dataPaths.d.ts +13 -7
- package/dist/dataPaths.d.ts.map +1 -1
- package/dist/dataPaths.js +22 -9
- package/dist/dataPaths.js.map +1 -1
- package/dist/fingerprint.d.ts +2 -11
- package/dist/fingerprint.d.ts.map +1 -1
- package/dist/fingerprint.js +3 -23
- package/dist/fingerprint.js.map +1 -1
- package/dist/languages/adapterBridge.d.ts.map +1 -1
- package/dist/languages/adapterBridge.js +3 -2
- package/dist/languages/adapterBridge.js.map +1 -1
- package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
- package/dist/reporting/jsonReportGenerator.js +30 -19
- package/dist/reporting/jsonReportGenerator.js.map +1 -1
- package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
- package/dist/reporting/sarifReportGenerator.js +8 -0
- package/dist/reporting/sarifReportGenerator.js.map +1 -1
- package/dist/scripts/runBench.d.ts.map +1 -1
- package/dist/scripts/runBench.js +10 -18
- package/dist/scripts/runBench.js.map +1 -1
- package/dist/services/SchemaParser.d.ts.map +1 -1
- package/dist/services/SchemaParser.js +9 -0
- package/dist/services/SchemaParser.js.map +1 -1
- package/dist/styles/styleIndexer.js +10 -1
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindConfigLoader.d.ts +6 -0
- package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
- package/dist/styles/tailwindConfigLoader.js +58 -16
- package/dist/styles/tailwindConfigLoader.js.map +1 -1
- package/dist/styles/tailwindProbe.d.ts +54 -7
- package/dist/styles/tailwindProbe.d.ts.map +1 -1
- package/dist/styles/tailwindProbe.js +188 -47
- package/dist/styles/tailwindProbe.js.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts +13 -0
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js +59 -0
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/types.d.ts +9 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/astParser.js +1 -1
- package/dist/utils/astParser.js.map +1 -1
- package/dist/utils/reactDetection.d.ts +12 -2
- package/dist/utils/reactDetection.d.ts.map +1 -1
- package/dist/utils/reactDetection.js +62 -15
- package/dist/utils/reactDetection.js.map +1 -1
- package/package.json +3 -2
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/skills/code-auditor/SKILL.md +38 -0
|
@@ -37,7 +37,7 @@ function isComponentName(name) {
|
|
|
37
37
|
/**
|
|
38
38
|
* Check if a hook name is a built-in React hook
|
|
39
39
|
*/
|
|
40
|
-
function isBuiltInHook(hookName) {
|
|
40
|
+
export function isBuiltInHook(hookName) {
|
|
41
41
|
const builtInHooks = [
|
|
42
42
|
'useState', 'useEffect', 'useContext', 'useReducer', 'useCallback',
|
|
43
43
|
'useMemo', 'useRef', 'useImperativeHandle', 'useLayoutEffect',
|
|
@@ -155,9 +155,15 @@ export function isClassComponent(node) {
|
|
|
155
155
|
// Hook extraction
|
|
156
156
|
// ---------------------------------------------------------------------------
|
|
157
157
|
/**
|
|
158
|
-
* Extract hooks usage from a component node
|
|
158
|
+
* Extract hooks usage from a component node.
|
|
159
|
+
*
|
|
160
|
+
* @param node The component AST node to scan for hook calls.
|
|
161
|
+
* @param hookUsingFns Optional set of function names declared in the file
|
|
162
|
+
* that call built-in hooks but don't start with 'use'.
|
|
163
|
+
* These are captured so checkHooksRules can flag the
|
|
164
|
+
* naming violation at the call site.
|
|
159
165
|
*/
|
|
160
|
-
export function extractHooks(node) {
|
|
166
|
+
export function extractHooks(node, hookUsingFns) {
|
|
161
167
|
const hooks = [];
|
|
162
168
|
// Find all call expressions in the component
|
|
163
169
|
const callExprs = findNodes(node, n => n.type === 'call_expression');
|
|
@@ -176,6 +182,34 @@ export function extractHooks(node) {
|
|
|
176
182
|
customHook: !isBuiltInHook(name)
|
|
177
183
|
});
|
|
178
184
|
}
|
|
185
|
+
else if (hookUsingFns && hookUsingFns.has(name)) {
|
|
186
|
+
// Capture calls to functions that use hooks internally but
|
|
187
|
+
// don't start with 'use' — these are hooks-naming violations.
|
|
188
|
+
const { line } = getLineAndColumn(callee);
|
|
189
|
+
hooks.push({
|
|
190
|
+
name,
|
|
191
|
+
line,
|
|
192
|
+
customHook: true
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else if (callee.type === 'member_expression') {
|
|
197
|
+
// React.useState, React.useEffect, etc.
|
|
198
|
+
// tree-sitter: member_expression = [identifier, '.', property_identifier]
|
|
199
|
+
const object = callee.children?.[0];
|
|
200
|
+
const property = callee.children?.find(c => c.type === 'property_identifier');
|
|
201
|
+
if (object && property &&
|
|
202
|
+
object.type === 'identifier' && rawText(object) === 'React') {
|
|
203
|
+
const name = rawText(property);
|
|
204
|
+
if (name.startsWith('use')) {
|
|
205
|
+
const { line } = getLineAndColumn(callee);
|
|
206
|
+
hooks.push({
|
|
207
|
+
name,
|
|
208
|
+
line,
|
|
209
|
+
customHook: !isBuiltInHook(name)
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
179
213
|
}
|
|
180
214
|
}
|
|
181
215
|
return hooks;
|
|
@@ -228,13 +262,19 @@ export function extractPropTypes(node) {
|
|
|
228
262
|
if (params) {
|
|
229
263
|
const firstParam = params.children?.[0];
|
|
230
264
|
if (firstParam) {
|
|
231
|
-
// Check for destructured parameter (object pattern)
|
|
232
|
-
|
|
233
|
-
|
|
265
|
+
// Check for destructured parameter (object pattern) — treesitter wraps
|
|
266
|
+
// destructured params in required_parameter, so look inside it.
|
|
267
|
+
const pattern = findChildOfType(firstParam, 'object_pattern') ??
|
|
268
|
+
findChildOfType(firstParam, 'object_binding_pattern');
|
|
269
|
+
if (pattern) {
|
|
270
|
+
for (const element of pattern.children ?? []) {
|
|
234
271
|
if (element.type !== 'binding_element' && element.type !== 'pair_pattern' &&
|
|
235
272
|
element.type !== 'shorthand_property_identifier_pattern')
|
|
236
273
|
continue;
|
|
237
|
-
|
|
274
|
+
// shorthand_property_identifier_pattern has no children — the name IS the node
|
|
275
|
+
const nameNode = element.type === 'shorthand_property_identifier_pattern'
|
|
276
|
+
? element
|
|
277
|
+
: element.children?.find(c => c.type === 'identifier' || c.type === 'property_identifier');
|
|
238
278
|
if (!nameNode)
|
|
239
279
|
continue;
|
|
240
280
|
const raw = element.raw;
|
|
@@ -258,12 +298,17 @@ export function extractPropTypes(node) {
|
|
|
258
298
|
if (params) {
|
|
259
299
|
const firstParam = params.children?.[0];
|
|
260
300
|
if (firstParam) {
|
|
261
|
-
// Check if parameter is destructured
|
|
262
|
-
|
|
263
|
-
|
|
301
|
+
// Check if parameter is destructured — tree-sitter wraps in required_parameter
|
|
302
|
+
const pattern = findChildOfType(firstParam, 'object_pattern') ??
|
|
303
|
+
findChildOfType(firstParam, 'object_binding_pattern');
|
|
304
|
+
if (pattern) {
|
|
305
|
+
for (const element of pattern.children ?? []) {
|
|
264
306
|
if (element.type !== 'binding_element' && element.type !== 'shorthand_property_identifier_pattern')
|
|
265
307
|
continue;
|
|
266
|
-
|
|
308
|
+
// shorthand_property_identifier_pattern has no children — the name IS the node
|
|
309
|
+
const nameNode = element.type === 'shorthand_property_identifier_pattern'
|
|
310
|
+
? element
|
|
311
|
+
: element.children?.find(c => c.type === 'identifier' || c.type === 'property_identifier');
|
|
267
312
|
if (!nameNode)
|
|
268
313
|
continue;
|
|
269
314
|
const raw = element.raw;
|
|
@@ -277,11 +322,13 @@ export function extractPropTypes(node) {
|
|
|
277
322
|
});
|
|
278
323
|
}
|
|
279
324
|
}
|
|
280
|
-
// Extract props from type annotation on parameter
|
|
325
|
+
// Extract props from type annotation on parameter.
|
|
326
|
+
// tree-sitter wraps type annotations as: ':' (anonymous) + the actual type node.
|
|
327
|
+
// children[0] is the ':' separator, not the type — find object_type specifically.
|
|
281
328
|
const typeAnnot = findChildOfType(firstParam, 'type_annotation');
|
|
282
|
-
if (typeAnnot
|
|
283
|
-
const typeNode = typeAnnot.children
|
|
284
|
-
if (typeNode
|
|
329
|
+
if (typeAnnot) {
|
|
330
|
+
const typeNode = typeAnnot.children?.find(c => c.type === 'object_type' || c.type === 'type_literal');
|
|
331
|
+
if (typeNode) {
|
|
285
332
|
props.push(...extractPropsFromTypeLiteral(typeNode));
|
|
286
333
|
}
|
|
287
334
|
// NOTE: type_reference (interface references) can't be resolved
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactDetection.js","sourceRoot":"","sources":["../../src/utils/reactDetection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reactDetection.js","sourceRoot":"","sources":["../../src/utils/reactDetection.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "code-auditor-mcp",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.9",
|
|
4
4
|
"description": "Architectural invariants and code quality analysis, enforced inside your AI agent's edit loop. MCP server + CLI + Claude Code plugin. TypeScript, JavaScript, Go.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,9 +28,10 @@
|
|
|
28
28
|
"generate": "node dist/cli.js generate-config",
|
|
29
29
|
"prepublishOnly": "pnpm run build",
|
|
30
30
|
"test": "vitest run",
|
|
31
|
+
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
31
32
|
"test:watch": "vitest watch",
|
|
32
33
|
"verify:dist": "bash scripts/verify-dist.sh",
|
|
33
|
-
"verify:close": "npm run test && npm run verify:dist",
|
|
34
|
+
"verify:close": "npm run test && npm run test:integration && npm run verify:dist",
|
|
34
35
|
"bench:workers": "tsx src/scripts/benchmarkWorkers.ts",
|
|
35
36
|
"bench": "node dist/scripts/runBench.js"
|
|
36
37
|
},
|
|
@@ -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": "3.4.
|
|
4
|
+
"version": "3.4.9",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Ben Hammond",
|
|
7
7
|
"email": "ben@benhammond.tech"
|
|
@@ -5,6 +5,9 @@ description: Audit code quality, search the codebase semantically, enforce invar
|
|
|
5
5
|
|
|
6
6
|
# Code Auditor Skill
|
|
7
7
|
|
|
8
|
+
> **Version 3.4.8** • Run `code-audit --version` to check your installed version.
|
|
9
|
+
> If versions differ, the CLI is authoritative — use `code-audit <command> --help` to see what your install actually supports.
|
|
10
|
+
|
|
8
11
|
You have the `code-audit` CLI available. It indexes every function, component, and struct in the codebase for semantic search and invariant enforcement. Use these commands instead of raw grep/find whenever possible.
|
|
9
12
|
|
|
10
13
|
## When to use which command
|
|
@@ -138,6 +141,39 @@ code-audit conventions propose --json # JSON proposal array
|
|
|
138
141
|
|
|
139
142
|
All convention violations ship at `suggestion` severity by default. Promote them with `severityOverrides` if your team treats them as blocking.
|
|
140
143
|
|
|
144
|
+
### `code-audit hotspots` — identify churn-prone code
|
|
145
|
+
|
|
146
|
+
Hotspots combine version-control churn with code complexity to identify files and functions that have changed frequently and are structurally complex — the strongest predictor of defect density.
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
code-audit hotspots # Rank files and functions by hotspot score
|
|
150
|
+
code-audit hotspots --limit 10 # Top 10 hotspots only
|
|
151
|
+
code-audit hotspots --path . # Trigger on-demand churn extraction if index is empty
|
|
152
|
+
code-audit hotspots --json # Machine-readable JSON output
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
On first use, run with `--path <dir>` to trigger on-demand churn extraction from git history. If no git repository is available, hotspots gracefully fall back with a warning. Hotspot data persists in the code index across sessions — subsequent runs don't need `--path` unless the git history has changed.
|
|
156
|
+
|
|
157
|
+
Terminal output shows each hotspot's type (file/function), score bar, commit count, author count, and a bus-factor warning when one author owns most changes. JSON output fields: `target`, `type`, `score`, `churnPercentile`, `complexityPercentile`, `commitCount`, `distinctAuthors`, `dominantAuthor`, `dominantAuthorShare`, `busFactorRisk`, `complexity`.
|
|
158
|
+
|
|
159
|
+
### `code-audit risk` — rank functions by architectural risk
|
|
160
|
+
|
|
161
|
+
Computes a composite risk score from call-graph centrality (PageRank and betweenness), code complexity, and test coverage status. High-risk functions sit at the intersection of "many things depend on this" and "this is complex" — they carry high blast radius when changed.
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
code-audit risk # Rank top 20 functions by architectural risk
|
|
165
|
+
code-audit risk --limit 50 # Top 50 functions
|
|
166
|
+
code-audit risk --path . # Target project directory
|
|
167
|
+
code-audit risk --json # Machine-readable JSON output
|
|
168
|
+
code-audit risk --format dot # Emit DOT call-graph for top functions
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Use `--format dot` to generate a directed call-graph diagram (Graphviz DOT format) of the neighborhood around the top-risk functions. Pipe to `dot -Tsvg > graph.svg` for visualization.
|
|
172
|
+
|
|
173
|
+
Terminal output shows rank, function name, file path, PageRank percentile, betweenness percentile, complexity percentile, untested status, and composite risk score. JSON output fields: `functionName`, `filePath`, `pageRankPercentile`, `betweennessPercentile`, `complexityPercentile`, `untested`, `riskScore`.
|
|
174
|
+
|
|
175
|
+
> **Release checklist**: When bumping the version on a release, update the version stamp on line 8 of all three canonical SKILL.md copies. `npm run verify:close` gates on test + integration + dist verification — the tag cannot move without all three green.
|
|
176
|
+
|
|
141
177
|
## Interpreting hook feedback
|
|
142
178
|
|
|
143
179
|
When an edit hook blocks your edit with a violation message:
|
|
@@ -174,5 +210,7 @@ The hook auto-installs the package via npx on first use — no manual npm step n
|
|
|
174
210
|
| Codebase map | `code-audit map -p .` |
|
|
175
211
|
| Mine conventions | `code-audit conventions list` |
|
|
176
212
|
| Propose convention rules | `code-audit conventions propose` |
|
|
213
|
+
| Identify hotspots | `code-audit hotspots` |
|
|
214
|
+
| Architectural risk | `code-audit risk` |
|
|
177
215
|
| Rule reference | See `SKILL-RULE-KINDS.md` |
|
|
178
216
|
| Search reference | See `SKILL-SEARCH.md` |
|