claude-crap 0.4.1 → 0.4.2
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/README.md +8 -7
- package/dist/crap-config.d.ts +3 -1
- package/dist/crap-config.d.ts.map +1 -1
- package/dist/crap-config.js +4 -2
- package/dist/crap-config.js.map +1 -1
- package/dist/shared/exclusions.d.ts.map +1 -1
- package/dist/shared/exclusions.js +8 -0
- package/dist/shared/exclusions.js.map +1 -1
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/bundle/mcp-server.mjs +9 -1
- package/plugin/bundle/mcp-server.mjs.map +2 -2
- package/plugin/hooks/lib/crap-config.mjs +1 -1
- package/plugin/hooks/lib/quality-gate.mjs +16 -13
- package/plugin/package-lock.json +2 -2
- package/plugin/package.json +1 -1
- package/src/crap-config.ts +4 -2
- package/src/shared/exclusions.ts +9 -0
- package/src/tests/crap-config.test.ts +4 -4
- package/src/tests/exclusions.test.ts +1 -1
- package/src/tests/stop-quality-gate-strictness.test.ts +3 -4
package/README.md
CHANGED
|
@@ -62,15 +62,16 @@ automatically — no further setup required.
|
|
|
62
62
|
|
|
63
63
|
## Configuration
|
|
64
64
|
|
|
65
|
-
> **Default: `
|
|
66
|
-
>
|
|
65
|
+
> **Default: `warn`.** No config file needed. The Stop gate
|
|
66
|
+
> shows all violations but lets tasks close. Teams that want
|
|
67
|
+
> hard enforcement can set `"strict"` in `.claude-crap.json`.
|
|
67
68
|
|
|
68
69
|
The `strictness` value controls how the Stop gate reacts to failures:
|
|
69
70
|
|
|
70
71
|
| Mode | Stop exit | Effect |
|
|
71
72
|
| :--------- | :-------: | :------------------------------------------------------------- |
|
|
72
|
-
| `strict` | `2` | Task cannot close until rules pass.
|
|
73
|
-
| `warn` | `0` | Full verdict visible to agent, but task closes.
|
|
73
|
+
| `strict` | `2` | Task cannot close until rules pass. |
|
|
74
|
+
| `warn` | `0` | Full verdict visible to agent, but task closes. **Default.** |
|
|
74
75
|
| `advisory` | `0` | Single-line nudge only. |
|
|
75
76
|
|
|
76
77
|
Override per workspace:
|
|
@@ -78,13 +79,13 @@ Override per workspace:
|
|
|
78
79
|
```jsonc
|
|
79
80
|
// .claude-crap.json — commit to git for team-wide policy
|
|
80
81
|
{
|
|
81
|
-
"strictness": "
|
|
82
|
+
"strictness": "strict"
|
|
82
83
|
}
|
|
83
84
|
```
|
|
84
85
|
|
|
85
|
-
Or per session: `CLAUDE_CRAP_STRICTNESS=
|
|
86
|
+
Or per session: `CLAUDE_CRAP_STRICTNESS=strict claude`
|
|
86
87
|
|
|
87
|
-
**Precedence:** env var > `.claude-crap.json` > hardcoded `
|
|
88
|
+
**Precedence:** env var > `.claude-crap.json` > hardcoded `warn`.
|
|
88
89
|
|
|
89
90
|
See [docs/quality-gate.md](./docs/quality-gate.md) for the full
|
|
90
91
|
CRAP formula, TDR formula, letter ratings, and adoption strategy.
|
package/dist/crap-config.d.ts
CHANGED
|
@@ -47,7 +47,9 @@ export type Strictness = (typeof STRICTNESS_VALUES)[number];
|
|
|
47
47
|
/**
|
|
48
48
|
* Hardcoded default used when neither the environment variable nor
|
|
49
49
|
* `.claude-crap.json` provides a value. Chosen as `"strict"` so the
|
|
50
|
-
* plugin
|
|
50
|
+
* plugin adopts gradually on existing codebases without blocking.
|
|
51
|
+
* Teams that want hard enforcement can set `"strict"` in
|
|
52
|
+
* `.claude-crap.json` or via `CLAUDE_CRAP_STRICTNESS=strict`.
|
|
51
53
|
*/
|
|
52
54
|
export declare const DEFAULT_STRICTNESS: Strictness;
|
|
53
55
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crap-config.d.ts","sourceRoot":"","sources":["../src/crap-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAKH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,yCAA0C,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"crap-config.d.ts","sourceRoot":"","sources":["../src/crap-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAKH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,yCAA0C,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,UAAmB,CAAC;AAErD;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,UAAU,CAwBzE"}
|
package/dist/crap-config.js
CHANGED
|
@@ -43,9 +43,11 @@ export const STRICTNESS_VALUES = ["strict", "warn", "advisory"];
|
|
|
43
43
|
/**
|
|
44
44
|
* Hardcoded default used when neither the environment variable nor
|
|
45
45
|
* `.claude-crap.json` provides a value. Chosen as `"strict"` so the
|
|
46
|
-
* plugin
|
|
46
|
+
* plugin adopts gradually on existing codebases without blocking.
|
|
47
|
+
* Teams that want hard enforcement can set `"strict"` in
|
|
48
|
+
* `.claude-crap.json` or via `CLAUDE_CRAP_STRICTNESS=strict`.
|
|
47
49
|
*/
|
|
48
|
-
export const DEFAULT_STRICTNESS = "
|
|
50
|
+
export const DEFAULT_STRICTNESS = "warn";
|
|
49
51
|
/**
|
|
50
52
|
* Thrown by {@link loadCrapConfig} when the configuration is
|
|
51
53
|
* rejected. Callers in the hook layer fall back to the default on a
|
package/dist/crap-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crap-config.js","sourceRoot":"","sources":["../src/crap-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AASzE
|
|
1
|
+
{"version":3,"file":"crap-config.js","sourceRoot":"","sources":["../src/crap-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exclusions.d.ts","sourceRoot":"","sources":["../../src/shared/exclusions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"exclusions.d.ts","sourceRoot":"","sources":["../../src/shared/exclusions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAmDhD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAOvD,CAAC;AAIF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,qEAAqE;IACrE,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CACjE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GACrC,eAAe,CA2CjB"}
|
|
@@ -52,8 +52,16 @@ export const DEFAULT_SKIP_DIRS = new Set([
|
|
|
52
52
|
".gradle", // Gradle
|
|
53
53
|
// IDE state
|
|
54
54
|
".idea",
|
|
55
|
+
// Plugin infrastructure (excluded so the plugin's own hook/bundle
|
|
56
|
+
// files don't pollute workspace metrics when developing the plugin
|
|
57
|
+
// itself, and don't appear in scans of any project)
|
|
58
|
+
"plugin",
|
|
59
|
+
"hooks",
|
|
60
|
+
"skills",
|
|
55
61
|
// Plugin state
|
|
56
62
|
".claude-crap",
|
|
63
|
+
".claude-plugin",
|
|
64
|
+
".claude-sonar",
|
|
57
65
|
".codesight",
|
|
58
66
|
]);
|
|
59
67
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exclusions.js","sourceRoot":"","sources":["../../src/shared/exclusions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exclusions.js","sourceRoot":"","sources":["../../src/shared/exclusions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,mEAAmE;AAEnE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,mCAAmC;IACnC,cAAc;IACd,QAAQ;IAER,kBAAkB;IAClB,MAAM;IAEN,0BAA0B;IAC1B,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,UAAU;IAEV,0BAA0B;IAC1B,OAAO,EAAS,UAAU;IAC1B,OAAO,EAAS,SAAS;IACzB,SAAS,EAAO,SAAS;IACzB,SAAS,EAAO,SAAS;IACzB,aAAa,EAAG,YAAY;IAC5B,QAAQ,EAAQ,QAAQ;IACxB,UAAU,EAAM,UAAU;IAC1B,QAAQ,EAAQ,YAAY;IAC5B,eAAe,EAAC,SAAS;IACzB,OAAO,EAAS,sBAAsB;IAEtC,2BAA2B;IAC3B,OAAO;IACP,MAAM;IACN,aAAa;IACb,QAAQ;IACR,YAAY,EAAI,iBAAiB;IACjC,SAAS,EAAO,SAAS;IAEzB,YAAY;IACZ,OAAO;IAEP,kEAAkE;IAClE,mEAAmE;IACnE,oDAAoD;IACpD,QAAQ;IACR,OAAO;IACP,QAAQ;IAER,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,YAAY;CACb,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,aAAa;IACb,YAAY;CACb,CAAC;AAeF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAsC;IAEtC,+DAA+D;IAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,OAAO,IAAI,cAAc,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1D,SAAS,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAC5B,CAAC;IACF,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,SAAS,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAC5B,CAAC;IAEF,OAAO;QACL,aAAa,CAAC,OAAe;YAC3B,8DAA8D;YAC9D,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBAC5D,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;YAChD,CAAC;YACD,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,cAAc,CAAC,YAAoB,EAAE,QAAgB;YACnD,2DAA2D;YAC3D,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAC;YACrC,CAAC;YACD,8DAA8D;YAC9D,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC9D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://code.claude.com/schemas/plugin.json",
|
|
3
3
|
"name": "claude-crap",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.2",
|
|
5
5
|
"description": "Deterministic Quality Assurance plugin for Claude Code. Wraps every Write / Edit / Bash tool call with a PreToolUse gatekeeper, a PostToolUse verifier, and a Stop quality gate backed by CRAP index, Technical Debt Ratio, tree-sitter AST metrics, and SARIF 2.1.0 reports. Forbids the agent from writing functional code before a test safety net exists.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Alan Hernandez",
|
|
@@ -7440,8 +7440,16 @@ var DEFAULT_SKIP_DIRS = /* @__PURE__ */ new Set([
|
|
|
7440
7440
|
// Gradle
|
|
7441
7441
|
// IDE state
|
|
7442
7442
|
".idea",
|
|
7443
|
+
// Plugin infrastructure (excluded so the plugin's own hook/bundle
|
|
7444
|
+
// files don't pollute workspace metrics when developing the plugin
|
|
7445
|
+
// itself, and don't appear in scans of any project)
|
|
7446
|
+
"plugin",
|
|
7447
|
+
"hooks",
|
|
7448
|
+
"skills",
|
|
7443
7449
|
// Plugin state
|
|
7444
7450
|
".claude-crap",
|
|
7451
|
+
".claude-plugin",
|
|
7452
|
+
".claude-sonar",
|
|
7445
7453
|
".codesight"
|
|
7446
7454
|
]);
|
|
7447
7455
|
var DEFAULT_SKIP_PATTERNS = [
|
|
@@ -8426,7 +8434,7 @@ function validateSarifDocument(doc) {
|
|
|
8426
8434
|
import { readFileSync as readFileSync2 } from "node:fs";
|
|
8427
8435
|
import { join as join5 } from "node:path";
|
|
8428
8436
|
var STRICTNESS_VALUES = ["strict", "warn", "advisory"];
|
|
8429
|
-
var DEFAULT_STRICTNESS = "
|
|
8437
|
+
var DEFAULT_STRICTNESS = "warn";
|
|
8430
8438
|
var CrapConfigError = class extends Error {
|
|
8431
8439
|
constructor(message) {
|
|
8432
8440
|
super(message);
|