dev-booster 1.16.6 → 1.16.8
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
|
@@ -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,
|
|
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,
|
|
89
|
-
- if
|
|
90
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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,17 +372,40 @@ 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.
|
|
341
384
|
|
|
385
|
+
This artifact is mandatory for this booster.
|
|
386
|
+
Create it even when:
|
|
387
|
+
- there is only one finding
|
|
388
|
+
- the setup is already healthy
|
|
389
|
+
- the audit result is small
|
|
390
|
+
- the user stops after Round 1
|
|
391
|
+
|
|
392
|
+
The artifact must begin in the first real audit round and then be updated continuously as the audit progresses.
|
|
393
|
+
Update it after every meaningful round-trip in the flow, especially when:
|
|
394
|
+
- pre-flight / Round 1 is completed
|
|
395
|
+
- Lot 1 is approved and executed
|
|
396
|
+
- Round 2 / deeper Lot 2 analysis begins
|
|
397
|
+
- deeper analysis reclassifies findings
|
|
398
|
+
- new fixes are applied
|
|
399
|
+
- the user asks follow-up questions that materially change the audit state
|
|
400
|
+
|
|
401
|
+
Treat this file as the persistent audit trail for the session.
|
|
402
|
+
It must preserve what was found, what was changed, what was intentionally left untouched, and what still needs review.
|
|
403
|
+
This is important both for continuity in a later session and for explaining regressions or side effects if something breaks afterward.
|
|
404
|
+
|
|
342
405
|
- **Uniqueness rule:** If the slug already exists in `@booster-generated/audit/`, generate a new variation of the name instead of overwriting
|
|
343
406
|
- **Notification rule:** After writing, notify the user with: 📝 Registo em `@booster-generated/audit/<slug>.md`
|
|
344
407
|
|
|
408
|
+
Do NOT skip artifact creation for small audits.
|
|
345
409
|
Do NOT update this file silently in the background.
|
|
346
410
|
|
|
347
|
-
**Reply:** On activation, immediately enter pre-flight mode, use `PROJECT.md` as the primary source of truth, realign runtime
|
|
411
|
+
**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 already established by the user and current conversation. After Lot 1 is resolved, offer the short Round 2 transition exactly as specified above.
|