dev-booster 1.16.7 → 1.16.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-booster",
3
- "version": "1.16.7",
3
+ "version": "1.16.9",
4
4
  "description": "Reusable AI development kit with manual boosters, governance, and project bootstrap",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -7,9 +7,9 @@ This booster is active by default.
7
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
- - 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, partially disabled, or pointed at the wrong scope, begin minimal recovery immediately.
12
- - Only pause when a change becomes structurally risky (for example: installing new dependencies, broad config redesign, or Lot 2 code fixes).
10
+ - Your first duty is to make lint and typecheck operational, honest, and runnable.
11
+ - Do NOT stop at diagnosis when the issue is a removable bypass, stale config, wrong scope, wrong runtime, or other low-risk setup problem.
12
+ - Only pause when a change becomes structurally risky (for example: installing new dependencies, broad config redesign, or deep Lot 2 code fixes).
13
13
 
14
14
  Use this activation response format:
15
15
 
@@ -22,136 +22,145 @@ Status: Running Pre-Flight
22
22
  Goal: make lint and typecheck operational in the terminal, detect bypasses, normalize the setup, and classify findings by risk.
23
23
  ```
24
24
 
25
+ Keep activation chat output minimal.
26
+ Do not dump logs, file lists, or long reasoning in chat.
27
+
25
28
  ## 1. OBJECTIVE
26
- The booster must:
27
- - make lint run correctly from the terminal
28
- - make typecheck run correctly from the terminal when the project uses TypeScript
29
+ This booster is focused on static audit health:
30
+ - lint
31
+ - typecheck
32
+
33
+ It must:
29
34
  - treat the terminal as the official source of truth
30
- - respect the real project stack already documented in `.devbooster/rules/PROJECT.md`
31
- - detect common bypasses and suppressions that hide static-analysis debt
32
- - normalize the setup with minimal, conservative changes
33
- - classify findings into safe fixes versus deep-review items
35
+ - respect the real project context already documented in `.devbooster/rules/PROJECT.md`
36
+ - detect and remove masking that hides warnings or errors
37
+ - normalize the setup with minimal conservative changes
38
+ - classify findings into `Lot 1` and `Lot 2`
39
+ - keep the artifact as the detailed source of truth
34
40
 
35
41
  This booster is not a broad modernization flow.
36
- It must do the operational rice-and-beans work first.
37
- It is focused on static audit health: lint + typecheck.
38
-
39
- ## 2. PRIMARY CONTEXT SOURCE (MANDATORY)
40
- Use context in this order:
41
- 1. `.devbooster/rules/PROJECT.md` primary source of stack and architecture
42
- 2. `.devbooster/rules/FRONTEND.md` → only if frontend findings dominate
43
- 3. `.devbooster/rules/BACKEND.md` → only if backend/tooling findings dominate
42
+
43
+ ## 2. CONTEXT LOADING RULES
44
+ ### Primary context order
45
+ 1. `.devbooster/rules/PROJECT.md`
46
+ 2. `.devbooster/rules/FRONTEND.md` (only if frontend findings dominate)
47
+ 3. `.devbooster/rules/BACKEND.md` (only if backend/tooling findings dominate)
44
48
  4. `.devbooster/rules/USER_PREFERENCES.md`
45
49
 
46
- Do NOT re-bootstrap the project or repeat broad stack discovery if `PROJECT.md` is already filled with project-specific context.
47
- Only inspect additional files when needed to execute audit reliably.
50
+ Do NOT re-bootstrap the project if `PROJECT.md` is already populated.
48
51
 
49
- ## 3. MINIMAL BASE LOAD
50
- Load only the minimum at the start:
52
+ ### Minimal base load
53
+ Start with only:
51
54
  - `.devbooster/rules/PROJECT.md`
52
55
  - `.devbooster/rules/USER_PREFERENCES.md`
53
56
  - `.devbooster/hub/personas/skill_lint-and-validate.md`
54
57
 
55
- Do not load frontend/backend personas or extra skills during activation unless the first audit pass or setup findings justify it.
58
+ ### Lazy loading
59
+ Load extra context only if justified by findings:
56
60
 
57
- ## 4. LAZY LOADING RULES
58
- After the first real audit pass, load additional context only if needed.
59
-
60
- ### Frontend-heavy findings
61
- Load only when most findings are in React / Next / Vite / UI code:
61
+ #### Frontend-heavy findings
62
62
  - `.devbooster/rules/FRONTEND.md`
63
63
  - `.devbooster/hub/personas/agent_frontend-specialist.md`
64
- - `.devbooster/hub/skills/nextjs-react-expert/SKILL.md` (when React / Next findings justify it)
64
+ - `.devbooster/hub/skills/nextjs-react-expert/SKILL.md`
65
65
 
66
- Use `FRONTEND.md` not only for stack context, but also to preserve the frontend coding patterns the project expects.
67
- If `FRONTEND.md` is still generic, empty, or clearly missing useful project-specific guidance, ignore it and continue with file-local context plus the other active rules.
66
+ Use `FRONTEND.md` both for stack context and to preserve the project's frontend coding patterns.
67
+ If it is generic, empty, or not useful, ignore it.
68
68
 
69
- ### Backend/tooling-heavy findings
70
- Load only when most findings are in scripts, Node tooling, configs, services, or backend packages:
69
+ #### Backend/tooling-heavy findings
71
70
  - `.devbooster/rules/BACKEND.md`
72
71
  - `.devbooster/hub/personas/agent_backend-specialist.md`
73
72
  - `.devbooster/hub/skills/nodejs-best-practices/SKILL.md`
74
73
 
75
- Use `BACKEND.md` not only for stack context, but also to preserve the backend and tooling patterns the project expects.
76
- If `BACKEND.md` is still generic, empty, or clearly missing useful project-specific guidance, ignore it and continue with file-local context plus the other active rules.
74
+ Use `BACKEND.md` both for stack context and to preserve the project's backend/tooling patterns.
75
+ If it is generic, empty, or not useful, ignore it.
77
76
 
78
- ### Legacy/config-conflict findings
79
- Load only when audit is being blocked by unclear legacy choices, suppressions, runtime mismatch, or config drift:
77
+ #### Legacy/config-conflict findings
80
78
  - `.devbooster/hub/personas/agent_code-archaeologist.md`
81
79
  - `.devbooster/hub/skills/systematic-debugging/SKILL.md`
82
80
 
83
- ## 5. PRE-FLIGHT (MANDATORY AND ACTIVE)
84
- Start working immediately.
81
+ ## 3. AUDIT DISCIPLINE
82
+ The booster has only two missions:
83
+ - run lint correctly
84
+ - run typecheck correctly
85
85
 
86
- ### Step A — Align runtime before Node-based commands
87
- First, check whether the project's current terminal runtime is already healthy.
86
+ Signals such as:
87
+ - monorepo / workspace
88
+ - package manager choice
89
+ - `.nvmrc`
90
+ - `tsconfig.*.json`
91
+ - package-local scripts
92
+
93
+ exist only to help choose the correct:
94
+ - runtime
95
+ - package manager
96
+ - command
97
+ - project scope
98
+
99
+ They are not separate workstreams.
100
+ If a scenario exists but does not materially affect lint or typecheck execution, coverage, or trustworthiness, do not turn it into noise.
101
+
102
+ ## 4. PRE-FLIGHT
103
+ Start working immediately.
88
104
 
105
+ ### Step A — Align runtime
89
106
  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
107
+ - if the required runtime and package manager already work in the current project terminal context, do NOT run `nvm use`
108
+ - do not assume the package manager is always `npm`; use `pnpm`, `yarn`, `bun`, or `npm` according to the real setup
109
+ - if the required Node-based runtime is unavailable or clearly misaligned, check whether `.nvmrc` exists
93
110
  - only if `.nvmrc` exists and runtime is not healthy, run `nvm use` and try again
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
111
+ - if `.nvmrc` does not exist, do NOT run `nvm use`
95
112
 
96
113
  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.
97
114
  This repeat rule applies only to projects that actually needed NVM alignment.
98
115
 
99
- ### Step B — Check whether audit tooling exists
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
104
- - is there a `lint` script?
105
- - is there a `typecheck` script or equivalent check command?
106
- - is ESLint config present?
107
- - is `tsconfig.json` or some `tsconfig.*.json` variant present?
108
- - is the project using framework wrappers such as `next lint`?
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.
117
-
118
- ### Step C — Check whether lint is honest
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
-
124
- Inspect for common bypasses:
125
-
126
- #### Framework-level bypasses
127
- When relevant, inspect files such as:
116
+ ### Step B — Find the correct audit path
117
+ Inspect only what is necessary to determine:
118
+ - package manager
119
+ - single app vs monorepo / workspace
120
+ - whether lint/typecheck live at root, package level, or both
121
+ - `lint` script or equivalent
122
+ - `typecheck` script or equivalent
123
+ - ESLint config presence
124
+ - `tsconfig.json` or `tsconfig.*.json` presence
125
+ - whether framework wrappers such as `next lint` are in use
126
+ - whether commands are runnable in the correct scope
127
+
128
+ If this is a monorepo/workspace, do not assume root is the correct target.
129
+ Find the correct package/scope first.
130
+
131
+ ### Step C — Remove masking and bypasses
132
+ Do not trust passing commands alone.
133
+ Inspect and normalize masking such as:
134
+
135
+ #### Framework-level masking
136
+ Check files such as:
128
137
  - `next.config.js`
129
138
  - `next.config.mjs`
130
139
  - `next.config.ts`
131
140
 
132
- Look for settings such as:
141
+ Look for:
133
142
  - `eslint.ignoreDuringBuilds`
134
143
  - other project-wide lint-relaxing switches
135
144
 
136
- If these switches are clearly being used to suppress enforcement globally, remove or normalize them during pre-flight before the first audit report.
145
+ If they clearly suppress enforcement globally, remove or normalize them during pre-flight.
146
+ Do NOT ask permission for clearly abusive masking.
137
147
 
138
- #### ESLint-level bypasses
139
- Inspect:
148
+ #### ESLint-level masking
149
+ Check:
140
150
  - `eslint.config.*`
141
151
  - `.eslintrc*`
142
152
  - `.eslintignore`
143
153
 
144
154
  Look for:
145
- - broad or suspicious ignores
146
- - rules disabled globally without clear reason
155
+ - broad/suspicious ignores
156
+ - globally disabled rules without clear reason
147
157
  - overrides that nullify important checks
148
158
  - scope that is too narrow or too broad
149
159
 
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.
160
+ If global masking is clearly abusive, remove or normalize it during pre-flight and rerun before reporting Round 1.
152
161
 
153
- #### Inline suppressions in code
154
- Search for patterns such as:
162
+ #### Inline suppressions
163
+ Search for:
155
164
  - `eslint-disable`
156
165
  - `eslint-disable-next-line`
157
166
  - `eslint-disable-line`
@@ -164,29 +173,32 @@ Flag especially:
164
173
  - suppressions around hook dependency rules
165
174
  - suppressions with no explanation
166
175
 
167
- ### Step D Check whether typecheck is honest and stable
168
- Inspect:
176
+ If a suppression is clearly abusive, stale, or only there to lazily silence the tool, remove it during pre-flight or Lot 1 instead of merely reporting it.
177
+
178
+ ### Step D — Stabilize typecheck
179
+ Inspect when relevant:
169
180
  - `tsconfig.json`
170
181
  - `tsconfig.*.json`
171
182
  - framework-generated type includes such as `.next/types/**/*.ts`
172
- - project references, path aliases, and package-local TS configs when relevant
183
+ - project references
184
+ - path aliases
185
+ - package-local TS configs
173
186
 
174
187
  Look for:
175
188
  - broken include paths
176
189
  - stale framework-generated type references
177
190
  - invalid project references
178
- - path alias issues caused by config drift
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
191
+ - alias drift
192
+ - wrong `tsc` target
193
+ - cases where `tsc --noEmit` at root is wrong and `tsc -p <tsconfig>` is required
181
194
 
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.
195
+ If the project does not use TypeScript, treat that as a no-typecheck scenario, not a failure.
184
196
 
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.
197
+ If typecheck is broken because of setup/configuration, fix that first.
198
+ Do NOT stop at reporting removable masking or stale config.
187
199
 
188
200
  ### Step E — Determine initial state
189
- Classify the setup as one of:
201
+ Classify the starting point as one of:
190
202
  - **Operational**
191
203
  - **Operational but Masked**
192
204
  - **Limited Coverage**
@@ -194,9 +206,7 @@ Classify the setup as one of:
194
206
  - **Broken**
195
207
  - **Missing**
196
208
 
197
- ## 6. NORMALIZATION RULES
198
- Normalize audit intentionally, not blindly.
199
-
209
+ ## 5. NORMALIZATION RULES
200
210
  ### Core rules
201
211
  1. Terminal is the source of truth.
202
212
  2. Coverage must be explicit, never accidental.
@@ -205,100 +215,111 @@ Normalize audit intentionally, not blindly.
205
215
  5. Prefer minimal changes over opinionated redesign.
206
216
  6. Do not install new dependencies unless truly required and approved.
207
217
  7. Do not disable rules just to reduce noise.
208
- 8. Remove suspicious bypasses when they are clearly hiding enforcement without justification.
209
- 9. If lint or typecheck is failing because runtime is misaligned, fix runtime usage first.
210
- 10. If typecheck is failing because configuration is stale or inconsistent, attempt minimal conservative repair before reporting code findings.
218
+ 8. Remove suspicious masking when it is clearly hiding enforcement.
219
+ 9. If lint/typecheck is failing because runtime is misaligned, fix runtime usage first.
220
+ 10. If typecheck is failing because configuration is stale or inconsistent, attempt conservative repair before reporting code findings.
211
221
 
212
- ### Valid normalization actions
213
- These are allowed without extra confirmation when low-risk:
222
+ ### Allowed low-risk normalization
223
+ Without extra confirmation, you may:
214
224
  - fix `lint` script wiring
215
225
  - 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
226
+ - select the correct package manager command
227
+ - select the correct workspace/package scope
218
228
  - switch from a misleading wrapper command to the real ESLint CLI
219
229
  - narrow or widen lint scope intentionally
220
230
  - adjust ignores for generated/build artifacts
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
223
- - remove obviously abusive global bypass flags
231
+ - normalize stale or broken `tsconfig` includes
232
+ - choose the correct `tsconfig` target
233
+ - remove abusive global bypass flags
224
234
  - remove clearly unjustified global rule disables or broad masking overrides
225
- - remove clearly unjustified inline disables when the safe fix is straightforward
235
+ - remove clearly unjustified inline disables when safe
226
236
 
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.
237
+ Only normalize what is necessary to make lint and typecheck truthful in the real project scope.
229
238
 
230
- ### Pause and ask only when needed
239
+ ### Ask before
231
240
  Ask before:
232
241
  - installing packages
233
242
  - redesigning shared lint/type architecture
234
243
  - changing team-wide rules in a controversial way
235
- - applying deep code fixes from Lot 2
236
-
237
- ## 7. EXECUTION FLOW
238
- Follow this order:
239
-
240
- ### Phase 1 — Make audit runnable
241
- If lint or typecheck is missing, broken, masked, noisy, or scoped incorrectly:
242
- - repair the minimal setup
243
- - remove or neutralize obvious bypasses
244
- - remove clearly abusive global masking before Round 1
245
- - choose the correct package manager and scope
246
- - rerun until the terminal commands are trustworthy
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
-
252
- ### Phase 2 — Run the first real audit round
253
- Once operational, run:
254
- - the official lint command
255
- - the official typecheck command, when TypeScript is present
256
-
257
- This first round must stay fast and pragmatic.
258
-
259
- ### Phase 3 — Classify Round 1 findings
260
- Always split results into:
261
- - **Setup Issues** → config, scope, parser, wrapper mismatch, bypasses, broken scripts, stale tsconfig entries, runtime misalignment, wrong package manager, wrong workspace/package target
262
- - **Lint Findings** → lint-only findings
263
- - **Typecheck Findings** → type-only findings
264
- - **Lot 1 — Safe Fixes** → low-risk, behavior-preserving fixes
265
- - **Lot 2 — Needs Deeper Analysis** → not safe to change based only on the first pass
266
-
267
- ### Phase 4 — Propose Lot 1 execution
268
- After Round 1, ask directly whether you should apply Lot 1 now.
269
- Do not be vague.
270
- The expected intent is:
271
- - Lot 1 is safe
272
- - Lot 2 was kept conservative on purpose
273
-
274
- ### Phase 5 — Apply Lot 1
244
+ - applying deep Lot 2 code fixes
245
+
246
+ ## 6. EXECUTION FLOW
247
+ This booster runs in 3 stages.
248
+
249
+ ### Stage 1 — Setup only
250
+ Goal: make the environment healthy and honest.
251
+
252
+ Do this first:
253
+ - align runtime
254
+ - choose package manager and scope
255
+ - stabilize lint
256
+ - stabilize typecheck
257
+ - remove abusive masking
258
+ - rerun until commands are trustworthy
259
+
260
+ Round 1 must NOT be reported as complete until this setup-only normalization pass has happened.
261
+
262
+ When setup is complete:
263
+ - generate/update the artifact
264
+ - summarize briefly in chat
265
+ - ask:
266
+
267
+ `Setup concluído. Posso continuar para a varredura completa?`
268
+
269
+ ### Stage 2 — Round 1 scan and classification
275
270
  If the user approves:
276
- - fix Lot 1
277
- - rerun lint and typecheck
271
+ - run the official lint command
272
+ - run the official typecheck command when TypeScript is present
273
+ - classify findings into:
274
+ - **Setup Issues**
275
+ - **Lint Findings**
276
+ - **Typecheck Findings**
277
+ - **Lot 1 — Safe Fixes**
278
+ - **Lot 2 — Needs Deeper Analysis**
278
279
  - update the artifact
279
- - report what was resolved and what remains in Lot 2
280
+ - summarize briefly in chat
281
+ - ask:
282
+
283
+ `Posso corrigir o Lote 1, que é o mais seguro?`
280
284
 
281
- ### Phase 6 Offer Round 2
282
- After Lot 1 is complete, use this short transition:
285
+ By the time you classify Round 1, clearly abusive masking should already be gone.
286
+ Do not stop after a generic diagnosis without explicitly producing `Lot 1` and `Lot 2`.
287
+
288
+ ### Stage 3 — Safe correction, then deeper analysis
289
+ #### Stage 3A — Apply Lot 1
290
+ If the user approves:
291
+ - fix `Lot 1`
292
+ - rerun lint and typecheck
293
+ - absorb any newly surfaced safe follow-up items into `Lot 1` automatically
294
+ - if a newly surfaced item is no longer clearly safe, move it to `Lot 2`
295
+ - repeat this loop until the safe queue is exhausted
296
+ - update the artifact after each meaningful pass
297
+ - summarize briefly in chat
298
+
299
+ `Lot 1` is only complete when no safe fixes remain after rechecking.
300
+
301
+ Then ask:
283
302
 
284
303
  `Rodada 1 concluída.`
285
304
 
286
305
  `Agora vou fazer uma rodada mais aprofundada no Lote 2 para refinar o que ainda é seguro corrigir. Posso prosseguir?`
287
306
 
288
- ### Phase 7 — Deep analysis of Lot 2
289
- If the user approves Round 2:
307
+ #### Stage 3B — Deep analysis of Lot 2
308
+ If the user approves:
290
309
  - inspect the affected files more deeply
291
- - read the full file when needed
310
+ - read full files when needed
292
311
  - use more context and slower reasoning
293
- - separate Lot 2 into:
294
- - findings that are now safe enough to fix after deeper analysis
295
- - findings that still require human review
296
-
297
- ### Phase 8 — Load specialists only if justified
298
- Use the findings distribution to decide whether frontend/backend/legacy specialists should be loaded.
312
+ - separate `Lot 2` into:
313
+ - items now safe enough to fix
314
+ - items that still require human review
315
+ - apply only what became safe
316
+ - update the artifact
317
+ - summarize briefly in chat
299
318
 
300
- ## 8. LOT CLASSIFICATION RULES
319
+ When only risky or ambiguous items remain, stop and hand control back to the user.
320
+ That is the natural end of the booster flow.
301
321
 
322
+ ## 7. LOT RULES
302
323
  ### Lot 1 — Safe Fixes
303
324
  Typical examples:
304
325
  - autofixable ESLint formatting output
@@ -306,12 +327,10 @@ Typical examples:
306
327
  - clearly unused variables
307
328
  - trivial `const` improvements
308
329
  - import ordering
309
- - mechanical low-risk fixes from ESLint autofix
310
- - small suppression removals where the code remains correct without behavioral risk
330
+ - mechanical low-risk ESLint fixes
331
+ - small suppression removals where behavior stays unchanged
311
332
  - conservative tsconfig cleanup when the issue is obviously stale/generated-path drift
312
333
 
313
- Apply these when genuinely safe, then rerun audit.
314
-
315
334
  ### Lot 2 — Needs Deeper Analysis
316
335
  Typical examples:
317
336
  - `react-hooks/exhaustive-deps`
@@ -321,70 +340,105 @@ Typical examples:
321
340
  - accessibility issues requiring markup decisions
322
341
  - anything likely to change render behavior, execution order, or developer intent
323
342
 
324
- Do NOT force these blindly in Round 1.
325
- They must first be treated as uncertain items.
326
- Only after a deeper file-level review may you decide whether some of them became safe enough to fix.
343
+ Do NOT force Lot 2 blindly in Round 1.
344
+ Only after deeper file-level review may you decide that some items became safe enough to fix.
327
345
 
328
- ## 9. SPECIAL CASES
329
- When relevant, explain that:
346
+ ## 8. SPECIAL CASES
347
+ When relevant, explain only the impact, not a long theory. Examples:
330
348
  - new lint errors may reflect increased coverage, not newly introduced bugs
331
- - `next lint` may inspect a narrower slice of the repository
332
- - `eslint .` may become noisy if scope and ignores were never normalized
333
- - the right solution is explicit scope and honest enforcement, not hidden bypasses
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
349
+ - `next lint` may inspect a narrower slice than the real ESLint CLI path
350
+ - `eslint .` may become noisy if scope/ignores were never normalized
351
+ - typecheck failures caused by stale framework-generated paths are setup issues first
352
+ - monorepo/workspace projects may require package-local audit commands rather than root-level commands
353
+ - the correct package manager and tsconfig target matter as much as the code itself
337
354
 
338
- ## 10. OUTPUT STRUCTURE (MANDATORY)
339
- Your response must use this structure:
355
+ ## 9. OUTPUT RULES
356
+ The artifact is the primary source of truth.
357
+ Chat is only the executive summary.
358
+ Do not dump detailed file lists, raw terminal transcripts, or exhaustive reasoning in chat unless the user explicitly asks.
359
+
360
+ Use this compact chat structure:
340
361
 
341
362
  ```md
342
363
  ## 🧽 Audit Report: [scope]
343
364
 
344
- ### 1. Pre-Flight Status
345
- - Project context source: `PROJECT.md`
346
- - Initial state: [Operational / Operational but Masked / Limited Coverage / Excessive / Noisy Coverage / Broken / Missing]
347
- - Official lint command: [...]
348
- - Official typecheck command: [...]
349
- - Package manager / scope used: [...]
350
- - Bypass signals found: [...]
351
- - Runtime alignment: [...]
352
- - Global masking normalized before Round 1: [yes/no + summary]
353
-
354
- ### 2. Setup Actions
355
- - [What was changed to make audit trustworthy]
356
- - [Which bypasses were removed, preserved, or left for review]
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]
359
-
360
- ### 3. Audit Results
361
- - Setup Issues: [...]
362
- - Lint Findings: [...]
363
- - Typecheck Findings: [...]
364
- - Lot 1 — Safe Fixes: [...]
365
- - Lot 2 — Needs Deeper Analysis: [...]
366
-
367
- ### 4. Outcome
368
- - [What is now working]
369
- - [What was auto-fixed]
370
- - [What still requires deeper analysis or human review]
365
+ ### 1. Status
366
+ - State: [Operational / Operational but Masked / Limited Coverage / Excessive / Noisy Coverage / Broken / Missing]
367
+ - Lint: [passed/failed + short count]
368
+ - Typecheck: [passed/failed + short count]
369
+ - Setup: [short summary of what was normalized]
370
+
371
+ ### 2. Findings
372
+ - Setup Issues: [short count/summary]
373
+ - Lot 1 Safe Fixes: [short count/summary]
374
+ - Lot 2 — Needs Deeper Analysis: [short count/summary]
375
+
376
+ ### 3. Artifact
377
+ - 📝 Registo em `@booster-generated/audit/<slug>.md`
378
+
379
+ ### 4. Next Step
380
+ - [short next action or question]
371
381
  ```
372
382
 
373
- ## 11. SAFETY BOUNDARIES
383
+ All deeper detail must go into the artifact.
384
+
385
+ ## 10. SAFETY BOUNDARIES
374
386
  - Do not overwrite unrelated project conventions.
375
- - Do not claim lint or typecheck is healthy unless terminal execution was actually verified in the correct runtime, package manager, and project scope.
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.
387
+ - Do not claim lint or typecheck is healthy unless terminal execution was actually verified in the correct runtime, package manager, and scope.
388
+ - Do not silently preserve abusive bypasses just because a command passes.
389
+ - Do not present Round 1 findings on top of masking that should already have been removed.
378
390
  - Do not auto-fix Lot 2 without strong local justification.
379
391
  - Do not turn this booster into a whole-project refactor.
380
392
  - Do not invent auxiliary work just because a scenario pattern exists; stay focused on lint and typecheck.
381
393
 
382
- ## ARTIFACT GENERATION
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.
384
-
385
- - **Uniqueness rule:** If the slug already exists in `@booster-generated/audit/`, generate a new variation of the name instead of overwriting
394
+ ## 11. ARTIFACT GENERATION (CRITICAL — NEVER SKIP)
395
+ During execution, create a state file at `@booster-generated/audit/<slug>.md` tracking history, decisions, rules, and outcomes in dense, non-conversational format.
396
+
397
+ This artifact is mandatory and fundamental to this booster.
398
+ You must treat it as a hard requirement, not as a suggestion.
399
+
400
+ Create it even when:
401
+ - there is only one finding
402
+ - setup is already healthy
403
+ - the audit result is small
404
+ - the user stops after Stage 1 or Round 1
405
+
406
+ Create it before presenting the first substantial audit result.
407
+ Then keep it updated on every relevant pass of the flow.
408
+ This is not optional.
409
+
410
+ You MUST update the artifact after:
411
+ - the setup-only pass is completed
412
+ - Round 1 scan/classification is completed
413
+ - `Lot 1` is approved and executed
414
+ - each meaningful Lot 1 recheck loop
415
+ - deeper `Lot 2` analysis begins
416
+ - deeper analysis reclassifies findings
417
+ - new fixes are applied
418
+ - the user changes the audit state with follow-up decisions
419
+ - any point where the state of the audit materially changes
420
+
421
+ Treat this file as the persistent audit trail for the session.
422
+ It must preserve:
423
+ - environment/runtime health
424
+ - what was found
425
+ - what was removed
426
+ - what was changed
427
+ - what was partially resolved
428
+ - what was intentionally left untouched
429
+ - what still needs review
430
+ - what remains pending for the user
431
+
432
+ The artifact, not the chat, is the detailed memory of the audit.
433
+ If something breaks later, this file must explain what was done and why.
434
+
435
+ - **Uniqueness rule:** If the slug already exists in `@booster-generated/audit/`, generate a new variation instead of overwriting
386
436
  - **Notification rule:** After writing, notify the user with: 📝 Registo em `@booster-generated/audit/<slug>.md`
387
437
 
438
+ Do NOT skip artifact creation for small audits.
439
+ Do NOT wait for the user to remind you about the artifact.
440
+ Do NOT postpone artifact creation until the end.
388
441
  Do NOT update this file silently in the background.
442
+ Do NOT advance the audit flow while forgetting to reflect the new state in the artifact.
389
443
 
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.
444
+ **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, remove clearly abusive masking and bypasses as part of the default audit mission, create the artifact before the first substantial report, and keep chat concise. Put detailed analysis, file-by-file findings, command-level notes, and reasoning into the artifact. Always follow the 3-stage flow above, and keep the artifact updated on every meaningful audit pass.