clavix 2.7.0 → 2.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.
Files changed (165) hide show
  1. package/README.md +22 -8
  2. package/bin/clavix.js +12 -5
  3. package/dist/cli/commands/archive.d.ts +5 -4
  4. package/dist/cli/commands/archive.js +135 -161
  5. package/dist/cli/commands/config.d.ts +4 -4
  6. package/dist/cli/commands/config.js +66 -105
  7. package/dist/cli/commands/deep.d.ts +3 -3
  8. package/dist/cli/commands/deep.js +97 -103
  9. package/dist/cli/commands/execute.d.ts +4 -4
  10. package/dist/cli/commands/execute.js +57 -63
  11. package/dist/cli/commands/fast.d.ts +3 -3
  12. package/dist/cli/commands/fast.js +122 -128
  13. package/dist/cli/commands/implement.d.ts +4 -4
  14. package/dist/cli/commands/implement.js +84 -148
  15. package/dist/cli/commands/init.js +87 -126
  16. package/dist/cli/commands/list.d.ts +5 -5
  17. package/dist/cli/commands/list.js +72 -111
  18. package/dist/cli/commands/plan.d.ts +7 -7
  19. package/dist/cli/commands/plan.js +92 -131
  20. package/dist/cli/commands/prd.d.ts +4 -4
  21. package/dist/cli/commands/prd.js +76 -111
  22. package/dist/cli/commands/prompts/clear.d.ts +6 -6
  23. package/dist/cli/commands/prompts/clear.js +70 -76
  24. package/dist/cli/commands/prompts/list.js +37 -43
  25. package/dist/cli/commands/show.d.ts +4 -4
  26. package/dist/cli/commands/show.js +72 -111
  27. package/dist/cli/commands/start.d.ts +3 -3
  28. package/dist/cli/commands/start.js +63 -101
  29. package/dist/cli/commands/summarize.d.ts +4 -4
  30. package/dist/cli/commands/summarize.js +81 -120
  31. package/dist/cli/commands/task-complete.d.ts +4 -4
  32. package/dist/cli/commands/task-complete.js +86 -123
  33. package/dist/cli/commands/update.d.ts +3 -3
  34. package/dist/cli/commands/update.js +97 -130
  35. package/dist/cli/commands/version.js +13 -48
  36. package/dist/core/adapters/agents-md-generator.js +17 -50
  37. package/dist/core/adapters/amp-adapter.d.ts +1 -1
  38. package/dist/core/adapters/amp-adapter.js +13 -21
  39. package/dist/core/adapters/augment-adapter.d.ts +2 -2
  40. package/dist/core/adapters/augment-adapter.js +16 -56
  41. package/dist/core/adapters/base-adapter.d.ts +1 -1
  42. package/dist/core/adapters/base-adapter.js +11 -47
  43. package/dist/core/adapters/claude-code-adapter.d.ts +2 -2
  44. package/dist/core/adapters/claude-code-adapter.js +19 -60
  45. package/dist/core/adapters/cline-adapter.d.ts +1 -1
  46. package/dist/core/adapters/cline-adapter.js +13 -21
  47. package/dist/core/adapters/codebuddy-adapter.d.ts +2 -2
  48. package/dist/core/adapters/codebuddy-adapter.js +17 -57
  49. package/dist/core/adapters/codex-adapter.d.ts +2 -2
  50. package/dist/core/adapters/codex-adapter.js +16 -56
  51. package/dist/core/adapters/copilot-instructions-generator.js +18 -51
  52. package/dist/core/adapters/crush-adapter.d.ts +2 -2
  53. package/dist/core/adapters/crush-adapter.js +13 -20
  54. package/dist/core/adapters/cursor-adapter.d.ts +1 -1
  55. package/dist/core/adapters/cursor-adapter.js +12 -20
  56. package/dist/core/adapters/droid-adapter.d.ts +2 -2
  57. package/dist/core/adapters/droid-adapter.js +14 -21
  58. package/dist/core/adapters/gemini-adapter.d.ts +2 -2
  59. package/dist/core/adapters/gemini-adapter.js +16 -52
  60. package/dist/core/adapters/kilocode-adapter.d.ts +1 -1
  61. package/dist/core/adapters/kilocode-adapter.js +12 -20
  62. package/dist/core/adapters/octo-md-generator.js +17 -50
  63. package/dist/core/adapters/opencode-adapter.d.ts +2 -2
  64. package/dist/core/adapters/opencode-adapter.js +14 -21
  65. package/dist/core/adapters/qwen-adapter.d.ts +2 -2
  66. package/dist/core/adapters/qwen-adapter.js +16 -52
  67. package/dist/core/adapters/roocode-adapter.d.ts +2 -2
  68. package/dist/core/adapters/roocode-adapter.js +12 -19
  69. package/dist/core/adapters/warp-md-generator.js +17 -50
  70. package/dist/core/adapters/windsurf-adapter.d.ts +1 -1
  71. package/dist/core/adapters/windsurf-adapter.js +12 -20
  72. package/dist/core/agent-manager.d.ts +1 -1
  73. package/dist/core/agent-manager.js +34 -38
  74. package/dist/core/archive-manager.js +10 -46
  75. package/dist/core/config-manager.d.ts +2 -2
  76. package/dist/core/config-manager.js +3 -40
  77. package/dist/core/conversation-analyzer.d.ts +1 -1
  78. package/dist/core/conversation-analyzer.js +1 -5
  79. package/dist/core/doc-injector.js +23 -60
  80. package/dist/core/git-manager.js +11 -48
  81. package/dist/core/prd-generator.js +16 -51
  82. package/dist/core/prompt-manager.js +6 -42
  83. package/dist/core/prompt-optimizer.js +1 -5
  84. package/dist/core/question-engine.js +6 -45
  85. package/dist/core/session-manager.d.ts +1 -1
  86. package/dist/core/session-manager.js +11 -49
  87. package/dist/core/task-manager.d.ts +26 -0
  88. package/dist/core/task-manager.js +243 -101
  89. package/dist/index.d.ts +2 -1
  90. package/dist/index.js +8 -12
  91. package/dist/templates/agents/agents.md +31 -2
  92. package/dist/templates/agents/copilot-instructions.md +1 -1
  93. package/dist/templates/agents/octo.md +20 -1
  94. package/dist/templates/agents/warp.md +1 -1
  95. package/dist/templates/slash-commands/_canonical/implement.md +33 -11
  96. package/dist/types/agent.js +1 -2
  97. package/dist/types/config.js +3 -8
  98. package/dist/types/errors.js +7 -13
  99. package/dist/types/session.js +1 -2
  100. package/dist/utils/agent-error-messages.js +1 -5
  101. package/dist/utils/error-utils.js +5 -12
  102. package/dist/utils/file-system.js +20 -57
  103. package/dist/utils/legacy-command-cleanup.d.ts +1 -1
  104. package/dist/utils/legacy-command-cleanup.js +9 -45
  105. package/dist/utils/template-loader.d.ts +1 -1
  106. package/dist/utils/template-loader.js +9 -41
  107. package/dist/utils/toml-templates.js +1 -4
  108. package/package.json +12 -7
  109. package/dist/core/adapters 2/agents-md-generator.d.ts +0 -26
  110. package/dist/core/adapters 2/agents-md-generator.js +0 -102
  111. package/dist/core/adapters 2/amp-adapter.d.ts +0 -27
  112. package/dist/core/adapters 2/amp-adapter.js +0 -42
  113. package/dist/core/adapters 2/augment-adapter.d.ts +0 -22
  114. package/dist/core/adapters 2/augment-adapter.js +0 -77
  115. package/dist/core/adapters 2/base-adapter.d.ts +0 -45
  116. package/dist/core/adapters 2/base-adapter.js +0 -142
  117. package/dist/core/adapters 2/claude-code-adapter.d.ts +0 -32
  118. package/dist/core/adapters 2/claude-code-adapter.js +0 -116
  119. package/dist/core/adapters 2/cline-adapter.d.ts +0 -34
  120. package/dist/core/adapters 2/cline-adapter.js +0 -52
  121. package/dist/core/adapters 2/codebuddy-adapter.d.ts +0 -24
  122. package/dist/core/adapters 2/codebuddy-adapter.js +0 -82
  123. package/dist/core/adapters 2/codex-adapter.d.ts +0 -24
  124. package/dist/core/adapters 2/codex-adapter.js +0 -79
  125. package/dist/core/adapters 2/copilot-instructions-generator.d.ts +0 -26
  126. package/dist/core/adapters 2/copilot-instructions-generator.js +0 -104
  127. package/dist/core/adapters 2/crush-adapter.d.ts +0 -35
  128. package/dist/core/adapters 2/crush-adapter.js +0 -49
  129. package/dist/core/adapters 2/cursor-adapter.d.ts +0 -25
  130. package/dist/core/adapters 2/cursor-adapter.js +0 -40
  131. package/dist/core/adapters 2/droid-adapter.d.ts +0 -33
  132. package/dist/core/adapters 2/droid-adapter.js +0 -57
  133. package/dist/core/adapters 2/gemini-adapter.d.ts +0 -27
  134. package/dist/core/adapters 2/gemini-adapter.js +0 -90
  135. package/dist/core/adapters 2/kilocode-adapter.d.ts +0 -34
  136. package/dist/core/adapters 2/kilocode-adapter.js +0 -49
  137. package/dist/core/adapters 2/octo-md-generator.d.ts +0 -26
  138. package/dist/core/adapters 2/octo-md-generator.js +0 -102
  139. package/dist/core/adapters 2/opencode-adapter.d.ts +0 -33
  140. package/dist/core/adapters 2/opencode-adapter.js +0 -56
  141. package/dist/core/adapters 2/qwen-adapter.d.ts +0 -27
  142. package/dist/core/adapters 2/qwen-adapter.js +0 -90
  143. package/dist/core/adapters 2/roocode-adapter.d.ts +0 -40
  144. package/dist/core/adapters 2/roocode-adapter.js +0 -68
  145. package/dist/core/adapters 2/warp-md-generator.d.ts +0 -17
  146. package/dist/core/adapters 2/warp-md-generator.js +0 -88
  147. package/dist/core/adapters 2/windsurf-adapter.d.ts +0 -34
  148. package/dist/core/adapters 2/windsurf-adapter.js +0 -49
  149. package/dist/core/agent-manager 2.js +0 -126
  150. package/dist/core/agent-manager.d 2.ts +0 -51
  151. package/dist/core/archive-manager 2.js +0 -338
  152. package/dist/core/archive-manager.d 2.ts +0 -100
  153. package/dist/core/conversation-analyzer.d 2.ts +0 -86
  154. package/dist/core/doc-injector 2.js +0 -236
  155. package/dist/core/doc-injector.d 2.ts +0 -51
  156. package/dist/core/git-manager 2.js +0 -214
  157. package/dist/core/git-manager.d 2.ts +0 -100
  158. package/dist/core/prompt-optimizer 2.js +0 -963
  159. package/dist/core/prompt-optimizer.d 2.ts +0 -268
  160. package/dist/core/question-engine 2.js +0 -395
  161. package/dist/core/question-engine.d 2.ts +0 -167
  162. package/dist/core/session-manager 2.js +0 -403
  163. package/dist/core/session-manager.d 2.ts +0 -139
  164. package/dist/core/task-manager 2.js +0 -689
  165. package/dist/core/task-manager.d 2.ts +0 -155
@@ -1,14 +1,30 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const core_1 = require("@oclif/core");
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const inquirer_1 = __importDefault(require("inquirer"));
9
- const prompt_optimizer_1 = require("../../core/prompt-optimizer");
10
- const prompt_manager_1 = require("../../core/prompt-manager");
11
- class Fast extends core_1.Command {
1
+ import { Command, Args, Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import inquirer from 'inquirer';
4
+ import { PromptOptimizer } from '../../core/prompt-optimizer.js';
5
+ import { PromptManager } from '../../core/prompt-manager.js';
6
+ export default class Fast extends Command {
7
+ static description = 'Quickly improve a prompt using CLEAR framework (Concise, Logical, Explicit) with smart triage';
8
+ static examples = [
9
+ '<%= config.bin %> <%= command.id %> "Create a login page"',
10
+ '<%= config.bin %> <%= command.id %> "Build an API for user management"',
11
+ ];
12
+ static flags = {
13
+ 'clear-only': Flags.boolean({
14
+ description: 'Show only CLEAR analysis without improved prompt',
15
+ default: false,
16
+ }),
17
+ 'framework-info': Flags.boolean({
18
+ description: 'Display CLEAR framework information',
19
+ default: false,
20
+ }),
21
+ };
22
+ static args = {
23
+ prompt: Args.string({
24
+ description: 'The prompt to improve',
25
+ required: true,
26
+ }),
27
+ };
12
28
  async run() {
13
29
  const { args, flags } = await this.parse(Fast);
14
30
  // Handle --framework-info flag
@@ -17,12 +33,12 @@ class Fast extends core_1.Command {
17
33
  return;
18
34
  }
19
35
  if (!args.prompt || args.prompt.trim().length === 0) {
20
- console.log(chalk_1.default.red('\nāœ— Please provide a prompt to improve\n'));
21
- console.log(chalk_1.default.gray('Example:'), chalk_1.default.cyan('clavix fast "Create a login page"'));
36
+ console.log(chalk.red('\nāœ— Please provide a prompt to improve\n'));
37
+ console.log(chalk.gray('Example:'), chalk.cyan('clavix fast "Create a login page"'));
22
38
  return;
23
39
  }
24
- console.log(chalk_1.default.bold.cyan('\nšŸ” Analyzing prompt using CLEAR framework (fast mode)...\n'));
25
- const optimizer = new prompt_optimizer_1.PromptOptimizer();
40
+ console.log(chalk.bold.cyan('\nšŸ” Analyzing prompt using CLEAR framework (fast mode)...\n'));
41
+ const optimizer = new PromptOptimizer();
26
42
  // Get CLEAR analysis
27
43
  const clearResult = optimizer.applyCLEARFramework(args.prompt, 'fast');
28
44
  const clearScore = optimizer.calculateCLEARScore(clearResult);
@@ -34,22 +50,22 @@ class Fast extends core_1.Command {
34
50
  clearScore.logic < 60 ||
35
51
  clearScore.explicitness < 50;
36
52
  if (needsDeepAnalysis) {
37
- console.log(chalk_1.default.bold.yellow('āš ļø CLEAR Framework Triage Alert\n'));
38
- console.log(chalk_1.default.yellow('Deep analysis is recommended for this prompt because:'));
53
+ console.log(chalk.bold.yellow('āš ļø CLEAR Framework Triage Alert\n'));
54
+ console.log(chalk.yellow('Deep analysis is recommended for this prompt because:'));
39
55
  if (clearScore.conciseness < 60) {
40
- console.log(chalk_1.default.yellow(` • Low Conciseness score (${clearScore.conciseness.toFixed(0)}%) - needs detailed verbosity analysis`));
56
+ console.log(chalk.yellow(` • Low Conciseness score (${clearScore.conciseness.toFixed(0)}%) - needs detailed verbosity analysis`));
41
57
  }
42
58
  if (clearScore.logic < 60) {
43
- console.log(chalk_1.default.yellow(` • Low Logic score (${clearScore.logic.toFixed(0)}%) - needs comprehensive flow analysis`));
59
+ console.log(chalk.yellow(` • Low Logic score (${clearScore.logic.toFixed(0)}%) - needs comprehensive flow analysis`));
44
60
  }
45
61
  if (clearScore.explicitness < 50) {
46
- console.log(chalk_1.default.yellow(` • Low Explicitness score (${clearScore.explicitness.toFixed(0)}%) - needs complete specification check`));
62
+ console.log(chalk.yellow(` • Low Explicitness score (${clearScore.explicitness.toFixed(0)}%) - needs complete specification check`));
47
63
  }
48
64
  result.triageResult?.reasons.forEach((reason) => {
49
- console.log(chalk_1.default.yellow(` • ${reason}`));
65
+ console.log(chalk.yellow(` • ${reason}`));
50
66
  });
51
67
  console.log();
52
- const { proceed } = await inquirer_1.default.prompt([
68
+ const { proceed } = await inquirer.prompt([
53
69
  {
54
70
  type: 'list',
55
71
  name: 'proceed',
@@ -61,14 +77,14 @@ class Fast extends core_1.Command {
61
77
  },
62
78
  ]);
63
79
  if (proceed === 'deep') {
64
- console.log(chalk_1.default.cyan('\nšŸ” Switching to deep mode...\n'));
80
+ console.log(chalk.cyan('\nšŸ” Switching to deep mode...\n'));
65
81
  const deepClearResult = optimizer.applyCLEARFramework(args.prompt, 'deep');
66
82
  const deepClearScore = optimizer.calculateCLEARScore(deepClearResult);
67
83
  const deepResult = optimizer.improve(args.prompt, 'deep');
68
84
  this.displayDeepModeOutput(deepResult, deepClearResult, deepClearScore);
69
85
  return;
70
86
  }
71
- console.log(chalk_1.default.yellow('\nāš ļø Proceeding with fast mode as requested\n'));
87
+ console.log(chalk.yellow('\nāš ļø Proceeding with fast mode as requested\n'));
72
88
  }
73
89
  // Handle --clear-only flag
74
90
  if (flags['clear-only']) {
@@ -81,15 +97,15 @@ class Fast extends core_1.Command {
81
97
  await this.savePrompt(clearResult.improvedPrompt, args.prompt, clearScore);
82
98
  }
83
99
  displayFastModeOutput(result, clearResult, clearScore) {
84
- console.log(chalk_1.default.bold.cyan('šŸŽÆ CLEAR Analysis (Fast Mode)\n'));
100
+ console.log(chalk.bold.cyan('šŸŽÆ CLEAR Analysis (Fast Mode)\n'));
85
101
  // Display CLEAR Assessment
86
- console.log(chalk_1.default.bold('šŸ“Š CLEAR Framework Assessment:\n'));
102
+ console.log(chalk.bold('šŸ“Š CLEAR Framework Assessment:\n'));
87
103
  const getScoreColor = (score) => {
88
104
  if (score >= 80)
89
- return chalk_1.default.green;
105
+ return chalk.green;
90
106
  if (score >= 60)
91
- return chalk_1.default.yellow;
92
- return chalk_1.default.red;
107
+ return chalk.yellow;
108
+ return chalk.red;
93
109
  };
94
110
  // Conciseness
95
111
  const cColor = getScoreColor(clearScore.conciseness);
@@ -122,36 +138,36 @@ class Fast extends core_1.Command {
122
138
  const overallColor = getScoreColor(clearScore.overall);
123
139
  console.log(overallColor.bold(` Overall CLEAR Score: ${clearScore.overall.toFixed(0)}% (${clearScore.rating})\n`));
124
140
  // Recommendation for deep mode
125
- console.log(chalk_1.default.blue.bold('šŸ’” Recommendation:'));
126
- console.log(chalk_1.default.blue(' For Adaptive variations (A) and Reflective validation (R), use:'));
127
- console.log(chalk_1.default.cyan(' clavix deep "<your prompt>"\n'));
141
+ console.log(chalk.blue.bold('šŸ’” Recommendation:'));
142
+ console.log(chalk.blue(' For Adaptive variations (A) and Reflective validation (R), use:'));
143
+ console.log(chalk.cyan(' clavix deep "<your prompt>"\n'));
128
144
  // Display improved prompt
129
- console.log(chalk_1.default.bold.cyan('✨ CLEAR-Optimized Prompt:\n'));
130
- console.log(chalk_1.default.dim('─'.repeat(80)));
145
+ console.log(chalk.bold.cyan('✨ CLEAR-Optimized Prompt:\n'));
146
+ console.log(chalk.dim('─'.repeat(80)));
131
147
  console.log(clearResult.improvedPrompt);
132
- console.log(chalk_1.default.dim('─'.repeat(80)));
148
+ console.log(chalk.dim('─'.repeat(80)));
133
149
  console.log();
134
150
  // Changes made (CLEAR-labeled)
135
151
  if (clearResult.changesSummary.length > 0) {
136
- console.log(chalk_1.default.bold.magenta('šŸ“ CLEAR Changes Made:\n'));
152
+ console.log(chalk.bold.magenta('šŸ“ CLEAR Changes Made:\n'));
137
153
  clearResult.changesSummary.forEach((change) => {
138
- const label = chalk_1.default.bold(`[${change.component}]`);
139
- console.log(chalk_1.default.magenta(` ${label} ${change.change}`));
154
+ const label = chalk.bold(`[${change.component}]`);
155
+ console.log(chalk.magenta(` ${label} ${change.change}`));
140
156
  });
141
157
  console.log();
142
158
  }
143
- console.log(chalk_1.default.gray('šŸ’” Tip: Copy the CLEAR-optimized prompt above and use it with your AI agent\n'));
159
+ console.log(chalk.gray('šŸ’” Tip: Copy the CLEAR-optimized prompt above and use it with your AI agent\n'));
144
160
  }
145
161
  displayDeepModeOutput(result, clearResult, clearScore) {
146
- console.log(chalk_1.default.bold.cyan('šŸŽÆ CLEAR Framework Deep Analysis\n'));
162
+ console.log(chalk.bold.cyan('šŸŽÆ CLEAR Framework Deep Analysis\n'));
147
163
  // Display CLEAR Assessment (all 5 components for deep mode)
148
- console.log(chalk_1.default.bold('šŸ“Š Framework Assessment:\n'));
164
+ console.log(chalk.bold('šŸ“Š Framework Assessment:\n'));
149
165
  const getScoreColor = (score) => {
150
166
  if (score >= 80)
151
- return chalk_1.default.green;
167
+ return chalk.green;
152
168
  if (score >= 60)
153
- return chalk_1.default.yellow;
154
- return chalk_1.default.red;
169
+ return chalk.yellow;
170
+ return chalk.red;
155
171
  };
156
172
  // C, L, E (same as fast mode)
157
173
  const cColor = getScoreColor(clearScore.conciseness);
@@ -183,86 +199,86 @@ class Fast extends core_1.Command {
183
199
  const overallColor = getScoreColor(clearScore.overall);
184
200
  console.log(overallColor.bold(` Overall CLEAR Score: ${clearScore.overall.toFixed(0)}% (${clearScore.rating})\n`));
185
201
  // Display improved prompt
186
- console.log(chalk_1.default.bold.cyan('✨ CLEAR-Optimized Prompt:\n'));
187
- console.log(chalk_1.default.dim('─'.repeat(80)));
202
+ console.log(chalk.bold.cyan('✨ CLEAR-Optimized Prompt:\n'));
203
+ console.log(chalk.dim('─'.repeat(80)));
188
204
  console.log(clearResult.improvedPrompt);
189
- console.log(chalk_1.default.dim('─'.repeat(80)));
205
+ console.log(chalk.dim('─'.repeat(80)));
190
206
  console.log();
191
207
  // Changes made
192
208
  if (clearResult.changesSummary.length > 0) {
193
- console.log(chalk_1.default.bold.magenta('šŸ“ CLEAR Changes Made:\n'));
209
+ console.log(chalk.bold.magenta('šŸ“ CLEAR Changes Made:\n'));
194
210
  clearResult.changesSummary.forEach((change) => {
195
- console.log(chalk_1.default.magenta(` [${change.component}] ${change.change}`));
211
+ console.log(chalk.magenta(` [${change.component}] ${change.change}`));
196
212
  });
197
213
  console.log();
198
214
  }
199
215
  // Adaptive Variations (A)
200
216
  if (clearResult.adaptiveness) {
201
- console.log(chalk_1.default.bold.cyan('šŸ”„ Adaptive Variations:\n'));
217
+ console.log(chalk.bold.cyan('šŸ”„ Adaptive Variations:\n'));
202
218
  if (clearResult.adaptiveness.alternativePhrasings.length > 0) {
203
- console.log(chalk_1.default.cyan(' Alternative Phrasings:'));
219
+ console.log(chalk.cyan(' Alternative Phrasings:'));
204
220
  clearResult.adaptiveness.alternativePhrasings.forEach((p, i) => {
205
- console.log(chalk_1.default.cyan(` ${i + 1}. ${p}`));
221
+ console.log(chalk.cyan(` ${i + 1}. ${p}`));
206
222
  });
207
223
  console.log();
208
224
  }
209
225
  if (clearResult.adaptiveness.alternativeStructures.length > 0) {
210
- console.log(chalk_1.default.cyan(' Alternative Structures:'));
226
+ console.log(chalk.cyan(' Alternative Structures:'));
211
227
  clearResult.adaptiveness.alternativeStructures.forEach((alt, i) => {
212
- console.log(chalk_1.default.cyan(` ${i + 1}. ${alt.name}`));
213
- console.log(chalk_1.default.gray(` ${alt.benefits}`));
228
+ console.log(chalk.cyan(` ${i + 1}. ${alt.name}`));
229
+ console.log(chalk.gray(` ${alt.benefits}`));
214
230
  });
215
231
  console.log();
216
232
  }
217
233
  if (clearResult.adaptiveness.temperatureRecommendation !== undefined) {
218
- console.log(chalk_1.default.cyan(` Recommended Temperature: ${clearResult.adaptiveness.temperatureRecommendation}`));
234
+ console.log(chalk.cyan(` Recommended Temperature: ${clearResult.adaptiveness.temperatureRecommendation}`));
219
235
  console.log();
220
236
  }
221
237
  }
222
238
  // Reflection Checklist (R)
223
239
  if (clearResult.reflectiveness) {
224
- console.log(chalk_1.default.bold.yellow('šŸ¤” Reflection Checklist:\n'));
240
+ console.log(chalk.bold.yellow('šŸ¤” Reflection Checklist:\n'));
225
241
  if (clearResult.reflectiveness.validationChecklist.length > 0) {
226
- console.log(chalk_1.default.yellow(' Validation Steps:'));
242
+ console.log(chalk.yellow(' Validation Steps:'));
227
243
  clearResult.reflectiveness.validationChecklist.forEach((item) => {
228
- console.log(chalk_1.default.yellow(` ☐ ${item}`));
244
+ console.log(chalk.yellow(` ☐ ${item}`));
229
245
  });
230
246
  console.log();
231
247
  }
232
248
  if (clearResult.reflectiveness.edgeCases.length > 0) {
233
- console.log(chalk_1.default.yellow(' Edge Cases to Consider:'));
249
+ console.log(chalk.yellow(' Edge Cases to Consider:'));
234
250
  clearResult.reflectiveness.edgeCases.forEach((ec) => {
235
- console.log(chalk_1.default.yellow(` • ${ec}`));
251
+ console.log(chalk.yellow(` • ${ec}`));
236
252
  });
237
253
  console.log();
238
254
  }
239
255
  if (clearResult.reflectiveness.potentialIssues.length > 0) {
240
- console.log(chalk_1.default.yellow(' What Could Go Wrong:'));
256
+ console.log(chalk.yellow(' What Could Go Wrong:'));
241
257
  clearResult.reflectiveness.potentialIssues.forEach((issue) => {
242
- console.log(chalk_1.default.yellow(` • ${issue}`));
258
+ console.log(chalk.yellow(` • ${issue}`));
243
259
  });
244
260
  console.log();
245
261
  }
246
262
  if (clearResult.reflectiveness.factCheckingSteps.length > 0) {
247
- console.log(chalk_1.default.yellow(' Fact-Checking Steps:'));
263
+ console.log(chalk.yellow(' Fact-Checking Steps:'));
248
264
  clearResult.reflectiveness.factCheckingSteps.forEach((step) => {
249
- console.log(chalk_1.default.yellow(` • ${step}`));
265
+ console.log(chalk.yellow(` • ${step}`));
250
266
  });
251
267
  console.log();
252
268
  }
253
269
  }
254
- console.log(chalk_1.default.gray('šŸ’” Full CLEAR framework analysis complete!\n'));
270
+ console.log(chalk.gray('šŸ’” Full CLEAR framework analysis complete!\n'));
255
271
  }
256
272
  displayCLEAROnlyAnalysis(clearResult, clearScore) {
257
- console.log(chalk_1.default.bold.cyan('šŸŽÆ CLEAR Framework Analysis Only\n'));
273
+ console.log(chalk.bold.cyan('šŸŽÆ CLEAR Framework Analysis Only\n'));
258
274
  const getScoreColor = (score) => {
259
275
  if (score >= 80)
260
- return chalk_1.default.green;
276
+ return chalk.green;
261
277
  if (score >= 60)
262
- return chalk_1.default.yellow;
263
- return chalk_1.default.red;
278
+ return chalk.yellow;
279
+ return chalk.red;
264
280
  };
265
- console.log(chalk_1.default.bold('šŸ“Š CLEAR Assessment:\n'));
281
+ console.log(chalk.bold('šŸ“Š CLEAR Assessment:\n'));
266
282
  // Conciseness
267
283
  const cColor = getScoreColor(clearScore.conciseness);
268
284
  console.log(cColor.bold(` [C] Conciseness: ${clearScore.conciseness.toFixed(0)}%`));
@@ -296,11 +312,11 @@ class Fast extends core_1.Command {
296
312
  // Overall
297
313
  const overallColor = getScoreColor(clearScore.overall);
298
314
  console.log(overallColor.bold(` Overall Score: ${clearScore.overall.toFixed(0)}% (${clearScore.rating})\n`));
299
- console.log(chalk_1.default.gray('Use without --clear-only flag to see improved prompt and changes.\n'));
315
+ console.log(chalk.gray('Use without --clear-only flag to see improved prompt and changes.\n'));
300
316
  }
301
317
  async savePrompt(improvedPrompt, originalPrompt, clearScore) {
302
318
  try {
303
- const promptManager = new prompt_manager_1.PromptManager();
319
+ const promptManager = new PromptManager();
304
320
  // Build content with CLEAR scores
305
321
  const content = `# Improved Prompt
306
322
 
@@ -318,85 +334,63 @@ ${originalPrompt}
318
334
  \`\`\`
319
335
  `;
320
336
  const metadata = await promptManager.savePrompt(content, 'fast', originalPrompt);
321
- console.log(chalk_1.default.green(`\nāœ… Prompt saved to: ${metadata.filename}`));
322
- console.log(chalk_1.default.cyan(`\nšŸ’” Next steps:`));
323
- console.log(chalk_1.default.cyan(` /clavix:execute - Implement this prompt`));
324
- console.log(chalk_1.default.cyan(` /clavix:prompts - Review all saved prompts`));
337
+ console.log(chalk.green(`\nāœ… Prompt saved to: ${metadata.filename}`));
338
+ console.log(chalk.cyan(`\nšŸ’” Next steps:`));
339
+ console.log(chalk.cyan(` /clavix:execute - Implement this prompt`));
340
+ console.log(chalk.cyan(` /clavix:prompts - Review all saved prompts`));
325
341
  console.log();
326
342
  }
327
343
  catch (error) {
328
344
  // Don't fail the command if saving fails
329
- console.log(chalk_1.default.yellow(`\nāš ļø Could not save prompt: ${error}`));
345
+ console.log(chalk.yellow(`\nāš ļø Could not save prompt: ${error}`));
330
346
  }
331
347
  }
332
348
  displayFrameworkInfo() {
333
- console.log(chalk_1.default.bold.cyan('\nšŸŽÆ CLEAR Framework for Prompt Engineering\n'));
334
- console.log(chalk_1.default.bold('What is CLEAR?\n'));
349
+ console.log(chalk.bold.cyan('\nšŸŽÆ CLEAR Framework for Prompt Engineering\n'));
350
+ console.log(chalk.bold('What is CLEAR?\n'));
335
351
  console.log('CLEAR is an academically-validated framework for creating effective prompts:');
336
352
  console.log();
337
- console.log(chalk_1.default.green.bold(' [C] Concise'));
338
- console.log(chalk_1.default.green(' Eliminate verbosity and pleasantries'));
339
- console.log(chalk_1.default.green(' Focus on essential information'));
340
- console.log(chalk_1.default.green(' Example: "Please could you maybe help" → "Create"'));
353
+ console.log(chalk.green.bold(' [C] Concise'));
354
+ console.log(chalk.green(' Eliminate verbosity and pleasantries'));
355
+ console.log(chalk.green(' Focus on essential information'));
356
+ console.log(chalk.green(' Example: "Please could you maybe help" → "Create"'));
341
357
  console.log();
342
- console.log(chalk_1.default.blue.bold(' [L] Logical'));
343
- console.log(chalk_1.default.blue(' Ensure coherent sequencing'));
344
- console.log(chalk_1.default.blue(' Structure: Context → Requirements → Constraints → Output'));
345
- console.log(chalk_1.default.blue(' Example: Put background before asking for results'));
358
+ console.log(chalk.blue.bold(' [L] Logical'));
359
+ console.log(chalk.blue(' Ensure coherent sequencing'));
360
+ console.log(chalk.blue(' Structure: Context → Requirements → Constraints → Output'));
361
+ console.log(chalk.blue(' Example: Put background before asking for results'));
346
362
  console.log();
347
- console.log(chalk_1.default.yellow.bold(' [E] Explicit'));
348
- console.log(chalk_1.default.yellow(' Specify persona, format, tone, and success criteria'));
349
- console.log(chalk_1.default.yellow(' Define exactly what you want'));
350
- console.log(chalk_1.default.yellow(' Example: "Build a dashboard" → "Build a React analytics dashboard with charts"'));
363
+ console.log(chalk.yellow.bold(' [E] Explicit'));
364
+ console.log(chalk.yellow(' Specify persona, format, tone, and success criteria'));
365
+ console.log(chalk.yellow(' Define exactly what you want'));
366
+ console.log(chalk.yellow(' Example: "Build a dashboard" → "Build a React analytics dashboard with charts"'));
351
367
  console.log();
352
- console.log(chalk_1.default.magenta.bold(' [A] Adaptive (Deep Mode Only)'));
353
- console.log(chalk_1.default.magenta(' Provide alternative approaches'));
354
- console.log(chalk_1.default.magenta(' Flexibility and customization'));
355
- console.log(chalk_1.default.magenta(' Example: User story, job story, or structured formats'));
368
+ console.log(chalk.magenta.bold(' [A] Adaptive (Deep Mode Only)'));
369
+ console.log(chalk.magenta(' Provide alternative approaches'));
370
+ console.log(chalk.magenta(' Flexibility and customization'));
371
+ console.log(chalk.magenta(' Example: User story, job story, or structured formats'));
356
372
  console.log();
357
- console.log(chalk_1.default.cyan.bold(' [R] Reflective (Deep Mode Only)'));
358
- console.log(chalk_1.default.cyan(' Enable validation and quality checks'));
359
- console.log(chalk_1.default.cyan(' Edge cases and "what could go wrong"'));
360
- console.log(chalk_1.default.cyan(' Example: Fact-checking steps, success criteria validation'));
373
+ console.log(chalk.cyan.bold(' [R] Reflective (Deep Mode Only)'));
374
+ console.log(chalk.cyan(' Enable validation and quality checks'));
375
+ console.log(chalk.cyan(' Edge cases and "what could go wrong"'));
376
+ console.log(chalk.cyan(' Example: Fact-checking steps, success criteria validation'));
361
377
  console.log();
362
- console.log(chalk_1.default.bold('Academic Foundation:\n'));
378
+ console.log(chalk.bold('Academic Foundation:\n'));
363
379
  console.log(' Developed by: Dr. Leo Lo');
364
380
  console.log(' Institution: Dean of Libraries, University of New Mexico');
365
381
  console.log(' Published: Journal of Academic Librarianship, July 2023');
366
382
  console.log(' Paper: "The CLEAR Path: A Framework for Enhancing Information');
367
383
  console.log(' Literacy through Prompt Engineering"');
368
384
  console.log();
369
- console.log(chalk_1.default.bold('Resources:\n'));
385
+ console.log(chalk.bold('Resources:\n'));
370
386
  console.log(' • Framework Guide: https://guides.library.tamucc.edu/prompt-engineering/clear');
371
387
  console.log(' • Research Paper: https://digitalrepository.unm.edu/cgi/viewcontent.cgi?article=1214&context=ulls_fsp');
372
388
  console.log();
373
- console.log(chalk_1.default.bold('Usage in Clavix:\n'));
374
- console.log(chalk_1.default.cyan(' clavix fast "prompt"') + chalk_1.default.gray(' # Uses C, L, E components'));
375
- console.log(chalk_1.default.cyan(' clavix deep "prompt"') + chalk_1.default.gray(' # Uses full CLEAR (C, L, E, A, R)'));
376
- console.log(chalk_1.default.cyan(' clavix fast --clear-only') + chalk_1.default.gray(' # Show scores only, no improvement'));
389
+ console.log(chalk.bold('Usage in Clavix:\n'));
390
+ console.log(chalk.cyan(' clavix fast "prompt"') + chalk.gray(' # Uses C, L, E components'));
391
+ console.log(chalk.cyan(' clavix deep "prompt"') + chalk.gray(' # Uses full CLEAR (C, L, E, A, R)'));
392
+ console.log(chalk.cyan(' clavix fast --clear-only') + chalk.gray(' # Show scores only, no improvement'));
377
393
  console.log();
378
394
  }
379
395
  }
380
- Fast.description = 'Quickly improve a prompt using CLEAR framework (Concise, Logical, Explicit) with smart triage';
381
- Fast.examples = [
382
- '<%= config.bin %> <%= command.id %> "Create a login page"',
383
- '<%= config.bin %> <%= command.id %> "Build an API for user management"',
384
- ];
385
- Fast.flags = {
386
- 'clear-only': core_1.Flags.boolean({
387
- description: 'Show only CLEAR analysis without improved prompt',
388
- default: false,
389
- }),
390
- 'framework-info': core_1.Flags.boolean({
391
- description: 'Display CLEAR framework information',
392
- default: false,
393
- }),
394
- };
395
- Fast.args = {
396
- prompt: core_1.Args.string({
397
- description: 'The prompt to improve',
398
- required: true,
399
- }),
400
- };
401
- exports.default = Fast;
402
396
  //# sourceMappingURL=fast.js.map
@@ -3,10 +3,10 @@ export default class Implement extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- project: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
- 'tasks-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
- 'no-git': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- 'commit-strategy': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ 'tasks-path': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'no-git': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ 'commit-strategy': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  };
11
11
  run(): Promise<void>;
12
12
  /**