dev-booster 1.16.6 → 1.16.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-booster",
3
- "version": "1.16.6",
3
+ "version": "1.16.7",
4
4
  "description": "Reusable AI development kit with manual boosters, governance, and project bootstrap",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -8,7 +8,7 @@ If the user invokes this booster alone, or uses it only to activate the mode:
8
8
  - Do NOT stay passive.
9
9
  - Immediately begin the pre-flight.
10
10
  - Your first duty is to verify whether lint and typecheck are configured, operational, and honest.
11
- - If lint or typecheck is broken, limited, noisy, bypassed, or partially disabled, begin minimal recovery immediately.
11
+ - If lint or typecheck is broken, limited, noisy, bypassed, partially disabled, or pointed at the wrong scope, begin minimal recovery immediately.
12
12
  - Only pause when a change becomes structurally risky (for example: installing new dependencies, broad config redesign, or Lot 2 code fixes).
13
13
 
14
14
  Use this activation response format:
@@ -34,6 +34,7 @@ The booster must:
34
34
 
35
35
  This booster is not a broad modernization flow.
36
36
  It must do the operational rice-and-beans work first.
37
+ It is focused on static audit health: lint + typecheck.
37
38
 
38
39
  ## 2. PRIMARY CONTEXT SOURCE (MANDATORY)
39
40
  Use context in this order:
@@ -85,26 +86,41 @@ Start working immediately.
85
86
  ### Step A — Align runtime before Node-based commands
86
87
  First, check whether the project's current terminal runtime is already healthy.
87
88
 
88
- Before any `npm`, `npx`, `node`, `tsc`, `next`, lint, typecheck, or build command:
89
- - if `node` and `npm` are already working correctly in the current project terminal context, do NOT run `nvm use`
90
- - if `node` or `npm` is unavailable or clearly misaligned, then check whether `.nvmrc` exists
89
+ Before any `npm`, `npx`, `node`, `tsc`, `next`, lint, or typecheck command:
90
+ - if the required runtime and package manager are already working correctly in the current project terminal context, do NOT run `nvm use`
91
+ - do not assume the package manager is always `npm`; inspect the project and use `pnpm`, `yarn`, `bun`, or `npm` according to the real setup
92
+ - if the required Node-based runtime is unavailable or clearly misaligned, then check whether `.nvmrc` exists
91
93
  - only if `.nvmrc` exists and runtime is not healthy, run `nvm use` and try again
92
- - if `.nvmrc` does not exist, do NOT run `nvm use`; continue with the available runtime strategy and report the blocker if Node/NPM is still unavailable
94
+ - if `.nvmrc` does not exist, do NOT run `nvm use`; continue with the available runtime strategy and report the blocker if the required runtime or package manager is still unavailable
93
95
 
94
96
  If this project required `nvm use` once to become healthy, then every new terminal execution that depends on Node must run `nvm use` again before the actual command.
95
97
  This repeat rule applies only to projects that actually needed NVM alignment.
96
98
 
97
99
  ### Step B — Check whether audit tooling exists
98
100
  Only after runtime is aligned, inspect what is necessary to answer:
101
+ - which package manager the project actually uses
102
+ - whether this is a single app or a monorepo / workspace
103
+ - whether lint and typecheck live at the root, package level, or both
99
104
  - is there a `lint` script?
100
- - is there a `typecheck` script?
105
+ - is there a `typecheck` script or equivalent check command?
101
106
  - is ESLint config present?
102
- - is `tsconfig.json` or equivalent present?
107
+ - is `tsconfig.json` or some `tsconfig.*.json` variant present?
103
108
  - is the project using framework wrappers such as `next lint`?
104
- - are the terminal commands actually runnable?
109
+ - are the terminal commands actually runnable in the correct scope?
110
+
111
+ These checks exist to choose the correct runtime, package manager, command, and project scope for the same two missions: lint and typecheck.
112
+ They are not separate correction tracks by themselves.
113
+ If a scenario check does not materially affect lint or typecheck execution, coverage, or trustworthiness, do not turn it into noise for the user.
114
+
115
+ If this is a monorepo or workspace, do not assume the root command is the correct command.
116
+ Find the right package/scope first.
105
117
 
106
118
  ### Step C — Check whether lint is honest
107
119
  Do not trust the presence of a script alone.
120
+ Inspect for common bypasses.
121
+ This audit must prefer honest enforcement over preserving broad project-wide suppressions.
122
+ If the user activated this booster, the default assumption is that they want full visibility of warnings and errors.
123
+
108
124
  Inspect for common bypasses:
109
125
 
110
126
  #### Framework-level bypasses
@@ -117,6 +133,8 @@ Look for settings such as:
117
133
  - `eslint.ignoreDuringBuilds`
118
134
  - other project-wide lint-relaxing switches
119
135
 
136
+ If these switches are clearly being used to suppress enforcement globally, remove or normalize them during pre-flight before the first audit report.
137
+
120
138
  #### ESLint-level bypasses
121
139
  Inspect:
122
140
  - `eslint.config.*`
@@ -129,6 +147,9 @@ Look for:
129
147
  - overrides that nullify important checks
130
148
  - scope that is too narrow or too broad
131
149
 
150
+ If a global ESLint disable or broad override is clearly masking repository-wide results, remove or normalize it during pre-flight and rerun the audit before presenting Round 1 findings.
151
+ Do not leave clearly abusive global masking in place just because it was added by a previous developer.
152
+
132
153
  #### Inline suppressions in code
133
154
  Search for patterns such as:
134
155
  - `eslint-disable`
@@ -148,6 +169,7 @@ Inspect:
148
169
  - `tsconfig.json`
149
170
  - `tsconfig.*.json`
150
171
  - framework-generated type includes such as `.next/types/**/*.ts`
172
+ - project references, path aliases, and package-local TS configs when relevant
151
173
 
152
174
  Look for:
153
175
  - broken include paths
@@ -155,8 +177,13 @@ Look for:
155
177
  - invalid project references
156
178
  - path alias issues caused by config drift
157
179
  - typecheck commands that depend on a runtime not aligned in the shell
180
+ - projects where `tsc --noEmit` at the root is wrong and `tsc -p <tsconfig>` is required instead
181
+
182
+ If the project does not use TypeScript, do not invent a typecheck failure.
183
+ Treat that as a no-typecheck scenario, not as a broken setup.
158
184
 
159
185
  If typecheck failure is caused by setup/configuration, treat it as a fixable Setup Issue before moving on.
186
+ If typecheck is being globally masked or indirectly weakened by stale config, invalid references, or broad exclusions, normalize that setup first and rerun before presenting findings.
160
187
 
161
188
  ### Step E — Determine initial state
162
189
  Classify the setup as one of:
@@ -186,13 +213,20 @@ Normalize audit intentionally, not blindly.
186
213
  These are allowed without extra confirmation when low-risk:
187
214
  - fix `lint` script wiring
188
215
  - fix `typecheck` script wiring
216
+ - select the correct package manager command for the project
217
+ - select the correct workspace/package scope for lint and typecheck
189
218
  - switch from a misleading wrapper command to the real ESLint CLI
190
219
  - narrow or widen lint scope intentionally
191
220
  - adjust ignores for generated/build artifacts
192
221
  - normalize `tsconfig` includes when they are clearly stale or broken
222
+ - choose the correct `tsconfig` target when the root one is not the real app config
193
223
  - remove obviously abusive global bypass flags
224
+ - remove clearly unjustified global rule disables or broad masking overrides
194
225
  - remove clearly unjustified inline disables when the safe fix is straightforward
195
226
 
227
+ Only apply the normalization that is necessary to make lint and typecheck truthful in the real project scope.
228
+ Do not treat the presence of monorepo/workspace/package-manager/tsconfig variants as problems by default.
229
+
196
230
  ### Pause and ask only when needed
197
231
  Ask before:
198
232
  - installing packages
@@ -204,25 +238,29 @@ Ask before:
204
238
  Follow this order:
205
239
 
206
240
  ### Phase 1 — Make audit runnable
207
- If lint or typecheck is missing, broken, masked, or noisy:
241
+ If lint or typecheck is missing, broken, masked, noisy, or scoped incorrectly:
208
242
  - repair the minimal setup
209
243
  - remove or neutralize obvious bypasses
244
+ - remove clearly abusive global masking before Round 1
245
+ - choose the correct package manager and scope
210
246
  - rerun until the terminal commands are trustworthy
211
247
 
248
+ The goal here is not to "fix monorepo" or "fix package manager" as separate workstreams.
249
+ The goal is to use those signals to reach the correct lint and typecheck execution path.
250
+ If one of these scenario signals exists but does not block or weaken the audit, simply continue.
251
+
212
252
  ### Phase 2 — Run the first real audit round
213
253
  Once operational, run:
214
254
  - the official lint command
215
255
  - the official typecheck command, when TypeScript is present
216
- - optionally the project's build sanity command afterward if it already exists and fits the stack
217
256
 
218
257
  This first round must stay fast and pragmatic.
219
258
 
220
259
  ### Phase 3 — Classify Round 1 findings
221
260
  Always split results into:
222
- - **Setup Issues** → config, scope, parser, wrapper mismatch, bypasses, broken scripts, stale tsconfig entries, runtime misalignment
261
+ - **Setup Issues** → config, scope, parser, wrapper mismatch, bypasses, broken scripts, stale tsconfig entries, runtime misalignment, wrong package manager, wrong workspace/package target
223
262
  - **Lint Findings** → lint-only findings
224
263
  - **Typecheck Findings** → type-only findings
225
- - **Build Findings** → build-only findings when relevant
226
264
  - **Lot 1 — Safe Fixes** → low-risk, behavior-preserving fixes
227
265
  - **Lot 2 — Needs Deeper Analysis** → not safe to change based only on the first pass
228
266
 
@@ -237,7 +275,6 @@ The expected intent is:
237
275
  If the user approves:
238
276
  - fix Lot 1
239
277
  - rerun lint and typecheck
240
- - rerun build sanity when it is part of the current audit flow
241
278
  - update the artifact
242
279
  - report what was resolved and what remains in Lot 2
243
280
 
@@ -295,6 +332,8 @@ When relevant, explain that:
295
332
  - `eslint .` may become noisy if scope and ignores were never normalized
296
333
  - the right solution is explicit scope and honest enforcement, not hidden bypasses
297
334
  - typecheck failures caused by stale framework-generated paths are setup issues first, not necessarily code defects
335
+ - monorepo and workspace projects may require package-local audit commands rather than root-level commands
336
+ - the correct package manager and the correct tsconfig target matter as much as the code itself
298
337
 
299
338
  ## 10. OUTPUT STRUCTURE (MANDATORY)
300
339
  Your response must use this structure:
@@ -307,19 +346,21 @@ Your response must use this structure:
307
346
  - Initial state: [Operational / Operational but Masked / Limited Coverage / Excessive / Noisy Coverage / Broken / Missing]
308
347
  - Official lint command: [...]
309
348
  - Official typecheck command: [...]
349
+ - Package manager / scope used: [...]
310
350
  - Bypass signals found: [...]
311
351
  - Runtime alignment: [...]
352
+ - Global masking normalized before Round 1: [yes/no + summary]
312
353
 
313
354
  ### 2. Setup Actions
314
355
  - [What was changed to make audit trustworthy]
315
356
  - [Which bypasses were removed, preserved, or left for review]
316
357
  - [Which runtime or tsconfig issues were corrected]
358
+ - [Only mention scenario checks such as monorepo/workspace/package-manager variance when they materially affected the audit path]
317
359
 
318
360
  ### 3. Audit Results
319
361
  - Setup Issues: [...]
320
362
  - Lint Findings: [...]
321
363
  - Typecheck Findings: [...]
322
- - Build Findings: [...]
323
364
  - Lot 1 — Safe Fixes: [...]
324
365
  - Lot 2 — Needs Deeper Analysis: [...]
325
366
 
@@ -331,10 +372,12 @@ Your response must use this structure:
331
372
 
332
373
  ## 11. SAFETY BOUNDARIES
333
374
  - Do not overwrite unrelated project conventions.
334
- - Do not claim lint or typecheck is healthy unless terminal execution was actually verified.
375
+ - Do not claim lint or typecheck is healthy unless terminal execution was actually verified in the correct runtime, package manager, and project scope.
335
376
  - Do not silently preserve abusive bypasses just because a command happens to pass.
377
+ - Do not present Round 1 findings on top of clearly abusive global masking that should have been removed first.
336
378
  - Do not auto-fix Lot 2 without strong local justification.
337
379
  - Do not turn this booster into a whole-project refactor.
380
+ - Do not invent auxiliary work just because a scenario pattern exists; stay focused on lint and typecheck.
338
381
 
339
382
  ## ARTIFACT GENERATION
340
383
  During your execution, create a state file at `@booster-generated/audit/<slug>.md` tracking the history, decisions, rules, and outcomes in dense, non-conversational format.
@@ -344,4 +387,4 @@ During your execution, create a state file at `@booster-generated/audit/<slug>.m
344
387
 
345
388
  Do NOT update this file silently in the background.
346
389
 
347
- **Reply:** On activation, immediately enter pre-flight mode, use `PROJECT.md` as the primary source of truth, realign runtime before every Node-based terminal command when `.nvmrc` exists, make lint and typecheck operational in the terminal, detect bypasses, normalize only what is necessary, run a fast Round 1, classify findings into Setup Issues / Lint Findings / Typecheck Findings / Build Findings / Lot 1 / Lot 2, and answer in the active conversation language. After Lot 1 is resolved, offer the short Round 2 transition exactly as specified above.
390
+ **Reply:** On activation, immediately enter pre-flight mode, use `PROJECT.md` as the primary source of truth, realign runtime only when needed and repeat `nvm use` on each new terminal execution only for projects that actually required NVM alignment, make lint and typecheck operational in the terminal, detect bypasses, normalize only what is necessary, run a fast Round 1, classify findings into Setup Issues / Lint Findings / Typecheck Findings / Lot 1 / Lot 2, and answer in the active conversation language. After Lot 1 is resolved, offer the short Round 2 transition exactly as specified above.