plumbbob 0.8.14 → 0.8.17
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/plugin.json +1 -1
- package/dist/lib/agents.js +1 -1
- package/dist/lib/check.js +9 -6
- package/node_modules/checkride/CHANGELOG.md +234 -0
- package/node_modules/checkride/README.md +134 -31
- package/node_modules/checkride/dist/adapters.d.ts +50 -1
- package/node_modules/checkride/dist/adapters.d.ts.map +1 -1
- package/node_modules/checkride/dist/adapters.js +123 -7
- package/node_modules/checkride/dist/adapters.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/hook.d.ts.map +1 -1
- package/node_modules/checkride/dist/agent-setup/hook.js +15 -1
- package/node_modules/checkride/dist/agent-setup/hook.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/index.d.ts +0 -1
- package/node_modules/checkride/dist/agent-setup/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/agent-setup/index.js.map +1 -1
- package/node_modules/checkride/dist/baseline/fallow.d.ts +64 -0
- package/node_modules/checkride/dist/baseline/fallow.d.ts.map +1 -0
- package/node_modules/checkride/dist/baseline/fallow.js +256 -0
- package/node_modules/checkride/dist/baseline/fallow.js.map +1 -0
- package/node_modules/checkride/dist/baseline/fingerprint.d.ts +4 -6
- package/node_modules/checkride/dist/baseline/fingerprint.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/fingerprint.js +9 -4
- package/node_modules/checkride/dist/baseline/fingerprint.js.map +1 -1
- package/node_modules/checkride/dist/baseline/index.d.ts +4 -5
- package/node_modules/checkride/dist/baseline/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/index.js +2 -2
- package/node_modules/checkride/dist/baseline/index.js.map +1 -1
- package/node_modules/checkride/dist/{baseline/command.d.ts → baseline-command.d.ts} +11 -9
- package/node_modules/checkride/dist/baseline-command.d.ts.map +1 -0
- package/node_modules/checkride/dist/{baseline/command.js → baseline-command.js} +9 -7
- package/node_modules/checkride/dist/baseline-command.js.map +1 -0
- package/node_modules/checkride/dist/cli.d.ts.map +1 -1
- package/node_modules/checkride/dist/cli.js +95 -8
- package/node_modules/checkride/dist/cli.js.map +1 -1
- package/node_modules/checkride/dist/config.d.ts +37 -12
- package/node_modules/checkride/dist/config.d.ts.map +1 -1
- package/node_modules/checkride/dist/config.js +268 -60
- package/node_modules/checkride/dist/config.js.map +1 -1
- package/node_modules/checkride/dist/digest/digest.d.ts +0 -6
- package/node_modules/checkride/dist/digest/digest.d.ts.map +1 -1
- package/node_modules/checkride/dist/digest/digest.js +3 -3
- package/node_modules/checkride/dist/digest/digest.js.map +1 -1
- package/node_modules/checkride/dist/digest/index.d.ts +1 -2
- package/node_modules/checkride/dist/digest/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/digest/index.js +1 -1
- package/node_modules/checkride/dist/digest/index.js.map +1 -1
- package/node_modules/checkride/dist/doctor.d.ts +14 -1
- package/node_modules/checkride/dist/doctor.d.ts.map +1 -1
- package/node_modules/checkride/dist/doctor.js +124 -55
- package/node_modules/checkride/dist/doctor.js.map +1 -1
- package/node_modules/checkride/dist/init.d.ts +6 -0
- package/node_modules/checkride/dist/init.d.ts.map +1 -1
- package/node_modules/checkride/dist/init.js +347 -121
- package/node_modules/checkride/dist/init.js.map +1 -1
- package/node_modules/checkride/dist/links.d.ts.map +1 -1
- package/node_modules/checkride/dist/links.js +8 -9
- package/node_modules/checkride/dist/links.js.map +1 -1
- package/node_modules/checkride/dist/orchestrator.d.ts +56 -1
- package/node_modules/checkride/dist/orchestrator.d.ts.map +1 -1
- package/node_modules/checkride/dist/orchestrator.js +506 -138
- package/node_modules/checkride/dist/orchestrator.js.map +1 -1
- package/node_modules/checkride/dist/pack.d.ts +76 -0
- package/node_modules/checkride/dist/pack.d.ts.map +1 -0
- package/node_modules/checkride/dist/pack.js +217 -0
- package/node_modules/checkride/dist/pack.js.map +1 -0
- package/node_modules/checkride/dist/pm/translate.d.ts +18 -10
- package/node_modules/checkride/dist/pm/translate.d.ts.map +1 -1
- package/node_modules/checkride/dist/pm/translate.js +27 -13
- package/node_modules/checkride/dist/pm/translate.js.map +1 -1
- package/node_modules/checkride/dist/smoke.d.ts +86 -0
- package/node_modules/checkride/dist/smoke.d.ts.map +1 -0
- package/node_modules/checkride/dist/smoke.js +346 -0
- package/node_modules/checkride/dist/smoke.js.map +1 -0
- package/node_modules/checkride/dist/snippets.d.ts +215 -0
- package/node_modules/checkride/dist/snippets.d.ts.map +1 -0
- package/node_modules/checkride/dist/snippets.js +360 -0
- package/node_modules/checkride/dist/snippets.js.map +1 -0
- package/node_modules/checkride/package.json +4 -2
- package/node_modules/checkride/schema/checkride.config.schema.json +11 -6
- package/package.json +3 -2
- package/node_modules/checkride/dist/baseline/command.d.ts.map +0 -1
- package/node_modules/checkride/dist/baseline/command.js.map +0 -1
|
@@ -12,6 +12,17 @@
|
|
|
12
12
|
*/
|
|
13
13
|
/** The aggregate-report schema version written to `.check/summary.json`. */
|
|
14
14
|
export declare const SCHEMA_VERSION = 1;
|
|
15
|
+
/**
|
|
16
|
+
* A check's scheduling order. Numbers form a single ascending line — equal
|
|
17
|
+
* values run together as one concurrent wave, decimals sequence steps within a
|
|
18
|
+
* wave (`1` before `1.1`), a barrier sits between distinct values. The five
|
|
19
|
+
* keywords place a check relative to that line: `'first'`/`'last'` before/after
|
|
20
|
+
* everything, `'single'` exclusively on its own (after the numeric line, before
|
|
21
|
+
* `'last'`), and `'middle'`/`'any'` unordered in the main group. Effective order
|
|
22
|
+
* resolves config `order` ?? `Adapter.order` ?? `Slot.order` ?? `'any'`.
|
|
23
|
+
*/
|
|
24
|
+
export type OrderString = 'first' | 'last' | 'middle' | 'single' | 'any';
|
|
25
|
+
export type Order = number | OrderString;
|
|
15
26
|
/** A role in the pipeline. */
|
|
16
27
|
export type Slot = {
|
|
17
28
|
/** Stable slot name, e.g. `'lint'`. Used by `--only`/`--skip` and the report. */
|
|
@@ -22,6 +33,11 @@ export type Slot = {
|
|
|
22
33
|
* entry opts you in — see `resolveChecks`/`selectChecks`).
|
|
23
34
|
*/
|
|
24
35
|
optIn?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Default scheduling order for this slot — the lowest-precedence source, which
|
|
38
|
+
* config and adapter overrides beat. Omitted means `'any'` (the main group).
|
|
39
|
+
*/
|
|
40
|
+
order?: Order;
|
|
25
41
|
};
|
|
26
42
|
/** A concrete tool that can fill a slot. */
|
|
27
43
|
export type Adapter = {
|
|
@@ -33,6 +49,19 @@ export type Adapter = {
|
|
|
33
49
|
description: string;
|
|
34
50
|
/** Config files whose presence activates this adapter. `[]` = always available. */
|
|
35
51
|
detect: string[];
|
|
52
|
+
/**
|
|
53
|
+
* Detection by package script: the slot is available when `scripts.<name>`
|
|
54
|
+
* exists in package.json. `build` uses `scripts.build` — an opted-in `build`
|
|
55
|
+
* on a repo with no build script stands down as a skip, never a red check (D18).
|
|
56
|
+
*/
|
|
57
|
+
detectScript?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Backup detection signal: the slot activates when a `detect` file exists OR
|
|
60
|
+
* one of these packages appears in dependencies/devDependencies. Populated only
|
|
61
|
+
* on adapters whose tool runs correctly with zero config (D18), so a repo that
|
|
62
|
+
* installed the tool but never wrote its config file still opts in.
|
|
63
|
+
*/
|
|
64
|
+
detectDeps?: string[];
|
|
36
65
|
/** Command to spawn (usually `'pnpm'`). Ignored when `builtin` is set. */
|
|
37
66
|
command: string;
|
|
38
67
|
/** Arguments to the command. Ignored when `builtin` is set. */
|
|
@@ -47,10 +76,30 @@ export type Adapter = {
|
|
|
47
76
|
timeout?: number;
|
|
48
77
|
/** In-process check id (e.g. `'links'`); when set, the orchestrator runs it directly. */
|
|
49
78
|
builtin?: string;
|
|
79
|
+
/**
|
|
80
|
+
* When set, checkride derives this adapter's pass/fail from its parsed JSON
|
|
81
|
+
* output instead of its process exit code. Only `'fallow'` today: fallow's
|
|
82
|
+
* exit code doesn't reliably gate (combined mode and `dupes` exit 0 even with
|
|
83
|
+
* findings), so the verdict is read from the report's issue count — see
|
|
84
|
+
* `baseline/fallow.ts`. The exit code is still recorded in the report.
|
|
85
|
+
*/
|
|
86
|
+
gate?: 'fallow';
|
|
87
|
+
/**
|
|
88
|
+
* Scheduling order override for this adapter, beating the slot's default (used
|
|
89
|
+
* when one slot carries adapters that schedule differently). Omitted defers to
|
|
90
|
+
* the slot.
|
|
91
|
+
*/
|
|
92
|
+
order?: Order;
|
|
50
93
|
/** Pinned versions `init` writes into package.json. */
|
|
51
94
|
devDeps: Record<string, string>;
|
|
52
95
|
};
|
|
53
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* Pipeline catalogue in cheapest-first order — the within-wave tie-break and the
|
|
98
|
+
* full `--bail` sequence. Most slots take the default `'any'` wave; `mutation`
|
|
99
|
+
* runs exclusively (`'single'`) because stryker saturates every core, `build`
|
|
100
|
+
* runs in wave 10, and the artifact checks (`publint`/`attw`) share wave 20 so
|
|
101
|
+
* the build precedes them. See `config.ts` for how effective order resolves and sorts.
|
|
102
|
+
*/
|
|
54
103
|
export declare const SLOTS: readonly Slot[];
|
|
55
104
|
/**
|
|
56
105
|
* Adapter registry. The FIRST adapter for a slot is its blessed default: it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,8BAA8B;AAC9B,MAAM,MAAM,IAAI,GAAG;IACjB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AACzE,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;AAEzC,8BAA8B;AAC9B,MAAM,MAAM,IAAI,GAAG;IACjB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,OAAO,GAAG;IACpB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qFAAqF;IACrF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oIAAoI;IACpI,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,IAAI,EAoBhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EA0VtC,CAAC"}
|
|
@@ -12,21 +12,33 @@
|
|
|
12
12
|
*/
|
|
13
13
|
/** The aggregate-report schema version written to `.check/summary.json`. */
|
|
14
14
|
export const SCHEMA_VERSION = 1;
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Pipeline catalogue in cheapest-first order — the within-wave tie-break and the
|
|
17
|
+
* full `--bail` sequence. Most slots take the default `'any'` wave; `mutation`
|
|
18
|
+
* runs exclusively (`'single'`) because stryker saturates every core, `build`
|
|
19
|
+
* runs in wave 10, and the artifact checks (`publint`/`attw`) share wave 20 so
|
|
20
|
+
* the build precedes them. See `config.ts` for how effective order resolves and sorts.
|
|
21
|
+
*/
|
|
16
22
|
export const SLOTS = [
|
|
17
23
|
{ name: 'types' },
|
|
18
24
|
{ name: 'format', optIn: true },
|
|
19
25
|
{ name: 'lint' },
|
|
20
26
|
{ name: 'struct' },
|
|
21
27
|
{ name: 'dead' },
|
|
28
|
+
{ name: 'dupes', optIn: true },
|
|
29
|
+
{ name: 'health', optIn: true },
|
|
22
30
|
{ name: 'test' },
|
|
23
31
|
{ name: 'docs' },
|
|
24
32
|
{ name: 'links' },
|
|
25
33
|
{ name: 'spell' },
|
|
26
|
-
{ name: 'mutation', optIn: true },
|
|
34
|
+
{ name: 'mutation', optIn: true, order: 'single' },
|
|
27
35
|
{ name: 'security', optIn: true },
|
|
28
|
-
{ name: '
|
|
29
|
-
{ name: '
|
|
36
|
+
{ name: 'build', optIn: true, order: 10 },
|
|
37
|
+
{ name: 'publint', optIn: true, order: 20 },
|
|
38
|
+
{ name: 'attw', optIn: true, order: 20 },
|
|
39
|
+
{ name: 'pack', optIn: true, order: 20 },
|
|
40
|
+
{ name: 'smoke', optIn: true, order: 20 },
|
|
41
|
+
{ name: 'snippets', optIn: true },
|
|
30
42
|
];
|
|
31
43
|
/**
|
|
32
44
|
* Adapter registry. The FIRST adapter for a slot is its blessed default: it
|
|
@@ -63,6 +75,7 @@ export const ADAPTERS = [
|
|
|
63
75
|
'prettier.config.mjs',
|
|
64
76
|
'prettier.config.ts',
|
|
65
77
|
],
|
|
78
|
+
detectDeps: ['prettier'],
|
|
66
79
|
command: 'pnpm',
|
|
67
80
|
args: ['exec', 'prettier', '--check', '.'],
|
|
68
81
|
outputFile: null,
|
|
@@ -85,6 +98,7 @@ export const ADAPTERS = [
|
|
|
85
98
|
slot: 'lint',
|
|
86
99
|
description: 'Oxlint with tsgolint type-aware rules',
|
|
87
100
|
detect: ['.oxlintrc.json'],
|
|
101
|
+
detectDeps: ['oxlint'],
|
|
88
102
|
command: 'pnpm',
|
|
89
103
|
args: ['exec', 'oxlint', '--type-aware', '--format=json'],
|
|
90
104
|
outputFile: 'lint.json',
|
|
@@ -134,30 +148,58 @@ export const ADAPTERS = [
|
|
|
134
148
|
{
|
|
135
149
|
name: 'fallow',
|
|
136
150
|
slot: 'dead',
|
|
137
|
-
description: 'Fallow:
|
|
151
|
+
description: 'Fallow: unused code, cycles, and boundary violations (dead-code)',
|
|
138
152
|
detect: ['fallow.toml'],
|
|
139
153
|
command: 'pnpm',
|
|
140
|
-
|
|
154
|
+
// Per-analysis subcommand, not combined `fallow`: only the subcommands emit a
|
|
155
|
+
// single-kind report, and checkride reads the issue count out of it to gate
|
|
156
|
+
// (fallow's own exit code is unreliable — see `gate` and `baseline/fallow.ts`).
|
|
157
|
+
args: ['exec', 'fallow', 'dead-code', '--format', 'json', '--quiet'],
|
|
141
158
|
outputFile: 'dead.json',
|
|
159
|
+
gate: 'fallow',
|
|
142
160
|
fixArgs: ['exec', 'fallow', 'fix'],
|
|
143
|
-
devDeps: { fallow: '
|
|
161
|
+
devDeps: { fallow: '3.5.0' },
|
|
144
162
|
},
|
|
145
163
|
{
|
|
146
164
|
name: 'knip',
|
|
147
165
|
slot: 'dead',
|
|
148
166
|
description: 'Knip: unused files, exports, and dependencies',
|
|
149
167
|
detect: ['knip.json', 'knip.jsonc', '.knip.json', 'knip.config.ts', 'knip.config.js'],
|
|
168
|
+
detectDeps: ['knip'],
|
|
150
169
|
command: 'pnpm',
|
|
151
170
|
args: ['exec', 'knip', '--reporter', 'json'],
|
|
152
171
|
outputFile: 'dead.json',
|
|
153
172
|
fixArgs: ['exec', 'knip', '--fix'],
|
|
154
173
|
devDeps: { knip: '5.64.0' },
|
|
155
174
|
},
|
|
175
|
+
{
|
|
176
|
+
name: 'fallow',
|
|
177
|
+
slot: 'dupes',
|
|
178
|
+
description: 'Fallow: code duplication (clones)',
|
|
179
|
+
detect: ['fallow.toml'],
|
|
180
|
+
command: 'pnpm',
|
|
181
|
+
args: ['exec', 'fallow', 'dupes', '--format', 'json', '--quiet'],
|
|
182
|
+
outputFile: 'dupes.json',
|
|
183
|
+
gate: 'fallow',
|
|
184
|
+
devDeps: { fallow: '3.5.0' },
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: 'fallow',
|
|
188
|
+
slot: 'health',
|
|
189
|
+
description: 'Fallow: complexity & maintainability (health)',
|
|
190
|
+
detect: ['fallow.toml'],
|
|
191
|
+
command: 'pnpm',
|
|
192
|
+
args: ['exec', 'fallow', 'health', '--format', 'json', '--quiet'],
|
|
193
|
+
outputFile: 'health.json',
|
|
194
|
+
gate: 'fallow',
|
|
195
|
+
devDeps: { fallow: '3.5.0' },
|
|
196
|
+
},
|
|
156
197
|
{
|
|
157
198
|
name: 'vitest',
|
|
158
199
|
slot: 'test',
|
|
159
200
|
description: 'Vitest tests with coverage',
|
|
160
201
|
detect: ['vitest.config.ts', 'vitest.config.js', 'vitest.config.mjs', 'vitest.config.mts'],
|
|
202
|
+
detectDeps: ['vitest'],
|
|
161
203
|
command: 'pnpm',
|
|
162
204
|
args: [
|
|
163
205
|
'exec', 'vitest', 'run',
|
|
@@ -227,6 +269,7 @@ export const ADAPTERS = [
|
|
|
227
269
|
'cspell.config.cjs',
|
|
228
270
|
'cspell.config.mjs',
|
|
229
271
|
],
|
|
272
|
+
detectDeps: ['cspell'],
|
|
230
273
|
command: 'pnpm',
|
|
231
274
|
args: ['exec', 'cspell', '--no-progress', '--no-summary', '--reporter=default'],
|
|
232
275
|
outputFile: null,
|
|
@@ -239,6 +282,10 @@ export const ADAPTERS = [
|
|
|
239
282
|
detect: ['stryker.config.mjs', 'stryker.config.json', 'stryker.conf.json', 'stryker.conf.js'],
|
|
240
283
|
command: 'pnpm',
|
|
241
284
|
args: ['exec', 'stryker', 'run'],
|
|
285
|
+
// Ships uncapped (`0`). A real mutation run legitimately takes 15–20 min, past
|
|
286
|
+
// the 600s default cap; `mutation` is opt-in and never in the definition-of-done
|
|
287
|
+
// gate the cap protects, so it runs to completion rather than tripping a timeout.
|
|
288
|
+
timeout: 0,
|
|
242
289
|
outputFile: null,
|
|
243
290
|
devDeps: {
|
|
244
291
|
'@stryker-mutator/core': '9.6.1',
|
|
@@ -255,6 +302,18 @@ export const ADAPTERS = [
|
|
|
255
302
|
outputFile: 'security.json',
|
|
256
303
|
devDeps: {},
|
|
257
304
|
},
|
|
305
|
+
{
|
|
306
|
+
name: 'build',
|
|
307
|
+
slot: 'build',
|
|
308
|
+
description: "Build the package (runs the consumer's build script)",
|
|
309
|
+
// No config file to detect — availability rides on `scripts.build` (D13/D18).
|
|
310
|
+
detect: [],
|
|
311
|
+
detectScript: 'build',
|
|
312
|
+
command: 'pnpm',
|
|
313
|
+
args: ['run', 'build'],
|
|
314
|
+
outputFile: null,
|
|
315
|
+
devDeps: {},
|
|
316
|
+
},
|
|
258
317
|
{
|
|
259
318
|
name: 'publint',
|
|
260
319
|
slot: 'publint',
|
|
@@ -275,5 +334,62 @@ export const ADAPTERS = [
|
|
|
275
334
|
outputFile: 'attw.json',
|
|
276
335
|
devDeps: { '@arethetypeswrong/cli': '0.18.4' },
|
|
277
336
|
},
|
|
337
|
+
{
|
|
338
|
+
name: 'pack',
|
|
339
|
+
slot: 'pack',
|
|
340
|
+
description: 'Pack dry-run: the tarball ships the required files and none of the forbidden ones',
|
|
341
|
+
detect: [],
|
|
342
|
+
// `command`/`args` are the availability signature (`isAvailableUnder` gates
|
|
343
|
+
// pack to npm/pnpm, mirroring the pnpm-only `security` slot; D10). The real
|
|
344
|
+
// per-PM invocation — including the manager-specific ignore-scripts flag —
|
|
345
|
+
// lives in `pack.ts`'s `packInvocation`, since this is a built-in.
|
|
346
|
+
command: 'pnpm',
|
|
347
|
+
args: ['pack', '--dry-run', '--json'],
|
|
348
|
+
outputFile: 'pack.json',
|
|
349
|
+
builtin: 'pack',
|
|
350
|
+
devDeps: {},
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
name: 'smoke',
|
|
354
|
+
slot: 'smoke',
|
|
355
|
+
description: 'Smoke import: the built package loads and its declared value exports are live',
|
|
356
|
+
detect: [],
|
|
357
|
+
// Built-in liveness probe (D9). Like `links`, it spawns a plain `node` — no
|
|
358
|
+
// package manager, no checked tool — so it is available under every PM. The
|
|
359
|
+
// real work (enumerate `exports`, scan the dist `.d.ts`, spawn the probe)
|
|
360
|
+
// lives in `smoke.ts`.
|
|
361
|
+
command: 'node',
|
|
362
|
+
args: [],
|
|
363
|
+
outputFile: 'smoke.json',
|
|
364
|
+
builtin: 'smoke',
|
|
365
|
+
devDeps: {},
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
name: 'snippets',
|
|
369
|
+
slot: 'snippets',
|
|
370
|
+
description: 'Doc snippet typecheck: tagged fences typecheck against package source',
|
|
371
|
+
detect: [],
|
|
372
|
+
// Built-in (D16); `command`/`args` are the availability signature only — the
|
|
373
|
+
// real invocation (translated per PM) and the src-mode `paths` derivation
|
|
374
|
+
// (Q1) live in `snippets.ts`. First adapter for the slot, so it is the
|
|
375
|
+
// blessed default (config names `snippets-dist` to opt into the other mode).
|
|
376
|
+
command: 'pnpm',
|
|
377
|
+
args: ['exec', 'tsc', '--noEmit', '-p', '.check/doc-snippets/tsconfig.json'],
|
|
378
|
+
outputFile: 'snippets.json',
|
|
379
|
+
builtin: 'snippets',
|
|
380
|
+
devDeps: {},
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
name: 'snippets-dist',
|
|
384
|
+
slot: 'snippets',
|
|
385
|
+
description: 'Doc snippet typecheck: tagged fences typecheck against built .d.ts',
|
|
386
|
+
detect: [],
|
|
387
|
+
command: 'pnpm',
|
|
388
|
+
args: ['exec', 'tsc', '--noEmit', '-p', '.check/doc-snippets/tsconfig.json'],
|
|
389
|
+
outputFile: 'snippets.json',
|
|
390
|
+
builtin: 'snippets-dist',
|
|
391
|
+
order: 20,
|
|
392
|
+
devDeps: {},
|
|
393
|
+
},
|
|
278
394
|
];
|
|
279
395
|
//# sourceMappingURL=adapters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/agent-setup/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3E,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAS5D,wFAAwF;AACxF,KAAK,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,uFAAuF;AACvF,KAAK,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrE,oFAAoF;AACpF,KAAK,cAAc,GAAG;IAAE,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAO7G;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAI1D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAcvF;
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/agent-setup/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3E,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAS5D,wFAAwF;AACxF,KAAK,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,uFAAuF;AACvF,KAAK,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrE,oFAAoF;AACpF,KAAK,cAAc,GAAG;IAAE,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,SAAS,EAAE,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAO7G;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAI1D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAcvF;AAwBD,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhE;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,EAAE,CAAC,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,cAAc,CAAC,CAazB"}
|
|
@@ -69,6 +69,20 @@ async function readIfExists(path) {
|
|
|
69
69
|
return null;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Parse an existing settings file, naming the file on malformed JSON so a
|
|
74
|
+
* consumer sees `invalid .claude/settings.json: <reason>` instead of a bare
|
|
75
|
+
* `SyntaxError` stack (mirrors `invalidConfig` in `config.ts`).
|
|
76
|
+
*/
|
|
77
|
+
function parseSettings(raw) {
|
|
78
|
+
try {
|
|
79
|
+
return JSON.parse(raw);
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
83
|
+
throw new Error(`invalid ${CLAUDE_SETTINGS_FILE}: ${reason}`, { cause: err });
|
|
84
|
+
}
|
|
85
|
+
}
|
|
72
86
|
/**
|
|
73
87
|
* Write or refresh the Stop hook in `cwd/.claude/settings.json` for the detected
|
|
74
88
|
* (or provided) package manager, preserving any other settings. Returns whether
|
|
@@ -79,7 +93,7 @@ export async function writeStopHook(cwd, opts = {}) {
|
|
|
79
93
|
const path = join(cwd, CLAUDE_SETTINGS_FILE);
|
|
80
94
|
const pm = opts.pm ?? detectPackageManager({ cwd });
|
|
81
95
|
const raw = await readIfExists(path);
|
|
82
|
-
const settings = raw ?
|
|
96
|
+
const settings = raw ? parseSettings(raw) : {};
|
|
83
97
|
const next = applyStopHook(settings, stopHookCommand(pm));
|
|
84
98
|
const nextRaw = `${JSON.stringify(next, null, 2)}\n`;
|
|
85
99
|
const changed = raw !== nextRaw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/agent-setup/hook.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/agent-setup/hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
* module's only public surface (C2): siblings import from `../agent-setup`,
|
|
4
4
|
* never from `./hook.js` directly.
|
|
5
5
|
*/
|
|
6
|
-
export type { StopHookResult } from './hook.js';
|
|
7
6
|
export { applyStopHook, CLAUDE_SETTINGS_FILE, stopHookCommand, writeStopHook } from './hook.js';
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-setup/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-setup/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-setup/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-setup/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fallow (v7) report parsing, gating, and fingerprinting.
|
|
3
|
+
*
|
|
4
|
+
* Fallow fills three slots — `dead` (dead-code), `dupes` (duplication), and
|
|
5
|
+
* `health` (complexity) — and checkride owns the pass/fail *verdict* for all
|
|
6
|
+
* three by parsing fallow's JSON, rather than trusting its process exit code.
|
|
7
|
+
* That is deliberate: fallow 3.5.0's exit code does NOT reliably gate. Verified
|
|
8
|
+
* against fallow 3.5.0:
|
|
9
|
+
* - `fallow --format json --fail-on-issues` (combined) exits 0 with issues.
|
|
10
|
+
* - `fallow dupes --format json` exits 0 no matter how much duplication (its
|
|
11
|
+
* `--threshold` defaults to `0` = "no limit").
|
|
12
|
+
* - only `fallow dead-code`/`health` with `--fail-on-issues` exit 1 on findings.
|
|
13
|
+
* Keying pass/fail off the exit code (as the orchestrator does for every other
|
|
14
|
+
* adapter) therefore let a green ✔ hide real findings. checkride reads the
|
|
15
|
+
* authoritative issue count out of the JSON instead, so every fallow slot gates
|
|
16
|
+
* uniformly — and an *unrecognized* schema fails loudly rather than passing
|
|
17
|
+
* silently (the count can't be trusted, so the slot can't be green).
|
|
18
|
+
*
|
|
19
|
+
* The JSON is fallow's `schema_version: 7` shape (fallow >= 3.5; fallow 2.x was
|
|
20
|
+
* schema 4 with a different layout and is no longer supported). Each analysis
|
|
21
|
+
* kind has its own layout, so parsing dispatches on the top-level `kind`.
|
|
22
|
+
*/
|
|
23
|
+
import type { Fingerprint } from './fingerprint.js';
|
|
24
|
+
/**
|
|
25
|
+
* Fallow's fingerprint extractor (baseline part 1), for the extractor registry.
|
|
26
|
+
* Returns the finding keys for a recognized, readable report and an empty set
|
|
27
|
+
* for anything else — the "never throw, empty on malformed" contract every
|
|
28
|
+
* extractor honours. The *gating* verdict (`fallowVerdict`) is where an
|
|
29
|
+
* unreadable report becomes a failure; capture and masking only need the keys.
|
|
30
|
+
*/
|
|
31
|
+
export declare function fallowFindings(raw: string): Fingerprint;
|
|
32
|
+
/** The verdict for one fallow slot: pass/fail plus the baseline bookkeeping. */
|
|
33
|
+
export type FallowVerdict = {
|
|
34
|
+
/** Slot verdict after baseline masking. */
|
|
35
|
+
ok: boolean;
|
|
36
|
+
/** Current findings the baseline grandfathered (the `baselined` count). */
|
|
37
|
+
baselined: number;
|
|
38
|
+
/** Sorted current findings the baseline does NOT cover. */
|
|
39
|
+
newKeys: string[];
|
|
40
|
+
/** All current findings — fed to the ratchet's observed map. */
|
|
41
|
+
findings: Fingerprint;
|
|
42
|
+
/**
|
|
43
|
+
* True only when the report parsed to a recognized schema. The ratchet must
|
|
44
|
+
* not prune a slot's baseline from an *unreadable* run (findings unknown, not
|
|
45
|
+
* "all fixed"), so an unobserved slot is preserved untouched.
|
|
46
|
+
*/
|
|
47
|
+
observed: boolean;
|
|
48
|
+
/** A one-line failure explanation for the console, or `null` when green. */
|
|
49
|
+
reason: string | null;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Decide a fallow slot's verdict from its raw JSON and (optionally) the slot's
|
|
53
|
+
* grandfathered keys. `baselineKeys === null` means no baseline is active (a
|
|
54
|
+
* plain run or a `checkride baseline` capture): the verdict is simply whether
|
|
55
|
+
* fallow found anything. With a baseline, findings are masked — the slot passes
|
|
56
|
+
* when every current finding is grandfathered and fails on any new one.
|
|
57
|
+
*
|
|
58
|
+
* A report that parses to *fewer* fingerprints than its issue count has findings
|
|
59
|
+
* that can't be individually grandfathered; a baseline must never mask such a
|
|
60
|
+
* slot to green, so it stays at the raw findings-based verdict. Correctness over
|
|
61
|
+
* precision: better to keep re-surfacing a finding than to silently pass one.
|
|
62
|
+
*/
|
|
63
|
+
export declare function fallowVerdict(raw: string, baselineKeys: readonly string[] | null): FallowVerdict;
|
|
64
|
+
//# sourceMappingURL=fallow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallow.d.ts","sourceRoot":"","sources":["../../src/baseline/fallow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAmMpD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAGvD;AAED,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG;IAC1B,2CAA2C;IAC3C,EAAE,EAAE,OAAO,CAAC;IACZ,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gEAAgE;IAChE,QAAQ,EAAE,WAAW,CAAC;IACtB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,aAAa,CAuBhG"}
|