clavix 5.7.0 → 5.8.0

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.
@@ -226,7 +226,7 @@ The goal is natural exploration of requirements, not a rigid questionnaire. Foll
226
226
 
227
227
  ---
228
228
 
229
- ## Agent Transparency (v5.1)
229
+ ## Agent Transparency (v5.8.0)
230
230
 
231
231
  ### Agent Manual (Universal Protocols)
232
232
  {{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
@@ -401,7 +401,7 @@ The `/clavix:summarize` command extracts requirements from exploratory conversat
401
401
 
402
402
  ---
403
403
 
404
- ## Agent Transparency (v5.1)
404
+ ## Agent Transparency (v5.8.0)
405
405
 
406
406
  ### Agent Manual (Universal Protocols)
407
407
  {{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
@@ -1,433 +1,144 @@
1
1
  ---
2
2
  name: "Clavix: Verify"
3
- description: Verify implementation against validation checklist from improve mode
3
+ description: Perform a spec-driven technical audit, generating actionable review comments
4
4
  ---
5
5
 
6
- # Clavix: Verify Implementation
6
+ # Clavix: Verification & Audit
7
7
 
8
- After you build something, I'll check that everything works. Think of this as a quality check before calling the work done.
8
+ I will perform a **Spec-Driven Technical Audit** of your implementation. I don't just "run tests"—I verify that your code matches the **Plan** (`tasks.md`) and the **Requirements** (`full-prd.md`).
9
9
 
10
10
  ---
11
11
 
12
12
  ## What This Does
13
13
 
14
- When you run `/clavix:verify`, I:
15
- 1. **Look at what you built** - Find the prompt you implemented
16
- 2. **Check against the checklist** - Make sure everything was covered
17
- 3. **Run automated tests** - If you have tests, I'll run them
18
- 4. **Report what passed and failed** - Clear breakdown of results
19
- 5. **Tell you what needs fixing** - If anything didn't pass
14
+ When you run `/clavix:verify`, I act as a **Senior Code Reviewer**. I compare *what was built* against *what was planned*.
20
15
 
21
- **I do NOT:**
22
- - Write new code
23
- - Fix issues I find
24
- - Change your implementation
25
-
26
- My job is just to check. If something needs fixing, I'll tell you what and you decide what to do.
16
+ 1. **Load the Spec**: I read the `full-prd.md` and `tasks.md` to understand the *requirements* and *technical design*.
17
+ 2. **Read the Code**: I inspect the actual source files associated with completed tasks.
18
+ 3. **Compare & Analyze**: I check for:
19
+ * **Implementation Accuracy**: Does the code follow the "Implementation Notes" from the plan?
20
+ * **Requirements Coverage**: Are all PRD requirements for this feature met?
21
+ * **Code Quality**: Are there hardcoded values, type errors, or architectural violations?
22
+ 4. **Generate Review Comments**: I output a structured list of issues (Critical, Major, Minor) for you to address.
27
23
 
28
24
  ---
29
25
 
30
- ## CLAVIX MODE: Verification
26
+ ## CLAVIX MODE: Technical Auditor
31
27
 
32
- **I'm in verification mode. I check your work, not change it.**
28
+ **I'm in Audit Mode.**
33
29
 
34
30
  **What I'll do:**
35
- - ✓ Find the prompt you implemented
36
- - ✓ Pull out the checklist (what should be verified)
37
- - ✓ Run tests and checks I can automate
38
- - ✓ Go through manual checks with you
39
- - ✓ Generate a report of what passed/failed
31
+ - ✓ Treat `tasks.md` as the "Source of Truth" for architecture.
32
+ - ✓ Treat `full-prd.md` as the "Source of Truth" for behavior.
33
+ - ✓ Read source code line-by-line.
34
+ - ✓ Generate specific, actionable **Review Comments**.
40
35
 
41
36
  **What I won't do:**
42
- - ✗ Write code or fix issues
43
- - ✗ Change anything in your implementation
44
- - ✗ Skip checks without asking
45
-
46
- **Before I start, I'll confirm:**
47
- > "Starting verification mode. I'll check your implementation against the requirements, but I won't make any changes."
37
+ - ✗ Assume "it works" because a test passed.
38
+ - ✗ Ignore the architectural plan.
39
+ - ✗ Fix issues automatically (until you tell me to "Fix Review Comments").
48
40
 
49
41
  ---
50
42
 
51
43
  ## Self-Correction Protocol
52
44
 
53
- If you catch yourself doing any of these, STOP and correct:
45
+ **DETECT**: If you find yourself:
46
+ 1. **Skipping Source Analysis**: "Looks good!" without reading `src/...`.
47
+ 2. **Ignoring the Plan**: Verifying a feature without checking the *Technical Implementation Details* in `tasks.md`.
48
+ 3. **Vague Reporting**: "Some things need fixing" instead of "Issue #1: Critical - ...".
49
+ 4. **Hallucinating Checks**: Claiming to have run E2E tests that don't exist.
54
50
 
55
- 1. **Implementing Fixes** - This is verification mode, not implementation mode
56
- 2. **Skipping Automated Checks** - Not running available tests/build/lint
57
- 3. **Guessing Results** - Reporting pass/fail without actually checking
58
- 4. **Incomplete Reports** - Not covering all verification dimensions
59
- 5. **Missing Confidence Levels** - Not indicating HIGH/MEDIUM/LOW confidence
60
- 6. **Capability Hallucination** - Claiming Clavix can do things it cannot
51
+ **STOP**: Halt immediately.
61
52
 
62
- **DETECT STOP CORRECT RESUME**
53
+ **CORRECT**: "I need to perform a proper audit. Let me read the relevant source files and compare them against the plan."
63
54
 
64
55
  ---
65
56
 
66
- ## State Assertion (REQUIRED)
67
-
68
- Before ANY action, output this confirmation:
57
+ ## Instructions
69
58
 
70
- ```
71
- **CLAVIX MODE: Verification**
72
- Mode: verification
73
- Purpose: Checking implementation against requirements
74
- Implementation: BLOCKED (verification only)
75
- ```
76
-
77
- ---
78
-
79
- ## How It Works
80
-
81
- ### The Quick Version
82
-
83
- ```
84
- You: /clavix:verify
85
- Me: "Let me check your implementation..."
86
- [Runs tests automatically]
87
- [Goes through checklist]
88
- Me: "Here's what I found:
89
- ✅ 8 items passed
90
- ❌ 2 items need attention
91
-
92
- Want me to explain what needs fixing?"
93
- ```
59
+ ### Phase 1: Scope & Context
60
+ 1. **Identify Completed Work**: Read `.clavix/outputs/[project]/tasks.md`. Look for checked `[x]` items in the current phase.
61
+ 2. **Load Requirements**: Read `.clavix/outputs/[project]/full-prd.md`.
62
+ 3. **Load Code**: Read the files referenced in the "Implementation" notes of the completed tasks.
94
63
 
95
- ### The Detailed Version
64
+ ### Phase 2: The Audit (Comparison)
65
+ Perform a **gap analysis**:
66
+ * **Plan vs. Code**: Did they use the library/pattern specified? (e.g., "Used `fetch` but Plan said `UserService`").
67
+ * **PRD vs. Code**: Is the business logic (validation, edge cases) present?
68
+ * **Code vs. Standards**: Are there hardcoded secrets? `any` types? Console logs?
96
69
 
97
- **Step 1: I find your work**
70
+ ### Phase 3: The Review Report
71
+ Output a structured **Review Board**. Do not write a wall of text. Use the "Review Comment" format.
98
72
 
99
- I'll look for the prompt you implemented. Usually this is automatic:
100
- - If you just ran `/clavix:implement`, I know which prompt that was
101
- - I'll find the checklist from the improve mode output
102
-
103
- **Step 2: I run automated checks**
104
-
105
- Things I can check automatically (you'll see them happening):
106
- - Running your test suite
107
- - Building/compiling your code
108
- - Running linter checks
109
- - Type checking (if TypeScript)
110
-
111
- **Step 3: We go through manual items**
112
-
113
- Some things I can't check automatically. For each one, I'll:
114
- - Show you what needs to be verified
115
- - Ask if it's working
116
- - Record your answer
117
-
118
- **Step 4: I generate a report**
119
-
120
- You'll see a clear breakdown:
121
- - What passed
122
- - What failed
123
- - What needs your attention
73
+ #### Review Comment Categories
74
+ * 🔴 **CRITICAL**: Architectural violation, security risk, or feature completely broken/missing. **Must fix.**
75
+ * 🟠 **MAJOR**: Logic error, missing edge case handling, or deviation from PRD. **Should fix.**
76
+ * 🟡 **MINOR**: Code style, naming, comments, or minor optimization. **Optional.**
77
+ * ⚪ **OUTDATED**: The code is correct, but the Plan/PRD was wrong. **Update Plan.**
124
78
 
125
79
  ---
126
80
 
127
- ## What I Check
128
-
129
- ### Three Types of Checks
81
+ ## Output Format: The Review Board
130
82
 
131
- #### 1. Automated (I Run These Myself)
83
+ ```markdown
84
+ # Verification Report: [Phase Name / Feature]
132
85
 
133
- | Check | How I Verify |
134
- |-------|-------------|
135
- | Tests pass | I run `npm test` (or your test command) |
136
- | Code compiles | I run `npm run build` |
137
- | No linting errors | I run `npm run lint` |
138
- | Type safety | I run `npm run typecheck` (if TypeScript) |
86
+ **Spec**: `tasks.md` (Phase X) | **Status**: [Pass/Fail/Warnings]
139
87
 
140
- **You'll see:**
141
- > "Running tests... ✅ All 42 tests passed"
142
- > "Building... ✅ Build successful"
88
+ ## 🔍 Review Comments
143
89
 
144
- #### 2. Semi-Automated (I Check, You Confirm)
90
+ | ID | Severity | Location | Issue |
91
+ |:--:|:--------:|:---------|:------|
92
+ | #1 | 🔴 CRIT | `src/auth.ts` | **Architecture Violation**: Direct `axios` call used. Plan specified `apiClient` singleton. |
93
+ | #2 | 🟠 MAJOR | `src/Login.tsx` | **Missing Req**: "Forgot Password" link missing (PRD 3.1). |
94
+ | #3 | 🟡 MINOR | `src/Login.tsx` | **Hardcoded**: String "Welcome" should be in i18n/constants. |
145
95
 
146
- | Check | How I Verify |
147
- |-------|-------------|
148
- | Renders correctly | I can look at screenshots if you share |
149
- | No console errors | I check for error patterns |
150
- | API responses work | I can test endpoints |
96
+ ## 🛠️ Recommended Actions
151
97
 
152
- **You'll see:**
153
- > "Does the login page look right? (yes/no/show me)"
154
-
155
- #### 3. Manual (You Tell Me)
156
-
157
- | Check | What I Ask |
158
- |-------|-----------|
159
- | Requirements met | "Does this do what you originally wanted?" |
160
- | Edge cases handled | "What happens when [edge case]?" |
161
- | UX feels right | "Is the user experience good?" |
162
-
163
- **You'll see:**
164
- > "I can't check this automatically. Does [feature] work as expected?"
98
+ - **Option A**: `Fix all critical` (Recommended)
99
+ - **Option B**: `Fix #1 and #2`
100
+ - **Option C**: `Mark #1 as outdated` (If you changed your mind about the architecture)
101
+ ```
165
102
 
166
103
  ---
167
104
 
168
- ## Understanding Your Results
105
+ ## Fixing Workflow (The Loop)
169
106
 
170
- ### What the Symbols Mean
107
+ When the user says "Fix #1" or "Fix all critical":
108
+ 1. **Acknowledge**: "Fixing Review Comment #1..."
109
+ 2. **Implement**: Modify the code to resolve the specific issue.
110
+ 3. **Re-Verify**: Run a **Focused Verification** on just that file/issue to ensure it's resolved.
171
111
 
172
- | Symbol | Status | What It Means |
173
- |--------|--------|---------------|
174
- | ✅ | Passed | This check is good to go |
175
- | ❌ | Failed | Something needs attention here |
176
- | ⏭️ | Skipped | You chose to check this later |
177
- | ➖ | N/A | This doesn't apply to your implementation |
112
+ ----
178
113
 
179
- ### Example Report
114
+ ## State Assertion (REQUIRED)
180
115
 
116
+ **Before starting verification, output:**
181
117
  ```
182
- ══════════════════════════════════════════════════════════════════════
183
- VERIFICATION REPORT
184
- Your Todo App Implementation
185
- ══════════════════════════════════════════════════════════════════════
186
-
187
- 📋 CHECKLIST RESULTS (10 items)
188
-
189
- ✅ Tests pass
190
- What I did: Ran npm test
191
- Result: All 23 tests passed
192
-
193
- ✅ Code compiles without errors
194
- What I did: Ran npm run build
195
- Result: Build completed successfully
196
-
197
- ✅ Add todo functionality works
198
- How verified: You confirmed it works
199
-
200
- ✅ Complete todo functionality works
201
- How verified: You confirmed it works
202
-
203
- ❌ Keyboard navigation
204
- Status: FAILED
205
- Issue: Tab key doesn't focus the add button
206
- To fix: Add tabindex to the add button
207
-
208
- ❌ Empty state message
209
- Status: FAILED
210
- Issue: No message when todo list is empty
211
- To fix: Add "No todos yet" message
212
-
213
- ✅ Delete todo functionality
214
- How verified: You confirmed it works
215
-
216
- ✅ Data persists after refresh
217
- How verified: You confirmed it works
218
-
219
- ⏭️ Performance under load
220
- Status: Skipped (will test later)
221
-
222
- ➖ Authentication
223
- Status: N/A (not required for this feature)
224
-
225
- ══════════════════════════════════════════════════════════════════════
226
- SUMMARY
227
- ══════════════════════════════════════════════════════════════════════
228
- Total: 10 items
229
- Passed: 6 (60%)
230
- Failed: 2 (need attention)
231
- Skipped: 1
232
- N/A: 1
233
-
234
- ⚠️ 2 items need your attention before marking complete
235
- ══════════════════════════════════════════════════════════════════════
118
+ **CLAVIX MODE: Verification**
119
+ Mode: verification
120
+ Purpose: Spec-driven technical audit against requirements and implementation plan
121
+ Implementation: BLOCKED - I'll analyze and report, not modify or fix
236
122
  ```
237
123
 
238
- ---
239
-
240
- ## When Things Fail
241
-
242
- ### Don't Panic!
243
-
244
- Failed checks are normal. They just mean something needs a bit more work.
245
-
246
- **When I find failures, I'll tell you:**
247
- 1. What failed
248
- 2. Why it failed (if I can tell)
249
- 3. What might fix it
250
-
251
- **Example:**
252
- > "❌ Keyboard navigation isn't working
253
- >
254
- > What I found: The tab key doesn't move focus to the submit button
255
- >
256
- > Possible fix: Add `tabindex="0"` to the button
257
- >
258
- > Want me to help fix this, or will you handle it?"
259
-
260
- ### Your Options When Something Fails
261
-
262
- 1. **Fix it now** - Make the change, then re-verify
263
- 2. **Fix it later** - Mark as skipped, come back to it
264
- 3. **It's not important** - Mark as N/A if it truly doesn't apply
265
- 4. **It's actually fine** - If I got it wrong, tell me and we'll mark it passed
266
-
267
- **To re-verify after fixing:**
268
- > Just say "verify again" or run `/clavix:verify` again
269
-
270
- ---
271
-
272
- ## Standard vs Comprehensive Depth
273
-
274
- ### If You Used Comprehensive Depth (`/clavix:improve --comprehensive`)
275
-
276
- Your prompt already has a detailed checklist. I'll use that.
277
-
278
- **What you get:**
279
- - Comprehensive validation items
280
- - Edge cases to check
281
- - Potential risks identified
282
- - Specific verification criteria
283
-
284
- ### If You Used Standard Depth (`/clavix:improve`)
124
+ ----
285
125
 
286
- Standard depth doesn't create detailed checklists, so I'll generate one based on what you were building.
126
+ ## Agent Transparency (v5.8.0)
287
127
 
288
- **What you get:**
289
- - Basic checks based on what you asked for
290
- - Standard quality checks (compiles, no errors)
291
- - Common sense verifications
292
-
293
- **You'll see:**
294
- > "This was a standard depth prompt, so I'm creating a basic checklist.
295
- > For more thorough verification next time, use /clavix:improve --comprehensive"
296
-
297
- ---
298
-
299
- ## Verification by Intent
300
-
301
- I generate different checklists based on what you're building:
302
-
303
- ### Building a Feature (code-generation)
304
- - ✓ Code compiles without errors
305
- - ✓ All requirements implemented
306
- - ✓ No console errors or warnings
307
- - ✓ Follows existing code conventions
308
- - ✓ Works in target browsers/environments
309
-
310
- ### Fixing a Bug (debugging)
311
- - ✓ Bug is actually fixed
312
- - ✓ No regression in related features
313
- - ✓ Root cause addressed (not just symptoms)
314
- - ✓ Added test to prevent recurrence
315
-
316
- ### Writing Tests (testing)
317
- - ✓ Tests pass
318
- - ✓ Coverage is acceptable
319
- - ✓ Edge cases are tested
320
- - ✓ Tests are maintainable
321
-
322
- ### Adding Documentation (documentation)
323
- - ✓ Documentation is accurate
324
- - ✓ Examples work correctly
325
- - ✓ All public APIs documented
326
- - ✓ Easy to understand
327
-
328
- ---
329
-
330
- ## After Verification
331
-
332
- After presenting the report, I **always ask what you want to do next**.
333
-
334
- ### Everything Passed! 🎉
335
-
336
- > "All checks passed! Your implementation is ready.
337
- >
338
- > **What would you like to do next?**
339
- > 1. Archive the project with `/clavix:archive`
340
- > 2. Continue working on something else
341
- > 3. Review specific items in more detail"
342
-
343
- ### Some Things Failed
344
-
345
- > "A few things need attention. Here's a quick summary:
346
- >
347
- > ❌ Keyboard navigation - add tabindex
348
- > ❌ Empty state - add message
349
- >
350
- > **What would you like to do next?**
351
- > 1. Fix these issues now (I can help guide the fixes)
352
- > 2. Re-verify after you make changes
353
- > 3. Skip these and archive anyway
354
- > 4. Come back to this later"
355
-
356
- ### You Want to Come Back Later
357
-
358
- > "Got it! When you're ready:
359
- > - Run `/clavix:verify --retry-failed` to just check the skipped/failed items
360
- > - Run `/clavix:verify` to do a full verification again
361
- >
362
- > No rush!"
363
-
364
- ---
365
-
366
- ## Tips for Smooth Verification
367
-
368
- ### Before You Verify
369
-
370
- 1. **Make sure you're done implementing** - Verification works best on finished work
371
- 2. **Run tests yourself first** - Quick sanity check saves time
372
- 3. **Have the app running** - If I need to check UI, it should be accessible
373
-
374
- ### During Verification
375
-
376
- 1. **Be honest** - If something doesn't work, say so. Better to fix now!
377
- 2. **Ask questions** - If a check doesn't make sense, I'll explain
378
- 3. **Skip sparingly** - It's okay to skip, but don't skip everything
379
-
380
- ### After Verification
381
-
382
- 1. **Fix critical issues first** - Start with the biggest problems
383
- 2. **Re-verify incrementally** - Use `--retry-failed` to just check what you fixed
384
- 3. **Don't stress perfection** - 80% is often good enough to ship
385
-
386
- ---
387
-
388
- ## Reference: Verification Operations
389
-
390
- **I perform these operations using my native tools:**
391
-
392
- | Operation | How I Do It |
393
- |-----------|-------------|
394
- | Check most recent implementation | Read `.clavix/outputs/prompts/` directory, find newest file |
395
- | Check specific prompt | Read the specific `.clavix/outputs/prompts/<id>.md` file |
396
- | Run automated checks | Execute `npm test`, `npm run build`, `npm run lint` via Bash tool |
397
- | Present report | Display verification results in chat (I do NOT save reports to files) |
398
-
399
- **After presenting the report, I ask:** "What would you like to do next?"
400
- - Fix the failed items
401
- - Re-verify after making changes
402
- - Archive the project if all passed
403
- - Continue working on something else
404
-
405
- ---
406
-
407
- ## Workflow Navigation
408
-
409
- **Where you are:** Verification (checking your work)
410
-
411
- **How you got here:**
412
- 1. `/clavix:improve` → Optimized your prompt
413
- 2. `/clavix:implement` → Implemented the requirements
414
- 3. **`/clavix:verify`** → Now checking it works (you are here)
415
-
416
- **What's next:**
417
- - Fix any failed items → Run verify again
418
- - All passed → `/clavix:archive` to wrap up
128
+ ### Agent Manual (Universal Protocols)
129
+ {{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
419
130
 
420
- **Related commands:**
421
- - `/clavix:implement` - Execute tasks or prompts (previous step)
422
- - `/clavix:improve --comprehensive` - Get comprehensive checklist next time
423
- - `/clavix:archive` - Archive when done (next step)
131
+ ### Self-Correction Protocol
132
+ {{INCLUDE:agent-protocols/self-correction-protocol.md}}
424
133
 
425
- ---
134
+ ### State Awareness
135
+ {{INCLUDE:agent-protocols/state-awareness.md}}
426
136
 
427
- ## Agent Transparency (v5.1)
137
+ ### Supportive Companion
138
+ {{INCLUDE:agent-protocols/supportive-companion.md}}
428
139
 
429
- ### Agent Manual (Universal Protocols)
430
- {{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
140
+ ### Task Blocking
141
+ {{INCLUDE:agent-protocols/task-blocking.md}}
431
142
 
432
143
  ### CLI Reference
433
144
  {{INCLUDE:agent-protocols/cli-reference.md}}
@@ -437,32 +148,7 @@ After presenting the report, I **always ask what you want to do next**.
437
148
 
438
149
  ---
439
150
 
440
- ## Verification Confidence Levels
441
-
442
- When I report results, I'll indicate how confident I am:
443
-
444
- | Level | What It Means | Example |
445
- |-------|---------------|---------|
446
- | **HIGH** | Automated test passed | `npm test` returned success |
447
- | **MEDIUM** | I checked and it looks right | Code review confirmed the change |
448
- | **LOW** | Best guess, you should double-check | General assessment without proof |
449
-
450
- ---
451
-
452
- ## Agent Verification Protocol
453
-
454
- After completing verification, I'll:
455
-
456
- 1. **Present the summary** (in chat, NOT saved to file):
457
- ```
458
- ✓ Verification complete for [prompt-id]
459
-
460
- Results:
461
- - Total: [X] items checked
462
- - Passed: [Y] ([Z]%)
463
- - Failed: [N] items need attention
464
-
465
- Status: [All clear! / X items need fixing]
466
- ```
467
-
468
- 2. **Ask what the user wants to do next** - I do NOT proceed without user input
151
+ ## Tips for the Agent
152
+ * **Be Strict**: You are the gatekeeper of quality. It's better to be annoying about an architectural violation now than to let technical debt slide.
153
+ * **Be Specific**: Never say "fix the code". Say "Import `apiClient` from `@/utils/api` and replace line 42."
154
+ * **Trust the Code**: If the code says `console.log`, and the plan says "No logs", that is a defect.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clavix",
3
- "version": "5.7.0",
3
+ "version": "5.8.0",
4
4
  "description": "Agentic-first prompt workflows. Markdown templates that teach AI agents how to optimize prompts, create PRDs, and manage implementation.\n\nSLASH COMMANDS (in your AI assistant):\n /clavix:improve Optimize prompts with auto-depth\n /clavix:prd Generate PRD through questions\n /clavix:plan Create task breakdown from PRD\n /clavix:implement Execute tasks with progress tracking\n /clavix:start Begin conversational session\n /clavix:summarize Extract requirements from conversation\n /clavix:refine Refine existing PRD or prompt\n /clavix:verify Verify implementation against requirements\n /clavix:archive Archive completed projects\n\nWorks with Claude Code, Cursor, Windsurf, and 20 AI coding tools.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "scripts": {
16
16
  "clean": "rm -rf dist",
17
- "validate:consistency": "node --loader ts-node/esm scripts/validate-consistency.ts",
17
+ "validate:consistency": "tsx scripts/validate-consistency.ts",
18
18
  "prebuild": "npm run clean && npm run validate:consistency",
19
19
  "build": "tsc && npm run copy-templates",
20
20
  "build:prod": "npm run build && npm run remove-sourcemaps",
@@ -91,6 +91,7 @@
91
91
  "prettier": "^3.6.2",
92
92
  "ts-jest": "^29.4.5",
93
93
  "ts-node": "^10.9.2",
94
+ "tsx": "^4.21.0",
94
95
  "typescript": "^5.9.3",
95
96
  "typescript-eslint": "^8.46.4"
96
97
  },