mycontext-cli 0.4.20 → 1.0.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.
Files changed (106) hide show
  1. package/README.md +14 -11
  2. package/dist/agents/implementations/BackendDevAgent.d.ts +39 -0
  3. package/dist/agents/implementations/BackendDevAgent.d.ts.map +1 -0
  4. package/dist/agents/implementations/BackendDevAgent.js +821 -0
  5. package/dist/agents/implementations/BackendDevAgent.js.map +1 -0
  6. package/dist/agents/implementations/CodeGenSubAgent.d.ts +1 -1
  7. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  8. package/dist/agents/implementations/CodeGenSubAgent.js +47 -22
  9. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  10. package/dist/agents/implementations/DocsSubAgent.d.ts +7 -0
  11. package/dist/agents/implementations/DocsSubAgent.d.ts.map +1 -1
  12. package/dist/agents/implementations/DocsSubAgent.js +20 -11
  13. package/dist/agents/implementations/DocsSubAgent.js.map +1 -1
  14. package/dist/agents/implementations/EnhancementAgent.d.ts +1 -1
  15. package/dist/agents/implementations/EnhancementAgent.d.ts.map +1 -1
  16. package/dist/agents/implementations/EnhancementAgent.js +17 -12
  17. package/dist/agents/implementations/EnhancementAgent.js.map +1 -1
  18. package/dist/cli.js +210 -39
  19. package/dist/cli.js.map +1 -1
  20. package/dist/commands/analyze.d.ts +52 -0
  21. package/dist/commands/analyze.d.ts.map +1 -0
  22. package/dist/commands/analyze.js +740 -0
  23. package/dist/commands/analyze.js.map +1 -0
  24. package/dist/commands/auth.d.ts +19 -26
  25. package/dist/commands/auth.d.ts.map +1 -1
  26. package/dist/commands/auth.js +187 -180
  27. package/dist/commands/auth.js.map +1 -1
  28. package/dist/commands/build-app.d.ts +33 -0
  29. package/dist/commands/build-app.d.ts.map +1 -0
  30. package/dist/commands/build-app.js +507 -0
  31. package/dist/commands/build-app.js.map +1 -0
  32. package/dist/commands/generate-components.d.ts +2 -0
  33. package/dist/commands/generate-components.d.ts.map +1 -1
  34. package/dist/commands/generate-components.js +96 -49
  35. package/dist/commands/generate-components.js.map +1 -1
  36. package/dist/commands/generate-todos.d.ts +25 -0
  37. package/dist/commands/generate-todos.d.ts.map +1 -0
  38. package/dist/commands/generate-todos.js +249 -0
  39. package/dist/commands/generate-todos.js.map +1 -0
  40. package/dist/commands/generate.d.ts +3 -0
  41. package/dist/commands/generate.d.ts.map +1 -1
  42. package/dist/commands/generate.js +251 -93
  43. package/dist/commands/generate.js.map +1 -1
  44. package/dist/commands/init.d.ts +5 -0
  45. package/dist/commands/init.d.ts.map +1 -1
  46. package/dist/commands/init.js +86 -7
  47. package/dist/commands/init.js.map +1 -1
  48. package/dist/commands/list.d.ts.map +1 -1
  49. package/dist/commands/list.js +10 -7
  50. package/dist/commands/list.js.map +1 -1
  51. package/dist/commands/migrate.d.ts +29 -0
  52. package/dist/commands/migrate.d.ts.map +1 -0
  53. package/dist/commands/migrate.js +485 -0
  54. package/dist/commands/migrate.js.map +1 -0
  55. package/dist/commands/model.d.ts +13 -16
  56. package/dist/commands/model.d.ts.map +1 -1
  57. package/dist/commands/model.js +89 -320
  58. package/dist/commands/model.js.map +1 -1
  59. package/dist/commands/playbooks.d.ts +33 -0
  60. package/dist/commands/playbooks.d.ts.map +1 -0
  61. package/dist/commands/playbooks.js +662 -0
  62. package/dist/commands/playbooks.js.map +1 -0
  63. package/dist/commands/pricing.d.ts +15 -0
  64. package/dist/commands/pricing.d.ts.map +1 -0
  65. package/dist/commands/pricing.js +129 -0
  66. package/dist/commands/pricing.js.map +1 -0
  67. package/dist/commands/promote.d.ts +22 -0
  68. package/dist/commands/promote.d.ts.map +1 -0
  69. package/dist/commands/promote.js +204 -0
  70. package/dist/commands/promote.js.map +1 -0
  71. package/dist/commands/setup.d.ts +5 -18
  72. package/dist/commands/setup.d.ts.map +1 -1
  73. package/dist/commands/setup.js +180 -340
  74. package/dist/commands/setup.js.map +1 -1
  75. package/dist/config/ai-providers.json +81 -40
  76. package/dist/config/api.d.ts +9 -0
  77. package/dist/config/api.d.ts.map +1 -0
  78. package/dist/config/api.js +25 -0
  79. package/dist/config/api.js.map +1 -0
  80. package/dist/config/api.ts +29 -0
  81. package/dist/config/pricing.json +55 -0
  82. package/dist/types/index.d.ts +7 -1
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/utils/apiKeyManager.d.ts.map +1 -1
  85. package/dist/utils/apiKeyManager.js +7 -0
  86. package/dist/utils/apiKeyManager.js.map +1 -1
  87. package/dist/utils/fileSystem.d.ts.map +1 -1
  88. package/dist/utils/fileSystem.js +3 -1
  89. package/dist/utils/fileSystem.js.map +1 -1
  90. package/dist/utils/geminiClient.d.ts +61 -0
  91. package/dist/utils/geminiClient.d.ts.map +1 -0
  92. package/dist/utils/geminiClient.js +173 -0
  93. package/dist/utils/geminiClient.js.map +1 -0
  94. package/dist/utils/hostedApiClient.d.ts +32 -0
  95. package/dist/utils/hostedApiClient.d.ts.map +1 -0
  96. package/dist/utils/hostedApiClient.js +231 -0
  97. package/dist/utils/hostedApiClient.js.map +1 -0
  98. package/dist/utils/hybridAIClient.d.ts +14 -3
  99. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  100. package/dist/utils/hybridAIClient.js +190 -65
  101. package/dist/utils/hybridAIClient.js.map +1 -1
  102. package/dist/utils/qwenClient.d.ts +22 -0
  103. package/dist/utils/qwenClient.d.ts.map +1 -0
  104. package/dist/utils/qwenClient.js +185 -0
  105. package/dist/utils/qwenClient.js.map +1 -0
  106. package/package.json +1 -1
@@ -1,361 +1,130 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
38
5
  Object.defineProperty(exports, "__esModule", { value: true });
39
6
  exports.ModelCommand = void 0;
40
- exports.registerModelCommands = registerModelCommands;
41
7
  const spinner_1 = require("../utils/spinner");
42
- const ollamaClient_1 = require("../utils/ollamaClient");
43
- const githubModelsClient_1 = require("../utils/githubModelsClient");
8
+ const hybridAIClient_1 = require("../utils/hybridAIClient");
44
9
  const chalk_1 = __importDefault(require("chalk"));
45
- const fs = __importStar(require("fs-extra"));
46
- const path = __importStar(require("path"));
47
- const os = __importStar(require("os"));
48
10
  class ModelCommand {
49
11
  constructor() {
50
- this.ollamaClient = new ollamaClient_1.OllamaClient();
51
- this.configPath = path.join(os.homedir(), ".mycontext", "model.json");
12
+ this.aiClient = new hybridAIClient_1.HybridAIClient();
52
13
  }
53
- async status(options) {
54
- console.log(chalk_1.default.blue("📊 MyContext Model Status\n"));
55
- const spinner = new spinner_1.EnhancedSpinner("Checking model status...");
56
- try {
57
- // GitHub Models
58
- const gh = new githubModelsClient_1.GitHubModelsClient();
59
- const ghAvailable = await gh.checkConnection();
60
- const ghModels = ghAvailable ? await gh.listModels() : [];
61
- console.log(chalk_1.default.cyan("🌐 GitHub Models"));
62
- console.log(chalk_1.default[ghAvailable ? "green" : "yellow"](` ${ghAvailable ? "✅ Available" : "⚠️ Not configured"}`));
63
- if (ghModels.length) {
64
- console.log(chalk_1.default.gray(` ${Math.min(ghModels.length, 10)}+ models detected`));
65
- ghModels
66
- .slice(0, 10)
67
- .forEach((m) => console.log(chalk_1.default.gray(` • ${m}`)));
68
- }
69
- // Next commands
70
- console.log("");
71
- console.log(chalk_1.default.blue("➡️ Next commands:"));
72
- console.log(chalk_1.default.gray(" mycontext generate context"));
73
- console.log(chalk_1.default.gray(" mycontext generate types"));
74
- console.log(chalk_1.default.gray(" mycontext generate components-list"));
75
- // Check Ollama connection
76
- const isConnected = await this.ollamaClient.testConnection();
77
- if (!isConnected) {
78
- spinner.error({ text: "Ollama not available" });
79
- console.log(chalk_1.default.red("❌ Ollama service is not running or not installed"));
80
- console.log(chalk_1.default.gray(" Run: mycontext setup --local"));
81
- return;
82
- }
83
- // Check available models
84
- const models = await this.ollamaClient.listModels();
85
- const hasSpecializedModel = await this.ollamaClient.hasModel("mycontext-react");
86
- spinner.success({ text: "Status check complete" });
87
- // Display status
88
- console.log(chalk_1.default.green("✅ Ollama Service: Running"));
89
- console.log(chalk_1.default.gray(` Base URL: http://localhost:11434`));
90
- console.log(chalk_1.default[hasSpecializedModel ? "green" : "yellow"](`${hasSpecializedModel ? "✅" : "⚠️"} MyContext Model: ${hasSpecializedModel ? "Available" : "Missing"}`));
91
- if (hasSpecializedModel) {
92
- console.log(chalk_1.default.gray(" Model: mycontext-react"));
93
- console.log(chalk_1.default.gray(" Based on: deepseek-coder:6.7b"));
94
- }
95
- console.log(chalk_1.default.cyan(`📋 Available Models (${models.length}):`));
96
- models.forEach((model) => {
97
- const isSpecial = model.name.includes("mycontext-react");
98
- const icon = isSpecial ? "🎯" : "📦";
99
- console.log(chalk_1.default.gray(` ${icon} ${model}`));
100
- });
101
- // Performance info if requested
102
- if (options.detailed) {
103
- await this.showDetailedStatus();
104
- }
14
+ async execute(options) {
15
+ if (options.status) {
16
+ await this.showStatus();
105
17
  }
106
- catch (error) {
107
- spinner.error({ text: "Status check failed" });
108
- console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
18
+ else if (options.test) {
19
+ await this.testModel();
20
+ }
21
+ else if (options.list) {
22
+ await this.listModels();
23
+ }
24
+ else if (options.info) {
25
+ await this.showInfo();
26
+ }
27
+ else {
28
+ // Default: show status
29
+ await this.showStatus();
109
30
  }
110
31
  }
111
- async test(options) {
112
- console.log(chalk_1.default.blue("🧪 Testing MyContext Model\n"));
113
- const spinner = new spinner_1.EnhancedSpinner("Testing model...");
32
+ async showStatus() {
33
+ console.log(chalk_1.default.blue("📊 MyContext Model Status\n"));
114
34
  try {
115
- // Check if model exists
116
- const hasModel = await this.ollamaClient.hasModel("mycontext-react");
117
- if (!hasModel) {
118
- spinner.error({ text: "Model not found" });
119
- console.log(chalk_1.default.red(" MyContext model not found"));
120
- console.log(chalk_1.default.gray(" Run: mycontext setup --local"));
35
+ // Check available providers
36
+ const providers = await this.aiClient.getAvailableProviders();
37
+ if (providers.length === 0) {
38
+ console.log(chalk_1.default.red("❌ No AI providers available"));
39
+ console.log(chalk_1.default.yellow("\n🔧 To fix this:"));
40
+ console.log(chalk_1.default.gray("1. Run: mycontext setup"));
41
+ console.log(chalk_1.default.gray("2. Or add API keys to .mycontext/.env"));
121
42
  return;
122
43
  }
123
- // Run test generation
124
- const testPrompt = options.prompt || "Create a simple test button component";
125
- spinner.updateText("Generating test component...");
126
- const startTime = Date.now();
127
- const result = await this.ollamaClient.generateComponent(testPrompt, "mycontext-react");
128
- const generationTime = Date.now() - startTime;
129
- // Validate result
130
- const isValid = this.validateGeneratedComponent(result);
131
- if (isValid.success) {
132
- spinner.success({ text: "Model test passed" });
133
- console.log(chalk_1.default.green("✅ Component generation successful"));
134
- console.log(chalk_1.default.gray(` Generation time: ${generationTime}ms`));
135
- console.log(chalk_1.default.gray(` Component length: ${result.length} characters`));
136
- // Show validation details
137
- console.log(chalk_1.default.cyan("\n🔍 Quality Checks:"));
138
- Object.entries(isValid.checks).forEach(([check, passed]) => {
139
- console.log(chalk_1.default[passed ? "green" : "red"](` ${passed ? "✅" : "❌"} ${check}`));
44
+ console.log(chalk_1.default.green("✅ Available Providers:"));
45
+ providers.forEach((provider) => {
46
+ console.log(chalk_1.default.gray(` • ${provider.name} (priority: ${provider.priority})`));
47
+ });
48
+ // Test the primary provider
49
+ const primaryProvider = providers[0];
50
+ console.log(chalk_1.default.blue(`\n🧪 Testing ${primaryProvider.name}...`));
51
+ try {
52
+ const testResult = await this.aiClient.generateText("Test connection", {
53
+ maxTokens: 10,
140
54
  });
141
- if (options.verbose) {
142
- console.log(chalk_1.default.cyan("\n📝 Generated Component Preview:"));
143
- console.log(chalk_1.default.gray(result.substring(0, 300) + "..."));
144
- }
55
+ console.log(chalk_1.default.green(` ✅ ${primaryProvider.name} is working`));
145
56
  }
146
- else {
147
- spinner.error({ text: "Model test failed" });
148
- console.log(chalk_1.default.red("❌ Generated component failed validation"));
149
- console.log(chalk_1.default.gray(` Issues: ${isValid.issues.join(", ")}`));
57
+ catch (error) {
58
+ console.log(chalk_1.default.red(` ❌ ${primaryProvider.name} failed: ${error.message}`));
150
59
  }
151
60
  }
152
61
  catch (error) {
153
- spinner.error({ text: "Test failed" });
154
- console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
62
+ console.log(chalk_1.default.red(`❌ Status check failed: ${error.message}`));
155
63
  }
156
64
  }
157
- async update(options) {
158
- console.log(chalk_1.default.blue("🔄 Updating MyContext Model\n"));
159
- const spinner = new spinner_1.EnhancedSpinner("Updating model...");
65
+ async testModel() {
66
+ const spinner = new spinner_1.EnhancedSpinner("Testing AI model...");
160
67
  try {
161
- // Backup current model if requested
162
- if (options.backup) {
163
- spinner.updateText("Creating backup...");
164
- // Note: Ollama doesn't have built-in backup, but we can document the current version
165
- const currentConfig = {
166
- backupDate: new Date().toISOString(),
167
- modelName: "mycontext-react",
168
- };
169
- await fs.ensureDir(path.dirname(this.configPath));
170
- await fs.writeJson(`${this.configPath}.backup`, currentConfig);
171
- console.log(chalk_1.default.gray(" Backup created"));
172
- }
173
- // Update base model
174
- spinner.updateText("Updating base model...");
175
- await this.ollamaClient.pullModel("deepseek-coder:6.7b");
176
- console.log(chalk_1.default.green("✅ Base model updated successfully"));
177
- // Recreate specialized model
178
- spinner.updateText("Recreating specialized model...");
179
- // This would involve recreating the Modelfile and running ollama create
180
- // Implementation would be similar to the setup command
181
- spinner.success({ text: "Model updated successfully" });
182
- console.log(chalk_1.default.green("✅ MyContext model updated"));
183
- console.log(chalk_1.default.gray(" Base model: deepseek-coder:6.7b (latest)"));
184
- console.log(chalk_1.default.gray(" Specialized model: mycontext-react (recreated)"));
185
- }
186
- catch (error) {
187
- spinner.error({ text: "Update failed" });
188
- console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
189
- }
190
- }
191
- async reset(options) {
192
- console.log(chalk_1.default.blue("🔄 Resetting MyContext Model\n"));
193
- if (!options.force) {
194
- console.log(chalk_1.default.yellow("⚠️ This will remove and recreate the MyContext model"));
195
- console.log(chalk_1.default.gray(" Use --force to confirm this action"));
196
- return;
197
- }
198
- const spinner = new spinner_1.EnhancedSpinner("Resetting model...");
199
- try {
200
- // Remove existing specialized model
201
- spinner.updateText("Removing current model...");
202
- // Note: This would require executing `ollama rm mycontext-react`
203
- // Recreate model from scratch
204
- spinner.updateText("Recreating model...");
205
- // This would be similar to the setup process
206
- spinner.success({ text: "Model reset complete" });
207
- console.log(chalk_1.default.green("✅ MyContext model reset to clean state"));
68
+ spinner.start();
69
+ const testPrompt = "Generate a simple React component called TestButton";
70
+ const result = await this.aiClient.generateText(testPrompt, {
71
+ maxTokens: 100,
72
+ });
73
+ spinner.success({ text: "Model test completed" });
74
+ console.log(chalk_1.default.green("\n✅ Model Test Results:"));
75
+ console.log(chalk_1.default.gray(`Provider: ${result.provider}`));
76
+ console.log(chalk_1.default.gray(`Response length: ${result.text.length} characters`));
77
+ console.log(chalk_1.default.blue("\n📝 Generated Content:"));
78
+ console.log(chalk_1.default.gray(result.text));
208
79
  }
209
80
  catch (error) {
210
- spinner.error({ text: "Reset failed" });
211
- console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
81
+ spinner.error({ text: "Model test failed" });
82
+ console.log(chalk_1.default.red(`❌ Test failed: ${error.message}`));
212
83
  }
213
84
  }
214
- async stats(options) {
215
- console.log(chalk_1.default.blue("📊 MyContext Model Statistics\n"));
85
+ async listModels() {
86
+ console.log(chalk_1.default.blue("📋 Available AI Models\n"));
216
87
  try {
217
- // Load usage statistics from config
218
- const statsPath = path.join(os.homedir(), ".mycontext", "stats.json");
219
- let stats = {};
220
- try {
221
- stats = await fs.readJson(statsPath);
222
- }
223
- catch {
224
- console.log(chalk_1.default.yellow("📊 No usage statistics available yet"));
225
- console.log(chalk_1.default.gray(" Statistics will be collected as you use the model\n"));
88
+ const providers = await this.aiClient.getAllProviders();
89
+ if (providers.length === 0) {
90
+ console.log(chalk_1.default.red("❌ No providers available"));
226
91
  return;
227
92
  }
228
- // Display statistics
229
- console.log(chalk_1.default.cyan("🎯 Generation Statistics:"));
230
- console.log(chalk_1.default.gray(` Total generations: ${stats.totalGenerations || 0}`));
231
- console.log(chalk_1.default.gray(` Successful generations: ${stats.successfulGenerations || 0}`));
232
- console.log(chalk_1.default.gray(` Average generation time: ${stats.avgGenerationTime || 0}ms`));
233
- console.log(chalk_1.default.gray(` Average quality score: ${stats.avgQualityScore || 0}/100`));
234
- if (options.detailed) {
235
- console.log(chalk_1.default.cyan("\n📈 Performance Metrics:"));
236
- console.log(chalk_1.default.gray(` Fastest generation: ${stats.fastestGeneration || 0}ms`));
237
- console.log(chalk_1.default.gray(` Slowest generation: ${stats.slowestGeneration || 0}ms`));
238
- console.log(chalk_1.default.gray(` Most common component type: ${stats.mostCommonType || "N/A"}`));
239
- console.log(chalk_1.default.cyan("\n💰 Cost Savings:"));
240
- console.log(chalk_1.default.gray(` Estimated API calls saved: ${stats.apiCallsSaved || 0}`));
241
- console.log(chalk_1.default.gray(` Estimated cost savings: $${stats.costSavings || 0}`));
93
+ for (const provider of providers) {
94
+ console.log(chalk_1.default.green(`🤖 ${provider.name.toUpperCase()}`));
95
+ console.log(chalk_1.default.gray(` Priority: ${provider.priority}`));
96
+ console.log(chalk_1.default.gray(` Available: ${(await provider.isAvailable()) ? "Yes" : "No"}`));
97
+ console.log();
242
98
  }
243
99
  }
244
100
  catch (error) {
245
- console.error(chalk_1.default.red(`Error loading stats: ${error instanceof Error ? error.message : String(error)}`));
101
+ console.log(chalk_1.default.red(`❌ Failed to list models: ${error.message}`));
246
102
  }
247
103
  }
248
- validateGeneratedComponent(code) {
249
- const checks = {
250
- "React import": code.includes("import React") || code.includes("'react'"),
251
- "TypeScript interface": code.includes("interface") || code.includes(": React."),
252
- "Shadcn imports": code.includes("@/components/ui/"),
253
- "Proper export": code.includes("export default") || code.includes("export function"),
254
- "className prop": code.includes("className"),
255
- "Use client directive": code.includes("'use client'"),
256
- };
257
- const issues = Object.entries(checks)
258
- .filter(([_, passed]) => !passed)
259
- .map(([check, _]) => check);
260
- const success = issues.length <= 1; // Allow 1 minor issue
261
- return { success, checks, issues };
262
- }
263
- async showDetailedStatus() {
264
- console.log(chalk_1.default.cyan("\n🔍 Detailed Information:"));
265
- try {
266
- // Show disk usage
267
- const homeDir = os.homedir();
268
- const ollamaDir = path.join(homeDir, ".ollama");
269
- if (await fs.pathExists(ollamaDir)) {
270
- // Note: Would need to calculate directory size
271
- console.log(chalk_1.default.gray(" Model storage: ~/.ollama/"));
272
- }
273
- // Show memory usage (if available)
274
- const memInfo = process.memoryUsage();
275
- console.log(chalk_1.default.gray(` Node.js memory: ${Math.round(memInfo.heapUsed / 1024 / 1024)}MB`));
276
- }
277
- catch (error) {
278
- console.log(chalk_1.default.gray(" Detailed info unavailable"));
279
- }
104
+ async showInfo() {
105
+ console.log(chalk_1.default.blue("ℹ️ MyContext Model Information\n"));
106
+ console.log(chalk_1.default.yellow("🎯 Recommended Setup:"));
107
+ console.log(chalk_1.default.gray("1. Qwen3 Coder (FREE) - Primary provider"));
108
+ console.log(chalk_1.default.gray("2. Gemini 2.0 Flash (FREE) - Secondary provider"));
109
+ console.log(chalk_1.default.gray("3. GitHub Models - Tertiary provider"));
110
+ console.log(chalk_1.default.gray("4. Claude/OpenAI - Fallback providers"));
111
+ console.log(chalk_1.default.yellow("\n🔑 API Keys Needed:"));
112
+ console.log(chalk_1.default.gray("• MYCONTEXT_QWEN_API_KEY (OpenRouter)"));
113
+ console.log(chalk_1.default.gray("• MYCONTEXT_GEMINI_API_KEY (Google)"));
114
+ console.log(chalk_1.default.gray("• MYCONTEXT_GITHUB_TOKEN (GitHub)"));
115
+ console.log(chalk_1.default.gray("• MYCONTEXT_CLAUDE_API_KEY (Anthropic)"));
116
+ console.log(chalk_1.default.gray("• MYCONTEXT_OPENAI_API_KEY (OpenAI)"));
117
+ console.log(chalk_1.default.yellow("\n🚀 Quick Start:"));
118
+ console.log(chalk_1.default.gray("1. Run: mycontext setup"));
119
+ console.log(chalk_1.default.gray("2. Choose Qwen3 Coder (free) or Gemini 2.0 Flash (free)"));
120
+ console.log(chalk_1.default.gray("3. Add your API key"));
121
+ console.log(chalk_1.default.gray("4. Start generating components!"));
122
+ console.log(chalk_1.default.yellow("\n📚 More Info:"));
123
+ console.log(chalk_1.default.gray("• Qwen3 Coder: https://openrouter.ai/"));
124
+ console.log(chalk_1.default.gray("• Gemini 2.0 Flash: https://ai.google.dev/"));
125
+ console.log(chalk_1.default.gray("• GitHub Models: https://github.com/features/github-models"));
126
+ console.log(chalk_1.default.gray("• Documentation: https://mycontext.fbien.com"));
280
127
  }
281
128
  }
282
129
  exports.ModelCommand = ModelCommand;
283
- function registerModelCommands(program) {
284
- const modelCommand = program
285
- .command("model")
286
- .description("Manage MyContext AI model");
287
- // Model status
288
- modelCommand
289
- .command("status")
290
- .description("Check model installation and health")
291
- .option("--detailed", "Show detailed status information")
292
- .action(async (options) => {
293
- const modelCmd = new ModelCommand();
294
- await modelCmd.status(options);
295
- });
296
- // Model list (GitHub Models)
297
- modelCommand
298
- .command("list")
299
- .description("List available models from the active provider")
300
- .action(async () => {
301
- const gh = new githubModelsClient_1.GitHubModelsClient();
302
- const spinner = new (require("../utils/spinner").EnhancedSpinner)("Fetching models...");
303
- try {
304
- const ok = await gh.checkConnection();
305
- if (!ok) {
306
- spinner.error({
307
- text: "GitHub Models not configured (token missing?)",
308
- });
309
- console.log(chalk_1.default.yellow("Set MYCONTEXT_GITHUB_TOKEN in .mycontext/.env"));
310
- return;
311
- }
312
- const models = await gh.listModels();
313
- spinner.success({ text: `Found ${models.length} models` });
314
- models.forEach((m) => console.log(chalk_1.default.gray(` - ${m}`)));
315
- }
316
- catch (e) {
317
- spinner.error({ text: "Failed to fetch models" });
318
- console.error(chalk_1.default.red(e?.message || String(e)));
319
- }
320
- });
321
- // Model test
322
- modelCommand
323
- .command("test")
324
- .description("Test model with component generation")
325
- .option("--prompt <text>", "Custom test prompt")
326
- .option("--verbose", "Show generated component preview")
327
- .action(async (options) => {
328
- const modelCmd = new ModelCommand();
329
- await modelCmd.test(options);
330
- });
331
- // Model update
332
- modelCommand
333
- .command("update")
334
- .description("Update model to latest version")
335
- .option("--backup", "Create backup before update")
336
- .action(async (options) => {
337
- const modelCmd = new ModelCommand();
338
- await modelCmd.update(options);
339
- });
340
- // Model reset
341
- modelCommand
342
- .command("reset")
343
- .description("Reset model to clean state")
344
- .option("--clean", "Alias for reset (deprecated)")
345
- .option("--force", "Confirm the reset action")
346
- .action(async (options) => {
347
- const modelCmd = new ModelCommand();
348
- await modelCmd.reset(options);
349
- });
350
- // Model stats
351
- modelCommand
352
- .command("stats")
353
- .description("Show model usage statistics")
354
- .option("--detailed", "Show detailed metrics")
355
- .option("--last <period>", "Time period (7d, 30d, all)", "all")
356
- .action(async (options) => {
357
- const modelCmd = new ModelCommand();
358
- await modelCmd.stats(options);
359
- });
360
- }
361
130
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/commands/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { CommandOptions } from "../types";
2
+ interface PlaybookOptions extends CommandOptions {
3
+ add?: string;
4
+ list?: boolean;
5
+ search?: string;
6
+ use?: string;
7
+ remove?: string;
8
+ template?: string;
9
+ category?: string;
10
+ }
11
+ export declare class PlaybooksCommand {
12
+ private playbooksDir;
13
+ private templatesDir;
14
+ execute(options: PlaybookOptions): Promise<void>;
15
+ private interactiveMode;
16
+ private addPlaybook;
17
+ private listPlaybooks;
18
+ private searchPlaybooks;
19
+ private usePlaybook;
20
+ private removePlaybook;
21
+ private showTemplates;
22
+ private createFromTemplate;
23
+ private getAllPlaybooks;
24
+ private getPlaybook;
25
+ private savePlaybook;
26
+ private parseMarkdown;
27
+ private generateId;
28
+ private getCategoryIndex;
29
+ private getMultilineInput;
30
+ private getTemplateContent;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=playbooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playbooks.d.ts","sourceRoot":"","sources":["../../src/commands/playbooks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK1C,UAAU,eAAgB,SAAQ,cAAc;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAqBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAuD;IAC3E,OAAO,CAAC,YAAY,CAAwD;IAEtE,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAiCxC,eAAe;YA0Ef,WAAW;YA4GX,aAAa;YA0Cb,eAAe;YAgCf,WAAW;YA4CX,cAAc;YA2Bd,aAAa;YAuDb,kBAAkB;YA0BlB,eAAe;YAcf,WAAW;YA+BX,YAAY;IA2B1B,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,gBAAgB;YAeV,iBAAiB;IAY/B,OAAO,CAAC,kBAAkB;CAgI3B"}