clavix 5.10.0 → 5.10.2
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/templates/slash-commands/_canonical/archive.md +1 -1
- package/dist/templates/slash-commands/_canonical/implement.md +107 -16
- package/dist/templates/slash-commands/_canonical/improve.md +1 -1
- package/dist/templates/slash-commands/_canonical/plan.md +1 -1
- package/dist/templates/slash-commands/_canonical/prd.md +1 -1
- package/dist/templates/slash-commands/_canonical/refine.md +1 -1
- package/dist/templates/slash-commands/_canonical/start.md +1 -1
- package/dist/templates/slash-commands/_canonical/summarize.md +1 -1
- package/dist/templates/slash-commands/_canonical/verify.md +1 -1
- package/dist/utils/path-resolver.js +25 -7
- package/package.json +1 -1
|
@@ -22,6 +22,21 @@ When you run `/clavix:implement`, I:
|
|
|
22
22
|
|
|
23
23
|
**You just say "implement" and I handle the rest.**
|
|
24
24
|
|
|
25
|
+
### Command Variations
|
|
26
|
+
|
|
27
|
+
**Parse the slash command content to determine implementation scope:**
|
|
28
|
+
|
|
29
|
+
| Command Pattern | Interpretation | Action |
|
|
30
|
+
|----------------|----------------|--------|
|
|
31
|
+
| `/clavix:implement` or `/clavix:implement all` | All tasks | Implement all pending tasks |
|
|
32
|
+
| `/clavix:implement task 3` | Single task | Implement only task #3 |
|
|
33
|
+
| `/clavix:implement` (no qualifier) | Unspecified | Ask user to choose |
|
|
34
|
+
|
|
35
|
+
**How to parse:**
|
|
36
|
+
1. Check if command contains "task <number>" pattern
|
|
37
|
+
2. Check if command contains "all" keyword
|
|
38
|
+
3. If neither → ask user for selection
|
|
39
|
+
|
|
25
40
|
### Detection Priority
|
|
26
41
|
|
|
27
42
|
```
|
|
@@ -59,12 +74,42 @@ Found tasks.md with [N] pending tasks in summarize/ (legacy location). Starting
|
|
|
59
74
|
|
|
60
75
|
This confirmation ensures the user knows exactly what will be implemented before any code is written.
|
|
61
76
|
|
|
62
|
-
###
|
|
77
|
+
### Task Selection (REQUIRED)
|
|
78
|
+
|
|
79
|
+
**When Task Implementation Mode is detected, you MUST determine task scope BEFORE starting:**
|
|
80
|
+
|
|
81
|
+
**Step 1: Parse the slash command**
|
|
82
|
+
- Check command content for: `task <N>` pattern (e.g., "task 3", "task 5")
|
|
83
|
+
- Check command content for: `all` keyword
|
|
84
|
+
- If neither found → proceed to Step 2
|
|
63
85
|
|
|
64
|
-
|
|
65
|
-
|
|
86
|
+
**Step 2: If no qualifier in command, ASK the user:**
|
|
87
|
+
> "I found [N] pending tasks in [project-name]. How would you like to proceed?
|
|
88
|
+
>
|
|
89
|
+
> Options:
|
|
90
|
+
> - **all** - Implement all pending tasks
|
|
91
|
+
> - **task <N>** - Implement only task number N (e.g., "task 3")
|
|
92
|
+
> - **list** - Show all tasks with numbers
|
|
93
|
+
>
|
|
94
|
+
> Which would you prefer?"
|
|
95
|
+
|
|
96
|
+
**Step 3: Handle selection**
|
|
97
|
+
- If "all" in command or user response → Implement all pending tasks
|
|
98
|
+
- If "task N" detected → Validate N exists, implement only that task
|
|
99
|
+
- If "list" requested → Show numbered list of incomplete tasks, ask again
|
|
100
|
+
|
|
101
|
+
**Step 4: Confirm before starting**
|
|
102
|
+
> "Found tasks.md with [N] pending tasks in [project-name].
|
|
103
|
+
>
|
|
104
|
+
> Mode: [ALL tasks | Single task #N: [task description]]
|
|
105
|
+
> Starting task implementation..."
|
|
106
|
+
|
|
107
|
+
### Prompt Execution Flags
|
|
108
|
+
|
|
109
|
+
For prompt execution mode (when tasks.md not found):
|
|
66
110
|
- `--prompt <id>` - Execute specific prompt by ID
|
|
67
111
|
- `--latest` - Execute most recent prompt
|
|
112
|
+
- `--tasks` - Force task mode (skip prompt check, use tasks.md)
|
|
68
113
|
|
|
69
114
|
---
|
|
70
115
|
|
|
@@ -103,6 +148,8 @@ If you catch yourself doing any of these, STOP and correct:
|
|
|
103
148
|
4. **Batch Task Completion** - Marking multiple tasks done without implementing each
|
|
104
149
|
5. **Ignoring Blocked Tasks** - Not reporting when a task cannot be completed
|
|
105
150
|
6. **Capability Hallucination** - Claiming Clavix can do things it cannot
|
|
151
|
+
7. **Not Parsing Command** - Not checking command content for "task N" or "all" before asking
|
|
152
|
+
8. **Wrong Task Number** - Not validating task number is within range before implementing
|
|
106
153
|
|
|
107
154
|
**DETECT → STOP → CORRECT → RESUME**
|
|
108
155
|
|
|
@@ -293,32 +340,54 @@ At the end of our session, I'll remind you:
|
|
|
293
340
|
|
|
294
341
|
## Example: What a Session Looks Like
|
|
295
342
|
|
|
343
|
+
### Single Task Mode
|
|
344
|
+
|
|
296
345
|
```
|
|
297
|
-
You: /clavix:implement
|
|
346
|
+
You: /clavix:implement task 3
|
|
298
347
|
|
|
299
348
|
Me: "Found your task list! Let me see where we are..."
|
|
300
349
|
|
|
301
|
-
"📋
|
|
350
|
+
"📋 8 total tasks, 0 complete
|
|
302
351
|
|
|
303
|
-
|
|
352
|
+
Implementing task 3: Create database models (phase-1-database-1)
|
|
304
353
|
|
|
305
|
-
Let me
|
|
354
|
+
I see this needs PostgreSQL with Prisma. Let me check your .env..."
|
|
306
355
|
|
|
307
|
-
[I create
|
|
356
|
+
[I create Prisma schema, run migrations]
|
|
308
357
|
|
|
309
|
-
"✓
|
|
358
|
+
"✓ Task 3 complete!
|
|
310
359
|
|
|
311
|
-
|
|
360
|
+
Progress: 1/8 tasks (12.5%)
|
|
361
|
+
Checkbox updated in tasks.md
|
|
312
362
|
|
|
313
|
-
|
|
363
|
+
Would you like to continue with another task?"
|
|
364
|
+
```
|
|
314
365
|
|
|
315
|
-
|
|
366
|
+
### All Tasks Mode (with user prompt)
|
|
316
367
|
|
|
317
|
-
|
|
368
|
+
```
|
|
369
|
+
You: /clavix:implement
|
|
370
|
+
|
|
371
|
+
Me: "Found your task list! Let me see where we are..."
|
|
372
|
+
|
|
373
|
+
"📋 8 total tasks, 0 complete
|
|
374
|
+
|
|
375
|
+
How would you like to proceed?
|
|
376
|
+
- **all** - Implement all pending tasks
|
|
377
|
+
- **task <N>** - Implement only task number N
|
|
378
|
+
- **list** - Show all tasks with numbers"
|
|
379
|
+
|
|
380
|
+
You: all
|
|
381
|
+
|
|
382
|
+
Me: "Implementing all 8 pending tasks...
|
|
383
|
+
|
|
384
|
+
Starting with task 1: Set up project structure (phase-1-setup-1)
|
|
385
|
+
|
|
386
|
+
[I create folders, initial files, configure package.json]
|
|
318
387
|
|
|
319
|
-
|
|
388
|
+
✓ Done! Moving to task 2..."
|
|
320
389
|
|
|
321
|
-
[
|
|
390
|
+
[continues through all tasks]
|
|
322
391
|
|
|
323
392
|
Me: "🎉 All 8 tasks complete!
|
|
324
393
|
|
|
@@ -331,6 +400,28 @@ Me: "🎉 All 8 tasks complete!
|
|
|
331
400
|
Ready to test it out?"
|
|
332
401
|
```
|
|
333
402
|
|
|
403
|
+
### List Mode
|
|
404
|
+
|
|
405
|
+
```
|
|
406
|
+
You: /clavix:implement
|
|
407
|
+
|
|
408
|
+
Me: "I found 8 pending tasks. How would you like to proceed?
|
|
409
|
+
- **all** - Implement all pending tasks
|
|
410
|
+
- **task <N>** - Implement only task number N
|
|
411
|
+
- **list** - Show all tasks with numbers"
|
|
412
|
+
|
|
413
|
+
You: list
|
|
414
|
+
|
|
415
|
+
Me: "Here are all pending tasks:
|
|
416
|
+
1. Set up project structure (phase-1-setup-1)
|
|
417
|
+
2. Create database models (phase-1-setup-2)
|
|
418
|
+
3. Set up authentication (phase-2-auth-1)
|
|
419
|
+
4. Build user registration (phase-2-auth-2)
|
|
420
|
+
...
|
|
421
|
+
|
|
422
|
+
Which task would you like to implement?"
|
|
423
|
+
```
|
|
424
|
+
|
|
334
425
|
## How I Find Tasks
|
|
335
426
|
|
|
336
427
|
Task IDs look like: `phase-1-setup-1`, `phase-2-auth-3`
|
|
@@ -524,7 +615,7 @@ I'll explain what's wrong and what you might need to do:
|
|
|
524
615
|
|
|
525
616
|
---
|
|
526
617
|
|
|
527
|
-
## Agent Transparency (v5.10.
|
|
618
|
+
## Agent Transparency (v5.10.2)
|
|
528
619
|
|
|
529
620
|
### Agent Manual (Universal Protocols)
|
|
530
621
|
{{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
|
|
@@ -354,7 +354,7 @@ The validation ensures generated PRDs are immediately usable for AI consumption
|
|
|
354
354
|
|
|
355
355
|
---
|
|
356
356
|
|
|
357
|
-
## Agent Transparency (v5.10.
|
|
357
|
+
## Agent Transparency (v5.10.2)
|
|
358
358
|
|
|
359
359
|
### Agent Manual (Universal Protocols)
|
|
360
360
|
{{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
|
|
@@ -230,7 +230,7 @@ The goal is natural exploration of requirements, not a rigid questionnaire. Foll
|
|
|
230
230
|
|
|
231
231
|
---
|
|
232
232
|
|
|
233
|
-
## Agent Transparency (v5.10.
|
|
233
|
+
## Agent Transparency (v5.10.2)
|
|
234
234
|
|
|
235
235
|
### Agent Manual (Universal Protocols)
|
|
236
236
|
{{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
|
|
@@ -409,7 +409,7 @@ The `/clavix:summarize` command extracts requirements from exploratory conversat
|
|
|
409
409
|
|
|
410
410
|
---
|
|
411
411
|
|
|
412
|
-
## Agent Transparency (v5.10.
|
|
412
|
+
## Agent Transparency (v5.10.2)
|
|
413
413
|
|
|
414
414
|
### Agent Manual (Universal Protocols)
|
|
415
415
|
{{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
|
|
@@ -123,7 +123,7 @@ Implementation: BLOCKED - I'll analyze and report, not modify or fix
|
|
|
123
123
|
|
|
124
124
|
----
|
|
125
125
|
|
|
126
|
-
## Agent Transparency (v5.10.
|
|
126
|
+
## Agent Transparency (v5.10.2)
|
|
127
127
|
|
|
128
128
|
### Agent Manual (Universal Protocols)
|
|
129
129
|
{{INCLUDE:agent-protocols/AGENT_MANUAL.md}}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* 3. Built-in default from integrations.json
|
|
8
8
|
*/
|
|
9
9
|
import * as os from 'os';
|
|
10
|
+
import * as path from 'path';
|
|
10
11
|
/**
|
|
11
12
|
* Mapping of integration names to their environment variable names
|
|
12
13
|
*
|
|
@@ -29,18 +30,35 @@ export const ENV_VAR_MAP = {
|
|
|
29
30
|
*/
|
|
30
31
|
export function resolveIntegrationPath(config, userConfig) {
|
|
31
32
|
const integrationName = config.name;
|
|
33
|
+
let resolvedPath;
|
|
32
34
|
// Priority 1: Environment variable
|
|
33
35
|
const envVar = ENV_VAR_MAP[integrationName];
|
|
34
36
|
if (envVar && process.env[envVar]) {
|
|
35
|
-
|
|
37
|
+
resolvedPath = process.env[envVar];
|
|
36
38
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
else {
|
|
40
|
+
// Priority 2: User config override
|
|
41
|
+
const customPath = userConfig?.experimental?.integrationPaths?.[integrationName];
|
|
42
|
+
if (customPath && typeof customPath === 'string') {
|
|
43
|
+
resolvedPath = customPath;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// Priority 3: Built-in default from config
|
|
47
|
+
resolvedPath = config.directory;
|
|
48
|
+
}
|
|
41
49
|
}
|
|
42
|
-
//
|
|
43
|
-
|
|
50
|
+
// Codex-specific: ensure /prompts subdirectory exists
|
|
51
|
+
// When using $CODEX_HOME, the user may set it to the base directory
|
|
52
|
+
// (e.g., /custom/codex) without the /prompts suffix. We need to
|
|
53
|
+
// ensure prompts always go into the /prompts subdirectory.
|
|
54
|
+
if (integrationName === 'codex') {
|
|
55
|
+
const normalizedPath = path.normalize(resolvedPath);
|
|
56
|
+
if (!normalizedPath.endsWith(path.join('prompts')) &&
|
|
57
|
+
!normalizedPath.endsWith(path.sep + 'prompts')) {
|
|
58
|
+
resolvedPath = path.join(resolvedPath, 'prompts');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return expandTilde(resolvedPath);
|
|
44
62
|
}
|
|
45
63
|
/**
|
|
46
64
|
* Expands tilde (~) to the user's home directory
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clavix",
|
|
3
|
-
"version": "5.10.
|
|
3
|
+
"version": "5.10.2",
|
|
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",
|