clavix 2.4.3 → 2.5.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.
Files changed (67) hide show
  1. package/dist/cli/commands/task-complete.d.ts +27 -0
  2. package/dist/cli/commands/task-complete.js +305 -0
  3. package/dist/core/config-manager.d.ts +149 -0
  4. package/dist/core/config-manager.js +267 -0
  5. package/dist/core/git-manager.d.ts +27 -1
  6. package/dist/core/git-manager.js +114 -10
  7. package/dist/core/task-manager.d.ts +31 -0
  8. package/dist/core/task-manager.js +142 -0
  9. package/dist/templates/slash-commands/_canonical/implement.md +86 -33
  10. package/package.json +1 -1
  11. /package/dist/{core 2/adapters → core/adapters 2}/agents-md-generator.d.ts +0 -0
  12. /package/dist/{core 2/adapters → core/adapters 2}/agents-md-generator.js +0 -0
  13. /package/dist/{core 2/adapters → core/adapters 2}/amp-adapter.d.ts +0 -0
  14. /package/dist/{core 2/adapters → core/adapters 2}/amp-adapter.js +0 -0
  15. /package/dist/{core 2/adapters → core/adapters 2}/augment-adapter.d.ts +0 -0
  16. /package/dist/{core 2/adapters → core/adapters 2}/augment-adapter.js +0 -0
  17. /package/dist/{core 2/adapters → core/adapters 2}/base-adapter.d.ts +0 -0
  18. /package/dist/{core 2/adapters → core/adapters 2}/base-adapter.js +0 -0
  19. /package/dist/{core 2/adapters → core/adapters 2}/claude-code-adapter.d.ts +0 -0
  20. /package/dist/{core 2/adapters → core/adapters 2}/claude-code-adapter.js +0 -0
  21. /package/dist/{core 2/adapters → core/adapters 2}/cline-adapter.d.ts +0 -0
  22. /package/dist/{core 2/adapters → core/adapters 2}/cline-adapter.js +0 -0
  23. /package/dist/{core 2/adapters → core/adapters 2}/codebuddy-adapter.d.ts +0 -0
  24. /package/dist/{core 2/adapters → core/adapters 2}/codebuddy-adapter.js +0 -0
  25. /package/dist/{core 2/adapters → core/adapters 2}/codex-adapter.d.ts +0 -0
  26. /package/dist/{core 2/adapters → core/adapters 2}/codex-adapter.js +0 -0
  27. /package/dist/{core 2/adapters → core/adapters 2}/copilot-instructions-generator.d.ts +0 -0
  28. /package/dist/{core 2/adapters → core/adapters 2}/copilot-instructions-generator.js +0 -0
  29. /package/dist/{core 2/adapters → core/adapters 2}/crush-adapter.d.ts +0 -0
  30. /package/dist/{core 2/adapters → core/adapters 2}/crush-adapter.js +0 -0
  31. /package/dist/{core 2/adapters → core/adapters 2}/cursor-adapter.d.ts +0 -0
  32. /package/dist/{core 2/adapters → core/adapters 2}/cursor-adapter.js +0 -0
  33. /package/dist/{core 2/adapters → core/adapters 2}/droid-adapter.d.ts +0 -0
  34. /package/dist/{core 2/adapters → core/adapters 2}/droid-adapter.js +0 -0
  35. /package/dist/{core 2/adapters → core/adapters 2}/gemini-adapter.d.ts +0 -0
  36. /package/dist/{core 2/adapters → core/adapters 2}/gemini-adapter.js +0 -0
  37. /package/dist/{core 2/adapters → core/adapters 2}/kilocode-adapter.d.ts +0 -0
  38. /package/dist/{core 2/adapters → core/adapters 2}/kilocode-adapter.js +0 -0
  39. /package/dist/{core 2/adapters → core/adapters 2}/octo-md-generator.d.ts +0 -0
  40. /package/dist/{core 2/adapters → core/adapters 2}/octo-md-generator.js +0 -0
  41. /package/dist/{core 2/adapters → core/adapters 2}/opencode-adapter.d.ts +0 -0
  42. /package/dist/{core 2/adapters → core/adapters 2}/opencode-adapter.js +0 -0
  43. /package/dist/{core 2/adapters → core/adapters 2}/qwen-adapter.d.ts +0 -0
  44. /package/dist/{core 2/adapters → core/adapters 2}/qwen-adapter.js +0 -0
  45. /package/dist/{core 2/adapters → core/adapters 2}/roocode-adapter.d.ts +0 -0
  46. /package/dist/{core 2/adapters → core/adapters 2}/roocode-adapter.js +0 -0
  47. /package/dist/{core 2/adapters → core/adapters 2}/warp-md-generator.d.ts +0 -0
  48. /package/dist/{core 2/adapters → core/adapters 2}/warp-md-generator.js +0 -0
  49. /package/dist/{core 2/adapters → core/adapters 2}/windsurf-adapter.d.ts +0 -0
  50. /package/dist/{core 2/adapters → core/adapters 2}/windsurf-adapter.js +0 -0
  51. /package/dist/{core 2/agent-manager.js → core/agent-manager 2.js} +0 -0
  52. /package/dist/{core 2/agent-manager.d.ts → core/agent-manager.d 2.ts} +0 -0
  53. /package/dist/{core 2/archive-manager.js → core/archive-manager 2.js} +0 -0
  54. /package/dist/{core 2/archive-manager.d.ts → core/archive-manager.d 2.ts} +0 -0
  55. /package/dist/{core 2/conversation-analyzer.d.ts → core/conversation-analyzer.d 2.ts} +0 -0
  56. /package/dist/{core 2/doc-injector.js → core/doc-injector 2.js} +0 -0
  57. /package/dist/{core 2/doc-injector.d.ts → core/doc-injector.d 2.ts} +0 -0
  58. /package/dist/{core 2/git-manager.js → core/git-manager 2.js} +0 -0
  59. /package/dist/{core 2/git-manager.d.ts → core/git-manager.d 2.ts} +0 -0
  60. /package/dist/{core 2/prompt-optimizer.js → core/prompt-optimizer 2.js} +0 -0
  61. /package/dist/{core 2/prompt-optimizer.d.ts → core/prompt-optimizer.d 2.ts} +0 -0
  62. /package/dist/{core 2/question-engine.js → core/question-engine 2.js} +0 -0
  63. /package/dist/{core 2/question-engine.d.ts → core/question-engine.d 2.ts} +0 -0
  64. /package/dist/{core 2/session-manager.js → core/session-manager 2.js} +0 -0
  65. /package/dist/{core 2/session-manager.d.ts → core/session-manager.d 2.ts} +0 -0
  66. /package/dist/{core 2/task-manager.js → core/task-manager 2.js} +0 -0
  67. /package/dist/{core 2/task-manager.d.ts → core/task-manager.d 2.ts} +0 -0
@@ -47,56 +47,64 @@ You are helping the user implement tasks from their task plan with AI assistance
47
47
  - Use PRD requirements as your guide
48
48
  - Ask user for clarification if needed
49
49
 
50
- e. **Mark task as completed**:
51
- - In `tasks.md`, change `- [ ] Task description` to `- [x] Task description`
52
- - Update only the specific task you just completed
53
-
54
- f. **Create git commit (if enabled)**:
55
- - Check the `commitStrategy` in config
56
- - If `per-task`: commit after each task
57
- - If `per-5-tasks`: commit after every 5 tasks
58
- - If `per-phase`: commit when all tasks in a phase are done
59
- - Use descriptive commit messages with task description
60
-
61
- g. **Move to next task**:
62
- - Find the next `- [ ]` task in tasks.md
63
- - Repeat the process
50
+ e. **Complete the task programmatically**:
51
+ - IMPORTANT: NEVER manually edit checkboxes in tasks.md
52
+ - Instead, run: `clavix task-complete {task-id}`
53
+ - The task ID is found in tasks.md (e.g., `phase-1-authentication-1`)
54
+ - This command automatically:
55
+ Validates the task exists
56
+ Updates the checkbox in tasks.md
57
+ Tracks completion in config file
58
+ Creates git commit (if strategy enabled)
59
+ Displays the next task
60
+ - Example: `clavix task-complete phase-1-setup-1`
61
+
62
+ f. **Move to next task**:
63
+ - The task-complete command shows the next task automatically
64
+ - Read it and repeat the process
65
+ - If you get interrupted, just run `clavix implement` again to resume
64
66
 
65
67
  3. **Session Resume**:
66
68
  - When user runs `clavix implement` again, it automatically picks up from the last incomplete task
67
69
  - No manual tracking needed - the checkboxes in tasks.md are the source of truth
68
70
 
69
- ## Git Commit Format
71
+ ## Task Completion Workflow
72
+
73
+ **CRITICAL: Always use the `clavix task-complete` command**
70
74
 
71
- When creating commits, use this format:
75
+ ```bash
76
+ # After implementing a task
77
+ clavix task-complete {task-id}
72
78
 
79
+ # Example
80
+ clavix task-complete phase-1-setup-1
73
81
  ```
74
- clavix: [task description]
75
82
 
76
- Completed tasks:
77
- - Task 1
78
- - Task 2
83
+ The command handles:
84
+ - Checkbox updates in tasks.md
85
+ - Config file tracking
86
+ - Git commits (per strategy)
87
+ - Progress display
88
+ - Next task retrieval
79
89
 
80
- Project: [project-name]
81
- Generated by Clavix /clavix:implement
82
- ```
90
+ **NEVER manually edit tasks.md checkboxes** - the command ensures proper tracking and prevents state inconsistencies.
83
91
 
84
92
  ## Important Rules
85
93
 
86
94
  **DO**:
87
- - Read tasks.md to find the current task
95
+ - Read tasks.md to find the current task and its ID
88
96
  - Implement ONE task at a time
89
- - Mark tasks complete by changing `[ ]` to `[x]`
90
- - Create commits based on the strategy in config
97
+ - Use `clavix task-complete {task-id}` after completing each task
91
98
  - Reference the PRD for detailed requirements
92
99
  - Ask for clarification when tasks are ambiguous
100
+ - Run `clavix implement` again if interrupted to resume
93
101
 
94
102
  **DON'T**:
103
+ - NEVER manually edit checkboxes in tasks.md
95
104
  - Skip tasks or implement out of order
96
105
  - Mark tasks complete before actually implementing them
97
- - Modify multiple tasks' checkboxes at once (only current task)
98
- - Create commits if strategy is 'none'
99
106
  - Assume what code to write - use PRD as source of truth
107
+ - Try to track task completion manually
100
108
 
101
109
  ## Task Blocking Protocol
102
110
 
@@ -177,17 +185,40 @@ Which option would you like?"
177
185
 
178
186
  ```
179
187
  1. User runs: clavix implement
180
- 2. Command shows: "Next task: Implement user authentication"
188
+ 2. Command shows: "Next task (ID: phase-1-auth-1): Implement user authentication"
181
189
  3. You (AI agent):
182
190
  - Read PRD authentication requirements
183
191
  - Implement auth logic
184
192
  - Write tests
185
- - Update tasks.md: - [x] Implement user authentication
186
- - Create git commit (if enabled)
187
- - Find next task in tasks.md
188
- - Continue or wait for user
193
+ - Run: clavix task-complete phase-1-auth-1
194
+ - Command automatically:
195
+ Marks task complete in tasks.md
196
+ Updates config tracking
197
+ • Creates git commit (if enabled)
198
+ • Shows next task
199
+ - Continue with next task or wait for user
200
+ ```
201
+
202
+ ## Finding Task IDs
203
+
204
+ Task IDs are visible in several places:
205
+ 1. When you read `tasks.md` - they're in the format `phase-X-name-Y`
206
+ 2. In the config file (`.clavix-implement-config.json`) under `currentTask.id`
207
+ 3. When running `clavix implement` - shown next to task description
208
+
209
+ Example tasks.md structure:
210
+ ```markdown
211
+ ## Phase 1: Authentication
212
+
213
+ - [ ] Implement user registration (ref: User Management)
214
+ Task ID: phase-1-authentication-1
215
+
216
+ - [ ] Add JWT token generation (ref: User Management)
217
+ Task ID: phase-1-authentication-2
189
218
  ```
190
219
 
220
+ To find the task ID programmatically, read tasks.md and look for the pattern `phase-{number}-{sanitized-phase-name}-{counter}`.
221
+
191
222
  ## Workflow Navigation
192
223
 
193
224
  **You are here:** Implement (Task Execution)
@@ -219,6 +250,28 @@ Which option would you like?"
219
250
  - CLI creates config and shows first task
220
251
  - AI agent should wait for config before proceeding
221
252
 
253
+ ### Issue: `clavix task-complete` command not found
254
+ **Cause**: Clavix version doesn't have task-complete command OR not in PATH
255
+ **Solution**:
256
+ - Check Clavix version: `clavix --version`
257
+ - Ensure Clavix is up to date: `npm install -g clavix@latest`
258
+ - If issue persists, report bug to Clavix maintainers
259
+
260
+ ### Issue: Task ID not found by task-complete
261
+ **Cause**: Task ID doesn't match what's in tasks.md
262
+ **Solution**:
263
+ - Read tasks.md to see actual task IDs
264
+ - Task IDs follow pattern: `{sanitized-phase-name}-{counter}`
265
+ - Run `clavix task-complete` without arguments to see available tasks
266
+ - Example: `phase-1-authentication-1` not `Phase 1 Authentication 1`
267
+
268
+ ### Issue: Task already marked complete
269
+ **Cause**: Task was completed in previous session or manually
270
+ **Solution**:
271
+ - Use `--force` flag: `clavix task-complete {task-id} --force`
272
+ - Or skip to next task shown by `clavix implement`
273
+ - Config will be updated to track the completion
274
+
222
275
  ### Issue: Cannot find next incomplete task in tasks.md
223
276
  **Cause**: All tasks completed OR tasks.md corrupted
224
277
  **Solution**:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clavix",
3
- "version": "2.4.3",
3
+ "version": "2.5.0",
4
4
  "description": "Transform vague ideas into production-ready prompts. CLI tool using the CLEAR framework to analyze, improve, and generate PRDs for AI coding assistants (Claude Code, Cursor, Windsurf, and more)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",