clavix 5.7.1 → 5.8.1
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/dist/cli/commands/init.d.ts +0 -1
- package/dist/cli/commands/init.js +1 -42
- package/dist/cli/commands/update.d.ts +0 -1
- package/dist/cli/commands/update.js +2 -44
- package/dist/cli/helpers/init/commands.d.ts +0 -13
- package/dist/cli/helpers/init/commands.js +0 -25
- package/dist/templates/slash-commands/_canonical/archive.md +4 -1
- package/dist/templates/slash-commands/_canonical/implement.md +1 -1
- package/dist/templates/slash-commands/_canonical/improve.md +1 -1
- package/dist/templates/slash-commands/_canonical/plan.md +130 -341
- package/dist/templates/slash-commands/_canonical/prd.md +4 -1
- package/dist/templates/slash-commands/_canonical/refine.md +4 -1
- package/dist/templates/slash-commands/_canonical/start.md +7 -1
- package/dist/templates/slash-commands/_canonical/summarize.md +4 -1
- package/dist/templates/slash-commands/_canonical/verify.md +77 -340
- package/package.json +1 -1
- package/dist/utils/legacy-command-cleanup.d.ts +0 -19
- package/dist/utils/legacy-command-cleanup.js +0 -99
|
@@ -1,378 +1,129 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: "Clavix: Verify
|
|
3
|
-
description:
|
|
2
|
+
name: "Clavix: Verify"
|
|
3
|
+
description: Perform a spec-driven technical audit, generating actionable review comments
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Clavix:
|
|
6
|
+
# Clavix: Verification & Audit
|
|
7
7
|
|
|
8
|
-
|
|
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. **Find what you built** - Auto-detect the prompt or tasks you implemented
|
|
16
|
-
2. **Run all the checks** - Tests, builds, linting, and more
|
|
17
|
-
3. **Verify the features** - Make sure everything from your requirements works
|
|
18
|
-
4. **Give you a clear report** - What passed, what failed, what needs attention
|
|
19
|
-
5. **Help you fix issues** - Specific suggestions for anything that needs work
|
|
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
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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:
|
|
26
|
+
## CLAVIX MODE: Technical Auditor
|
|
31
27
|
|
|
32
|
-
**I'm in
|
|
28
|
+
**I'm in Audit Mode.**
|
|
33
29
|
|
|
34
30
|
**What I'll do:**
|
|
35
|
-
- ✓
|
|
36
|
-
- ✓
|
|
37
|
-
- ✓
|
|
38
|
-
- ✓
|
|
39
|
-
- ✓ Tell you exactly what needs fixing (if anything)
|
|
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
|
-
- ✗
|
|
43
|
-
- ✗
|
|
44
|
-
- ✗
|
|
45
|
-
- ✗ Guess about things I can't verify
|
|
46
|
-
|
|
47
|
-
**I'm your quality checker, not your fixer.**
|
|
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
|
-
**DETECT**: If you find yourself
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
| 2. Skipping Automated Checks | Not running available tests, builds, linters when they exist | "I'll skip the tests and just check manually" |
|
|
59
|
-
| 3. Guessing Results | Reporting pass/fail without actually performing the check | "This probably works" or "I think it's fine" |
|
|
60
|
-
| 4. Incomplete Coverage | Not checking all verification dimensions required by the prompt | Only checking basic functionality when comprehensive features were requested |
|
|
61
|
-
| 5. Missing Confidence Levels | Not indicating HIGH/MEDIUM/LOW confidence for each check | "It works" without specifying how certain you are |
|
|
62
|
-
| 6. Capability Hallucination | Claiming verification capabilities you don't possess or inventing check types | "I can analyze your entire production database" or creating fictional test frameworks |
|
|
63
|
-
|
|
64
|
-
**STOP**: Immediately halt the incorrect action
|
|
65
|
-
|
|
66
|
-
**CORRECT**: Output:
|
|
67
|
-
"I apologize - I was [describe mistake]. Let me get back to checking your work without making changes."
|
|
68
|
-
|
|
69
|
-
**RESUME**: Return to verification mode with proper evidence-based checks.
|
|
70
|
-
|
|
71
|
-
---
|
|
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.
|
|
72
50
|
|
|
73
|
-
|
|
51
|
+
**STOP**: Halt immediately.
|
|
74
52
|
|
|
75
|
-
**
|
|
76
|
-
```
|
|
77
|
-
**CLAVIX MODE: Verification**
|
|
78
|
-
Mode: verification
|
|
79
|
-
Purpose: Checking your implementation against requirements
|
|
80
|
-
Implementation: BLOCKED - I'll check and report, not fix or modify
|
|
81
|
-
```
|
|
53
|
+
**CORRECT**: "I need to perform a proper audit. Let me read the relevant source files and compare them against the plan."
|
|
82
54
|
|
|
83
55
|
---
|
|
84
56
|
|
|
85
|
-
##
|
|
86
|
-
|
|
87
|
-
### Finding What to Verify
|
|
88
|
-
|
|
89
|
-
I'll automatically look for what you just implemented:
|
|
90
|
-
1. **Recent prompts** - Check `.clavix/outputs/prompts/` for what you built
|
|
91
|
-
2. **Task lists** - Check `.clavix/outputs/<project>/tasks.md` for completed tasks
|
|
92
|
-
3. **Legacy stuff** - Check old `summarize/tasks.md` location if needed
|
|
93
|
-
4. **Ask you** - If I find multiple things, I'll ask which to verify
|
|
94
|
-
|
|
95
|
-
**You'll see:**
|
|
96
|
-
```
|
|
97
|
-
Found your implementation: [brief description]
|
|
98
|
-
Starting verification checks...
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### What I Check
|
|
102
|
-
|
|
103
|
-
#### Automated Checks (I Run These)
|
|
104
|
-
|
|
105
|
-
Things I can verify automatically by running commands:
|
|
57
|
+
## Instructions
|
|
106
58
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
- Verify type safety (TypeScript, mypy, etc.)
|
|
112
|
-
- Scan for security vulnerabilities
|
|
113
|
-
- Run integration tests if you have them
|
|
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.
|
|
114
63
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
Building code...
|
|
121
|
-
✅ Clean build, no errors
|
|
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?
|
|
122
69
|
|
|
123
|
-
|
|
124
|
-
|
|
70
|
+
### Phase 3: The Review Report
|
|
71
|
+
Output a structured **Review Board**. Do not write a wall of text. Use the "Review Comment" format.
|
|
125
72
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
Things I can analyze but need your input on:
|
|
132
|
-
|
|
133
|
-
**Requirements Coverage:**
|
|
134
|
-
- Did I build all the features you asked for?
|
|
135
|
-
- Does the implementation match what you wanted?
|
|
136
|
-
- Are there missing pieces?
|
|
137
|
-
|
|
138
|
-
**User Experience:**
|
|
139
|
-
- Does the interface work smoothly?
|
|
140
|
-
- Are there console errors or warnings?
|
|
141
|
-
- Does it feel right to use?
|
|
142
|
-
|
|
143
|
-
**Integration & Performance:**
|
|
144
|
-
- Do API calls work correctly?
|
|
145
|
-
- Is performance acceptable?
|
|
146
|
-
- Does it handle real-world data?
|
|
147
|
-
|
|
148
|
-
**You'll see:**
|
|
149
|
-
```
|
|
150
|
-
Checking requirements coverage...
|
|
151
|
-
Found all 5 requested features implemented.
|
|
152
|
-
|
|
153
|
-
Does the login flow work as you expected? (yes/no)
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
#### Things You Tell Me
|
|
157
|
-
|
|
158
|
-
Some things only you can verify:
|
|
159
|
-
|
|
160
|
-
- Does it solve your original problem?
|
|
161
|
-
- Are the business rules correct?
|
|
162
|
-
- Do edge cases work properly?
|
|
163
|
-
- Is it ready for production?
|
|
164
|
-
- Is documentation good enough?
|
|
165
|
-
|
|
166
|
-
### Understanding Your Results
|
|
167
|
-
|
|
168
|
-
**What the symbols mean:**
|
|
169
|
-
|
|
170
|
-
| Symbol | Status | What It Means |
|
|
171
|
-
|--------|--------|---------------|
|
|
172
|
-
| ✅ | Passed | This check is good |
|
|
173
|
-
| ❌ | Failed | Needs fixing |
|
|
174
|
-
| ⏭️ | Skipped | Check this later |
|
|
175
|
-
| ➖ | N/A | Doesn't apply to your project |
|
|
176
|
-
|
|
177
|
-
**Confidence levels:**
|
|
178
|
-
- **HIGH** - I ran tests/commands, saw the results
|
|
179
|
-
- **MEDIUM** - I analyzed code and got your confirmation
|
|
180
|
-
- **LOW** - Based on what you told me
|
|
181
|
-
|
|
182
|
-
**Example report:**
|
|
183
|
-
```
|
|
184
|
-
Verification Complete: User Authentication
|
|
185
|
-
|
|
186
|
-
✅ AUTOMATED CHECKS
|
|
187
|
-
Tests: 23/23 passed
|
|
188
|
-
Build: Clean, no errors
|
|
189
|
-
Linting: No issues
|
|
190
|
-
Type Safety: All good
|
|
191
|
-
|
|
192
|
-
⚠️ REQUIREMENTS COVERAGE
|
|
193
|
-
✅ User registration works
|
|
194
|
-
✅ Login/logout works
|
|
195
|
-
❌ Password reset missing
|
|
196
|
-
✅ Session management works
|
|
197
|
-
|
|
198
|
-
📝 YOUR INPUT NEEDED
|
|
199
|
-
Business Logic: You confirmed it's correct
|
|
200
|
-
Ready for production: You said yes
|
|
201
|
-
|
|
202
|
-
OVERALL: 85% - Ready with minor improvements
|
|
203
|
-
STATUS: Address password reset before launch
|
|
204
|
-
```
|
|
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.**
|
|
205
78
|
|
|
206
79
|
---
|
|
207
80
|
|
|
208
|
-
##
|
|
209
|
-
|
|
210
|
-
### Don't Panic
|
|
211
|
-
|
|
212
|
-
Failed checks are normal. They just tell you what needs work.
|
|
213
|
-
|
|
214
|
-
**Critical issues (must fix before shipping):**
|
|
215
|
-
- ❌ Tests failing
|
|
216
|
-
- ❌ Code won't build
|
|
217
|
-
- ❌ Type errors
|
|
218
|
-
- ❌ Missing core features
|
|
219
|
-
|
|
220
|
-
**Nice to fix (but not blockers):**
|
|
221
|
-
- ⚠️ Linting warnings
|
|
222
|
-
- ⚠️ Performance could be better
|
|
223
|
-
- ⚠️ Documentation is thin
|
|
224
|
-
- ⚠️ Edge cases need work
|
|
81
|
+
## Output Format: The Review Board
|
|
225
82
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
2. Suggest how to fix it
|
|
229
|
-
3. Offer to re-check after you make changes
|
|
230
|
-
4. Point you to help if it's complex
|
|
83
|
+
```markdown
|
|
84
|
+
# Verification Report: [Phase Name / Feature]
|
|
231
85
|
|
|
232
|
-
|
|
86
|
+
**Spec**: `tasks.md` (Phase X) | **Status**: [Pass/Fail/Warnings]
|
|
233
87
|
|
|
234
|
-
|
|
235
|
-
```
|
|
236
|
-
❌ Tests failed: 3 of 23 integration tests
|
|
237
|
-
|
|
238
|
-
Error: "User authentication endpoint not found"
|
|
239
|
-
|
|
240
|
-
What to check:
|
|
241
|
-
1. Are your auth routes set up correctly?
|
|
242
|
-
2. Is the API endpoint configured right?
|
|
243
|
-
3. Try running tests individually to see more details
|
|
244
|
-
|
|
245
|
-
When you've fixed it: Just run /clavix:verify again
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
**Example 2: Missing features**
|
|
249
|
-
```
|
|
250
|
-
⚠️ Found 2 features from your requirements that aren't implemented:
|
|
251
|
-
|
|
252
|
-
- Password reset functionality
|
|
253
|
-
- Admin user management
|
|
254
|
-
|
|
255
|
-
These were in your original requirements. Want to:
|
|
256
|
-
- Build them now?
|
|
257
|
-
- Remove them from requirements?
|
|
258
|
-
- Ship without them for now?
|
|
259
|
-
```
|
|
88
|
+
## 🔍 Review Comments
|
|
260
89
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
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. |
|
|
264
95
|
|
|
265
|
-
|
|
266
|
-
- Found some slow database queries
|
|
267
|
-
- Page load: 4.2s (could be faster)
|
|
96
|
+
## 🛠️ Recommended Actions
|
|
268
97
|
|
|
269
|
-
|
|
270
|
-
-
|
|
271
|
-
-
|
|
272
|
-
- Use lazy loading for heavy components
|
|
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)
|
|
273
101
|
```
|
|
274
102
|
|
|
275
103
|
---
|
|
276
104
|
|
|
277
|
-
##
|
|
278
|
-
|
|
279
|
-
### Comprehensive Mode
|
|
280
|
-
|
|
281
|
-
If you used `/clavix:improve --comprehensive` for your prompt, I'll do deeper checks:
|
|
282
|
-
- More thorough edge case testing
|
|
283
|
-
- Performance benchmarking
|
|
284
|
-
- Security vulnerability scanning
|
|
285
|
-
- Accessibility checks (WCAG compliance)
|
|
286
|
-
- Cross-browser testing recommendations
|
|
287
|
-
|
|
288
|
-
### Project-Specific Checks
|
|
289
|
-
|
|
290
|
-
I adjust what I check based on what you're building:
|
|
291
|
-
|
|
292
|
-
**Web Apps:**
|
|
293
|
-
- Responsive design (works on mobile?)
|
|
294
|
-
- Browser compatibility
|
|
295
|
-
- Accessibility basics
|
|
296
|
-
- SEO optimization
|
|
297
|
-
|
|
298
|
-
**APIs:**
|
|
299
|
-
- All endpoints working?
|
|
300
|
-
- Auth/security correct?
|
|
301
|
-
- Rate limiting in place?
|
|
302
|
-
- API docs complete?
|
|
303
|
-
|
|
304
|
-
**Mobile Apps:**
|
|
305
|
-
- Platform guidelines followed?
|
|
306
|
-
- Performance optimized?
|
|
307
|
-
- Battery usage reasonable?
|
|
308
|
-
- Ready for app store?
|
|
309
|
-
|
|
310
|
-
---
|
|
311
|
-
|
|
312
|
-
## After Verification
|
|
105
|
+
## Fixing Workflow (The Loop)
|
|
313
106
|
|
|
314
|
-
|
|
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.
|
|
315
111
|
|
|
316
|
-
|
|
112
|
+
----
|
|
317
113
|
|
|
318
|
-
|
|
319
|
-
All checks passed! Your implementation is solid.
|
|
320
|
-
|
|
321
|
-
What would you like to do next?
|
|
322
|
-
1. Archive this project with /clavix:archive
|
|
323
|
-
2. Keep working on improvements
|
|
324
|
-
3. Review specific items in detail
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
### Some Things Failed
|
|
328
|
-
|
|
329
|
-
When there are issues, I'll be specific:
|
|
114
|
+
## State Assertion (REQUIRED)
|
|
330
115
|
|
|
116
|
+
**Before starting verification, output:**
|
|
331
117
|
```
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
What would you like to do?
|
|
338
|
-
1. Fix these now (I can help)
|
|
339
|
-
2. Fix them later
|
|
340
|
-
3. Ship without them (if not critical)
|
|
341
|
-
4. Archive anyway
|
|
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
|
|
342
122
|
```
|
|
343
123
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
After you fix things:
|
|
347
|
-
- Run `/clavix:verify` again for a full check
|
|
348
|
-
- Or use `/clavix:verify --retry-failed` to just re-check what failed
|
|
349
|
-
|
|
350
|
-
No rush! Fix things at your own pace.
|
|
351
|
-
|
|
352
|
-
---
|
|
124
|
+
----
|
|
353
125
|
|
|
354
|
-
##
|
|
355
|
-
|
|
356
|
-
**You are here:** Verify (checking your work)
|
|
357
|
-
|
|
358
|
-
**How you got here:**
|
|
359
|
-
1. `/clavix:improve` → Made your prompt better
|
|
360
|
-
2. `/clavix:implement` → Built what you needed
|
|
361
|
-
3. **`/clavix:verify`** → Now checking it works (you are here)
|
|
362
|
-
|
|
363
|
-
**What's next:**
|
|
364
|
-
- Fix any issues → Run `/clavix:verify` again
|
|
365
|
-
- Everything good → `/clavix:archive` to wrap up
|
|
366
|
-
- Need help fixing → I can guide you
|
|
367
|
-
|
|
368
|
-
**Related commands:**
|
|
369
|
-
- `/clavix:implement` - Go back and fix issues
|
|
370
|
-
- `/clavix:archive` - Archive when done
|
|
371
|
-
- `/clavix:verify --retry-failed` - Just re-check what failed
|
|
372
|
-
|
|
373
|
-
---
|
|
374
|
-
|
|
375
|
-
## Agent Transparency (v5.7.1)
|
|
126
|
+
## Agent Transparency (v5.8.1)
|
|
376
127
|
|
|
377
128
|
### Agent Manual (Universal Protocols)
|
|
378
129
|
{{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
|
|
@@ -397,21 +148,7 @@ No rush! Fix things at your own pace.
|
|
|
397
148
|
|
|
398
149
|
---
|
|
399
150
|
|
|
400
|
-
## Tips for
|
|
401
|
-
|
|
402
|
-
**
|
|
403
|
-
|
|
404
|
-
- Run tests yourself first (quick sanity check)
|
|
405
|
-
- Have your app running if I need to check the UI
|
|
406
|
-
|
|
407
|
-
**During verification:**
|
|
408
|
-
- Be honest - if something doesn't work, say so
|
|
409
|
-
- Ask questions if a check doesn't make sense
|
|
410
|
-
- It's okay to skip some checks and come back later
|
|
411
|
-
|
|
412
|
-
**After verification:**
|
|
413
|
-
- Fix critical stuff first (tests, builds, core features)
|
|
414
|
-
- Use `--retry-failed` to just re-check what you fixed
|
|
415
|
-
- Don't stress perfection - good enough is often good enough to ship
|
|
416
|
-
|
|
417
|
-
**Remember:** I'm just checking, not judging. Failed checks help you ship better work!
|
|
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.
|
|
3
|
+
"version": "5.8.1",
|
|
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",
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Legacy Command Cleanup Utility
|
|
3
|
-
*
|
|
4
|
-
* This module handles cleanup of old command naming patterns from previous
|
|
5
|
-
* Clavix versions. It identifies files using deprecated naming conventions
|
|
6
|
-
* and assists in migration to the current standard.
|
|
7
|
-
*
|
|
8
|
-
* Handles cleanup of:
|
|
9
|
-
* - fast.md, deep.md (replaced by improve.md in v4.11+)
|
|
10
|
-
* - Old naming patterns (clavix-{name} vs {name})
|
|
11
|
-
* - Subdirectory migration for Cline and Claude Code
|
|
12
|
-
*
|
|
13
|
-
* This module will be removed when v4->v5 migration support ends.
|
|
14
|
-
*
|
|
15
|
-
* @since v4.12.0
|
|
16
|
-
*/
|
|
17
|
-
import { AgentAdapter } from '../types/agent.js';
|
|
18
|
-
export declare function collectLegacyCommandFiles(adapter: AgentAdapter, commandNames: string[]): Promise<string[]>;
|
|
19
|
-
//# sourceMappingURL=legacy-command-cleanup.d.ts.map
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Legacy Command Cleanup Utility
|
|
3
|
-
*
|
|
4
|
-
* This module handles cleanup of old command naming patterns from previous
|
|
5
|
-
* Clavix versions. It identifies files using deprecated naming conventions
|
|
6
|
-
* and assists in migration to the current standard.
|
|
7
|
-
*
|
|
8
|
-
* Handles cleanup of:
|
|
9
|
-
* - fast.md, deep.md (replaced by improve.md in v4.11+)
|
|
10
|
-
* - Old naming patterns (clavix-{name} vs {name})
|
|
11
|
-
* - Subdirectory migration for Cline and Claude Code
|
|
12
|
-
*
|
|
13
|
-
* This module will be removed when v4->v5 migration support ends.
|
|
14
|
-
*
|
|
15
|
-
* @since v4.12.0
|
|
16
|
-
*/
|
|
17
|
-
import * as path from 'path';
|
|
18
|
-
import { FileSystem } from './file-system.js';
|
|
19
|
-
/**
|
|
20
|
-
* v4.12: Deprecated commands that have been replaced
|
|
21
|
-
* - fast → improve (unified with auto-depth)
|
|
22
|
-
* - deep → improve --comprehensive
|
|
23
|
-
*/
|
|
24
|
-
const DEPRECATED_COMMANDS = ['fast', 'deep'];
|
|
25
|
-
export async function collectLegacyCommandFiles(adapter, commandNames) {
|
|
26
|
-
const legacyPaths = new Set();
|
|
27
|
-
const extension = adapter.fileExtension;
|
|
28
|
-
const commandDir = path.resolve(adapter.getCommandPath());
|
|
29
|
-
// v4.12: Clean up deprecated fast/deep commands
|
|
30
|
-
for (const deprecatedName of DEPRECATED_COMMANDS) {
|
|
31
|
-
// Check for various naming patterns across adapters
|
|
32
|
-
const candidates = [
|
|
33
|
-
path.resolve(commandDir, `${deprecatedName}${extension}`),
|
|
34
|
-
path.resolve(commandDir, `clavix-${deprecatedName}${extension}`),
|
|
35
|
-
path.resolve(commandDir, `clavix:${deprecatedName}${extension}`),
|
|
36
|
-
];
|
|
37
|
-
// For Claude Code with subdirectory structure
|
|
38
|
-
if (adapter.name === 'claude-code') {
|
|
39
|
-
const clavixDir = path.resolve(commandDir, 'clavix');
|
|
40
|
-
candidates.push(path.resolve(clavixDir, `${deprecatedName}${extension}`), path.resolve(clavixDir, `clavix-${deprecatedName}${extension}`));
|
|
41
|
-
}
|
|
42
|
-
for (const candidate of candidates) {
|
|
43
|
-
if (await FileSystem.exists(candidate)) {
|
|
44
|
-
legacyPaths.add(candidate);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
for (const name of commandNames) {
|
|
49
|
-
const newFilePath = path.resolve(commandDir, adapter.getTargetFilename(name));
|
|
50
|
-
const defaultFilePath = path.resolve(commandDir, `${name}${extension}`);
|
|
51
|
-
if (adapter.name === 'cline') {
|
|
52
|
-
const oldDir = path.resolve('.cline', 'workflows');
|
|
53
|
-
const oldCandidates = [
|
|
54
|
-
path.join(oldDir, `${name}${extension}`),
|
|
55
|
-
path.join(oldDir, `clavix-${name}${extension}`),
|
|
56
|
-
];
|
|
57
|
-
for (const candidate of oldCandidates) {
|
|
58
|
-
const resolvedCandidate = path.resolve(candidate);
|
|
59
|
-
if (resolvedCandidate !== newFilePath && (await FileSystem.exists(resolvedCandidate))) {
|
|
60
|
-
legacyPaths.add(resolvedCandidate);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
if (defaultFilePath !== newFilePath && (await FileSystem.exists(defaultFilePath))) {
|
|
64
|
-
legacyPaths.add(defaultFilePath);
|
|
65
|
-
}
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
if (adapter.name === 'gemini' || adapter.name === 'qwen') {
|
|
69
|
-
const namespaced = commandDir.endsWith(path.join('commands', 'clavix'));
|
|
70
|
-
if (!namespaced &&
|
|
71
|
-
defaultFilePath !== newFilePath &&
|
|
72
|
-
(await FileSystem.exists(defaultFilePath))) {
|
|
73
|
-
legacyPaths.add(defaultFilePath);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else if (defaultFilePath !== newFilePath && (await FileSystem.exists(defaultFilePath))) {
|
|
77
|
-
legacyPaths.add(defaultFilePath);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (adapter.name === 'claude-code') {
|
|
81
|
-
const commandsDir = path.resolve('.claude', 'commands');
|
|
82
|
-
const colonFiles = await FileSystem.listFiles(commandsDir, /^clavix:.*\.md$/);
|
|
83
|
-
for (const file of colonFiles) {
|
|
84
|
-
legacyPaths.add(path.resolve(path.join(commandsDir, file)));
|
|
85
|
-
}
|
|
86
|
-
const clavixDir = path.resolve(commandsDir, 'clavix');
|
|
87
|
-
const hyphenFiles = await FileSystem.listFiles(clavixDir, /^clavix-.*\.md$/);
|
|
88
|
-
for (const file of hyphenFiles) {
|
|
89
|
-
legacyPaths.add(path.resolve(path.join(clavixDir, file)));
|
|
90
|
-
}
|
|
91
|
-
// Remove task-complete.md (CLI-only command, not a user-facing slash command)
|
|
92
|
-
const taskCompleteFile = path.resolve(clavixDir, 'task-complete.md');
|
|
93
|
-
if (await FileSystem.exists(taskCompleteFile)) {
|
|
94
|
-
legacyPaths.add(taskCompleteFile);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return Array.from(legacyPaths);
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=legacy-command-cleanup.js.map
|