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
@@ -37,25 +37,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.SetupCommand = void 0;
40
- exports.registerSetupCommand = registerSetupCommand;
41
40
  const spinner_1 = require("../utils/spinner");
42
- const child_process_1 = require("child_process");
43
41
  const fs = __importStar(require("fs-extra"));
44
42
  const path = __importStar(require("path"));
45
43
  const os = __importStar(require("os"));
46
44
  const chalk_1 = __importDefault(require("chalk"));
47
- const inquirer = __importStar(require("inquirer"));
45
+ const inquirer_1 = __importDefault(require("inquirer"));
48
46
  class SetupCommand {
49
47
  constructor() {
50
48
  this.setupConfigPath = path.join(os.homedir(), ".mycontext", "setup.json");
51
- this.loadDependenciesConfig();
52
- }
53
- loadDependenciesConfig() {
54
- const configPath = path.join(__dirname, "../config/dependencies.json");
55
- this.dependenciesConfig = fs.readJsonSync(configPath);
56
49
  }
57
50
  async execute(options) {
58
- console.log(chalk_1.default.blue("šŸš€ mycontext CLI Setup\n"));
51
+ console.log(chalk_1.default.blue("šŸš€ MyContext CLI Setup\n"));
59
52
  // Check if already set up
60
53
  if ((await this.isAlreadySetup()) && !options.force) {
61
54
  console.log(chalk_1.default.green("āœ… MyContext is already set up and working!"));
@@ -71,379 +64,226 @@ class SetupCommand {
71
64
  return;
72
65
  }
73
66
  }
74
- // Run setup process
75
- const spinner = new spinner_1.EnhancedSpinner("Starting setup...");
67
+ const spinner = new spinner_1.EnhancedSpinner("Setting up MyContext...");
76
68
  try {
77
- await this.runSetupSteps(spinner, options);
78
- await this.saveSetupConfig();
79
- spinner.success({ text: "Setup completed successfully!" });
80
- this.showSuccessMessage();
69
+ // Step 1: Create .mycontext directory
70
+ await this.createMyContextDirectory();
71
+ // Step 2: Set up API providers
72
+ await this.setupApiProviders();
73
+ // Step 3: Verify setup
74
+ await this.verifySetup();
75
+ // Step 4: Save setup status
76
+ await this.saveSetupStatus();
77
+ spinner.success({ text: "MyContext setup completed successfully!" });
78
+ console.log(chalk_1.default.green("\nšŸŽ‰ Setup Complete!"));
79
+ console.log(chalk_1.default.yellow("\nšŸ“‹ Next Steps:"));
80
+ console.log(chalk_1.default.gray("1. Create a new project: mycontext init my-app"));
81
+ console.log(chalk_1.default.gray("2. Generate context: mycontext generate context"));
82
+ console.log(chalk_1.default.gray("3. Generate components: mycontext generate-components all"));
81
83
  }
82
84
  catch (error) {
83
85
  spinner.error({ text: "Setup failed" });
84
- console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
85
- await this.showFailureAlternatives();
86
86
  throw error;
87
87
  }
88
88
  }
89
89
  async getSetupConsent() {
90
- const { prompts } = this.dependenciesConfig.setup;
91
- console.log(chalk_1.default.cyan(prompts.welcome));
92
- console.log("");
93
- // Show benefits
94
- prompts.benefits.forEach((benefit) => {
95
- console.log(chalk_1.default.green(benefit));
96
- });
97
- console.log("");
98
- console.log(chalk_1.default.yellow(`šŸ“¦ ${prompts.storage_notice}`));
99
- console.log(chalk_1.default.gray(`šŸ’” ${prompts.alternatives}`));
100
- console.log("");
101
- const answers = await inquirer.default.prompt([
90
+ console.log(chalk_1.default.cyan("Welcome to MyContext! šŸŽ‰"));
91
+ console.log(chalk_1.default.gray("This setup will configure your AI providers for component generation.\n"));
92
+ console.log(chalk_1.default.yellow("šŸ’° Pricing:"));
93
+ console.log(chalk_1.default.gray("• Set up your own API keys → FREE forever"));
94
+ console.log(chalk_1.default.gray("• Use our hosted service → $5/month (FREE during beta)"));
95
+ console.log(chalk_1.default.gray("• Current beta period: FREE until Dec 31, 2025\n"));
96
+ const { proceed } = await inquirer_1.default.prompt([
102
97
  {
103
98
  type: "confirm",
104
99
  name: "proceed",
105
- message: prompts.continue_prompt,
100
+ message: "Do you want to continue with the setup?",
106
101
  default: true,
107
102
  },
108
103
  ]);
109
- return answers.proceed;
104
+ return proceed;
110
105
  }
111
- async runSetupSteps(spinner, options) {
112
- const steps = this.dependenciesConfig.setup.steps;
113
- for (const step of steps) {
114
- spinner.updateText(step.description);
115
- try {
116
- await this.executeStep(step);
117
- console.log(chalk_1.default.green(` āœ… ${step.name}`));
118
- }
119
- catch (error) {
120
- const errorMessage = error instanceof Error ? error.message : String(error);
121
- // Handle conditional steps based on error type
122
- if (step.conditional === "ollama_not_found" &&
123
- errorMessage.includes("Ollama not found")) {
124
- console.log(chalk_1.default.yellow(` āš ļø ${step.name}: Skipping (Ollama already installed)`));
125
- continue;
126
- }
127
- if (step.conditional === "model_check" &&
128
- (errorMessage.includes("Need to download base model") ||
129
- errorMessage.includes("Need to create specialized model"))) {
130
- console.log(chalk_1.default.yellow(` āš ļø ${step.name}: Will handle missing models`));
131
- continue;
132
- }
133
- if (step.conditional === "specialized_model_not_found" &&
134
- errorMessage.includes("Need to create specialized model")) {
135
- console.log(chalk_1.default.yellow(` āš ļø ${step.name}: Will create specialized model`));
136
- continue;
137
- }
138
- if (step.conditional === "test_optional" &&
139
- errorMessage.includes("Generation test failed")) {
140
- console.log(chalk_1.default.yellow(` āš ļø ${step.name}: Test failed, but setup can continue`));
141
- continue;
142
- }
143
- console.log(chalk_1.default.red(` āŒ ${step.name}: ${errorMessage}`));
144
- // Handle conditional steps
145
- if (step.conditional) {
146
- continue;
147
- }
148
- throw error;
149
- }
106
+ async createMyContextDirectory() {
107
+ const homeDir = os.homedir();
108
+ const myContextDir = path.join(homeDir, ".mycontext");
109
+ if (!(await fs.pathExists(myContextDir))) {
110
+ await fs.mkdir(myContextDir, { recursive: true });
111
+ console.log(chalk_1.default.gray(" Created .mycontext directory"));
150
112
  }
151
113
  }
152
- async executeStep(step) {
153
- switch (step.id) {
154
- case "check_ollama":
155
- await this.checkOllamaInstallation();
156
- break;
157
- case "install_ollama":
158
- await this.installOllama();
159
- break;
160
- case "start_ollama":
161
- await this.startOllamaService();
162
- break;
163
- case "check_model":
164
- await this.checkModel();
114
+ async setupApiProviders() {
115
+ console.log(chalk_1.default.yellow("\nšŸ”‘ API Provider Setup"));
116
+ console.log(chalk_1.default.gray("Choose your preferred AI provider:\n"));
117
+ const { provider } = await inquirer_1.default.prompt([
118
+ {
119
+ type: "list",
120
+ name: "provider",
121
+ message: "Select your AI provider:",
122
+ choices: [
123
+ {
124
+ name: "Qwen3 Coder (FREE via OpenRouter) - Recommended",
125
+ value: "qwen",
126
+ },
127
+ {
128
+ name: "GitHub Models (Fast, high-quality)",
129
+ value: "github",
130
+ },
131
+ {
132
+ name: "OpenAI (GPT models)",
133
+ value: "openai",
134
+ },
135
+ {
136
+ name: "Claude (Anthropic)",
137
+ value: "claude",
138
+ },
139
+ {
140
+ name: "Hosted Service (FREE during beta, $5/month after)",
141
+ value: "hosted",
142
+ },
143
+ {
144
+ name: "Skip for now",
145
+ value: "skip",
146
+ },
147
+ ],
148
+ },
149
+ ]);
150
+ if (provider === "skip") {
151
+ console.log(chalk_1.default.yellow(" Skipping API provider setup"));
152
+ return;
153
+ }
154
+ await this.configureProvider(provider);
155
+ }
156
+ async configureProvider(provider) {
157
+ const homeDir = os.homedir();
158
+ const envPath = path.join(homeDir, ".mycontext", ".env");
159
+ let envVar = "";
160
+ let apiKey = "";
161
+ switch (provider) {
162
+ case "qwen":
163
+ envVar = "MYCONTEXT_QWEN_API_KEY";
164
+ console.log(chalk_1.default.cyan("\n🌐 Qwen3 Coder Setup"));
165
+ console.log(chalk_1.default.gray("1. Visit https://openrouter.ai/"));
166
+ console.log(chalk_1.default.gray("2. Create an account (free)"));
167
+ console.log(chalk_1.default.gray("3. Get your API key"));
165
168
  break;
166
- case "download_model":
167
- await this.downloadModel();
169
+ case "github":
170
+ envVar = "MYCONTEXT_GITHUB_TOKEN";
171
+ console.log(chalk_1.default.cyan("\nšŸ™ GitHub Models Setup"));
172
+ console.log(chalk_1.default.gray("1. Go to GitHub Settings > Developer settings > Personal access tokens"));
173
+ console.log(chalk_1.default.gray("2. Create a token with 'models:read' permission"));
168
174
  break;
169
- case "create_specialized_model":
170
- await this.createSpecializedModel();
175
+ case "openai":
176
+ envVar = "MYCONTEXT_OPENAI_API_KEY";
177
+ console.log(chalk_1.default.cyan("\nšŸ¤– OpenAI Setup"));
178
+ console.log(chalk_1.default.gray("1. Visit https://platform.openai.com/api-keys"));
179
+ console.log(chalk_1.default.gray("2. Create a new API key"));
171
180
  break;
172
- case "test_generation":
173
- await this.testGeneration();
181
+ case "claude":
182
+ envVar = "MYCONTEXT_CLAUDE_API_KEY";
183
+ console.log(chalk_1.default.cyan("\n🧠 Claude Setup"));
184
+ console.log(chalk_1.default.gray("1. Visit https://console.anthropic.com/"));
185
+ console.log(chalk_1.default.gray("2. Create an API key"));
174
186
  break;
175
- case "save_config":
176
- await this.saveConfiguration();
187
+ case "hosted":
188
+ envVar = "MYCONTEXT_HOSTED_API_KEY";
189
+ console.log(chalk_1.default.cyan("\nā˜ļø Hosted Service Setup"));
190
+ console.log(chalk_1.default.green("āœ… FREE during beta period!"));
191
+ console.log(chalk_1.default.gray("1. Visit https://mycontext.fbien.com/signup"));
192
+ console.log(chalk_1.default.gray("2. Create an account (free during beta)"));
193
+ console.log(chalk_1.default.gray("3. Get your API key"));
177
194
  break;
178
- default:
179
- throw new Error(`Unknown setup step: ${step.id}`);
180
- }
181
- }
182
- async checkOllamaInstallation() {
183
- try {
184
- const result = (0, child_process_1.execSync)("ollama --version", { encoding: "utf8" });
185
- console.log(chalk_1.default.gray(` Found Ollama: ${result.trim()}`));
186
- }
187
- catch (error) {
188
- throw new Error("Ollama not found. Will install.");
189
- }
190
- }
191
- async installOllama() {
192
- const platform = os.platform();
193
- console.log(chalk_1.default.yellow(" Installing Ollama..."));
194
- try {
195
- if (platform === "darwin") {
196
- // On macOS, use Homebrew
197
- console.log(chalk_1.default.gray(" Using Homebrew to install Ollama..."));
198
- (0, child_process_1.execSync)("brew install ollama", { stdio: "inherit" });
199
- }
200
- else if (platform === "linux") {
201
- // On Linux, use the install script
202
- (0, child_process_1.execSync)("curl -fsSL https://ollama.ai/install.sh | sh", {
203
- stdio: "inherit",
204
- });
205
- }
206
- else if (platform === "win32") {
207
- throw new Error("Manual installation required. Please visit: https://ollama.ai/download/windows");
208
- }
209
- else {
210
- throw new Error(`Ollama installation not supported on ${platform}`);
211
- }
212
- // Verify installation
213
- (0, child_process_1.execSync)("ollama --version", { encoding: "utf8" });
214
- console.log(chalk_1.default.green(" Ollama installed successfully"));
215
- }
216
- catch (error) {
217
- throw new Error(`Failed to install Ollama: ${error instanceof Error ? error.message : String(error)}`);
218
- }
219
- }
220
- async startOllamaService() {
221
- try {
222
- // Try to ping Ollama service
223
- const healthCheck = this.dependenciesConfig.health_checks.ollama_service;
224
- (0, child_process_1.execSync)(healthCheck.command, { timeout: healthCheck.timeout });
225
- console.log(chalk_1.default.gray(" Ollama service is running"));
226
- }
227
- catch (error) {
228
- // Try to start the service
229
- try {
230
- console.log(chalk_1.default.yellow(" Starting Ollama service..."));
231
- if (os.platform() === "darwin") {
232
- (0, child_process_1.execSync)("brew services start ollama", { stdio: "inherit" });
233
- }
234
- else if (os.platform() === "linux") {
235
- (0, child_process_1.execSync)("sudo systemctl start ollama", { stdio: "inherit" });
236
- }
237
- // Wait and check again
238
- await new Promise((resolve) => setTimeout(resolve, 3000));
239
- (0, child_process_1.execSync)("ollama --version", { timeout: 10000 });
240
- console.log(chalk_1.default.green(" Ollama service started"));
241
- }
242
- catch (startError) {
243
- throw new Error("Failed to start Ollama service. Please start manually.");
244
- }
245
- }
246
- }
247
- async checkModel() {
248
- try {
249
- const result = (0, child_process_1.execSync)("ollama list", { encoding: "utf8" });
250
- if (result.includes("deepseek-coder:6.7b")) {
251
- console.log(chalk_1.default.gray(" Found base model: deepseek-coder:6.7b"));
252
- }
253
- else {
254
- console.log(chalk_1.default.yellow(" Base model not found, will download..."));
255
- throw new Error("Need to download base model");
256
- }
257
- if (result.includes("mycontext-react")) {
258
- console.log(chalk_1.default.gray(" Found specialized model: mycontext-react"));
259
- }
260
- else {
261
- console.log(chalk_1.default.yellow(" Specialized model not found, will create..."));
262
- throw new Error("Need to create specialized model");
263
- }
264
- }
265
- catch (error) {
266
- // Re-throw the error to be handled by the conditional logic
267
- throw error;
268
- }
269
- }
270
- async downloadModel() {
271
- console.log(chalk_1.default.yellow(" Downloading base model (this may take a few minutes)..."));
272
- try {
273
- (0, child_process_1.execSync)("ollama pull deepseek-coder:6.7b", {
274
- stdio: ["inherit", "pipe", "pipe"],
275
- timeout: 300000, // 5 minutes
276
- });
277
- console.log(chalk_1.default.green(" Base model downloaded successfully"));
278
- }
279
- catch (error) {
280
- throw new Error("Failed to download base model. Check internet connection and disk space.");
281
195
  }
282
- }
283
- async createSpecializedModel() {
284
- const modelfilePath = path.join(os.tmpdir(), "Modelfile.mycontext");
285
- const modelfileContent = `FROM deepseek-coder:6.7b
286
-
287
- PARAMETER temperature 0.1
288
- PARAMETER top_p 0.9
289
- PARAMETER repeat_penalty 1.1
290
-
291
- SYSTEM "You are MyContext React Component Generator for Next.js 15 with Shadcn UI.
292
-
293
- SETUP REQUIREMENTS:
294
- - Every MyContext project MUST be set up as a shadcn/ui Next.js project
295
- - Required dependencies: class-variance-authority, clsx, tailwind-merge, lucide-react
296
- - Required files: components.json, lib/utils.ts, tsconfig.json with path aliases
297
-
298
- AVAILABLE SHADCN UI COMPONENTS (import from @/components/ui/):
299
- - import { Button } from '@/components/ui/button'
300
- - import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
301
- - import { Input } from '@/components/ui/input'
302
- - import { Label } from '@/components/ui/label'
303
- - import { Switch } from '@/components/ui/switch'
304
- - import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'
305
- - import { Badge } from '@/components/ui/badge'
306
- - import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/ui/dialog'
307
- - import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
196
+ const { apiKey: inputKey } = await inquirer_1.default.prompt([
197
+ {
198
+ type: "password",
199
+ name: "apiKey",
200
+ message: `Enter your ${provider} API key:`,
201
+ validate: (input) => {
202
+ if (!input.trim()) {
203
+ return "API key is required";
204
+ }
205
+ return true;
206
+ },
207
+ },
208
+ ]);
209
+ apiKey = inputKey;
210
+ // Write to .env file
211
+ const envContent = `# MyContext API Configuration
212
+ ${envVar}=${apiKey}
308
213
 
309
- RULES:
310
- - Always start with 'use client'
311
- - Import React and cn from @/lib/utils
312
- - Use design tokens: bg-card, text-foreground, bg-primary, etc
313
- - Include className prop with cn()
314
- - Export both named and default"`;
315
- try {
316
- await fs.writeFile(modelfilePath, modelfileContent);
317
- console.log(chalk_1.default.yellow(" Creating specialized MyContext model..."));
318
- (0, child_process_1.execSync)(`ollama create mycontext-react -f "${modelfilePath}"`, {
319
- stdio: "inherit",
320
- });
321
- // Cleanup
322
- await fs.remove(modelfilePath);
323
- console.log(chalk_1.default.green(" Specialized model created: mycontext-react"));
214
+ # Add other providers as needed:
215
+ # MYCONTEXT_QWEN_API_KEY=sk-or-xxx
216
+ # MYCONTEXT_GITHUB_TOKEN=ghp_xxx
217
+ # MYCONTEXT_OPENAI_API_KEY=sk-xxx
218
+ # MYCONTEXT_CLAUDE_API_KEY=sk-ant-xxx
219
+ `;
220
+ await fs.writeFile(envPath, envContent);
221
+ console.log(chalk_1.default.green(` āœ… ${provider} API key configured`));
222
+ }
223
+ async verifySetup() {
224
+ console.log(chalk_1.default.yellow("\nšŸ” Verifying Setup"));
225
+ // Check if .env file exists
226
+ const homeDir = os.homedir();
227
+ const envPath = path.join(homeDir, ".mycontext", ".env");
228
+ if (await fs.pathExists(envPath)) {
229
+ console.log(chalk_1.default.green(" āœ… Environment file configured"));
324
230
  }
325
- catch (error) {
326
- throw new Error(`Failed to create specialized model: ${error instanceof Error ? error.message : String(error)}`);
231
+ else {
232
+ console.log(chalk_1.default.yellow(" āš ļø No environment file found"));
327
233
  }
328
- }
329
- async testGeneration() {
234
+ // Check if we can load the configuration
330
235
  try {
331
- console.log(chalk_1.default.yellow(" Testing component generation..."));
332
- const testPrompt = "Create a simple button component";
333
- const result = (0, child_process_1.execSync)(`ollama run mycontext-react "${testPrompt}"`, {
334
- encoding: "utf8",
335
- timeout: 120000, // Increase timeout to 2 minutes for first run
336
- });
337
- // Basic validation
338
- if (result.includes("import React") && result.includes("export")) {
339
- console.log(chalk_1.default.green(" Component generation test passed"));
340
- }
341
- else {
342
- throw new Error("Generated component failed validation");
343
- }
236
+ const { HybridAIClient } = await Promise.resolve().then(() => __importStar(require("../utils/hybridAIClient")));
237
+ const client = new HybridAIClient();
238
+ console.log(chalk_1.default.green(" āœ… AI client initialized"));
344
239
  }
345
240
  catch (error) {
346
- throw new Error(`Generation test failed: ${error instanceof Error ? error.message : String(error)}`);
241
+ console.log(chalk_1.default.red(" āŒ AI client initialization failed"));
347
242
  }
348
243
  }
349
- async saveConfiguration() {
350
- const config = {
351
- setupDate: new Date().toISOString(),
352
- ollamaVersion: (0, child_process_1.execSync)("ollama --version", { encoding: "utf8" }).trim(),
353
- modelName: "mycontext-react",
354
- status: "configured",
244
+ async saveSetupStatus() {
245
+ const setupStatus = {
246
+ completed: true,
247
+ timestamp: new Date().toISOString(),
248
+ version: "0.4.21",
355
249
  };
356
- await fs.ensureDir(path.dirname(this.setupConfigPath));
357
- await fs.writeJson(this.setupConfigPath, config, { spaces: 2 });
358
- console.log(chalk_1.default.gray(" Configuration saved"));
250
+ await fs.writeJson(this.setupConfigPath, setupStatus, { spaces: 2 });
359
251
  }
360
252
  async isAlreadySetup() {
361
- try {
362
- const config = await fs.readJson(this.setupConfigPath);
363
- return config.status === "configured";
364
- }
365
- catch {
366
- return false;
367
- }
253
+ return await fs.pathExists(this.setupConfigPath);
368
254
  }
369
255
  async showCurrentStatus() {
370
- try {
371
- console.log(chalk_1.default.cyan("šŸ“Š Current Status:"));
372
- // Check Ollama
373
- const ollamaVersion = (0, child_process_1.execSync)("ollama --version", {
374
- encoding: "utf8",
375
- }).trim();
376
- console.log(chalk_1.default.green(` āœ… Ollama: ${ollamaVersion}`));
377
- // Check models
378
- const models = (0, child_process_1.execSync)("ollama list", { encoding: "utf8" });
379
- const hasSpecialized = models.includes("mycontext-react");
380
- console.log(chalk_1.default[hasSpecialized ? "green" : "yellow"](` ${hasSpecialized ? "āœ…" : "āš ļø"} MyContext Model: ${hasSpecialized ? "Ready" : "Missing"}`));
381
- // Test generation
382
- try {
383
- (0, child_process_1.execSync)('ollama run mycontext-react "test"', { timeout: 10000 });
384
- console.log(chalk_1.default.green(" āœ… Component Generation: Working"));
256
+ console.log(chalk_1.default.blue("\nšŸ“Š Current Status:"));
257
+ // Check environment file
258
+ const homeDir = os.homedir();
259
+ const envPath = path.join(homeDir, ".mycontext", ".env");
260
+ if (await fs.pathExists(envPath)) {
261
+ const envContent = await fs.readFile(envPath, "utf-8");
262
+ const providers = [];
263
+ if (envContent.includes("MYCONTEXT_QWEN_API_KEY"))
264
+ providers.push("Qwen3 Coder");
265
+ if (envContent.includes("MYCONTEXT_GITHUB_TOKEN"))
266
+ providers.push("GitHub Models");
267
+ if (envContent.includes("MYCONTEXT_OPENAI_API_KEY"))
268
+ providers.push("OpenAI");
269
+ if (envContent.includes("MYCONTEXT_CLAUDE_API_KEY"))
270
+ providers.push("Claude");
271
+ if (providers.length > 0) {
272
+ console.log(chalk_1.default.green(` āœ… Configured providers: ${providers.join(", ")}`));
385
273
  }
386
- catch {
387
- console.log(chalk_1.default.yellow(" āš ļø Component Generation: Issues detected"));
274
+ else {
275
+ console.log(chalk_1.default.yellow(" āš ļø No API providers configured"));
388
276
  }
389
277
  }
390
- catch (error) {
391
- console.log(chalk_1.default.red(" āŒ Setup incomplete or broken"));
392
- }
393
- }
394
- showSuccessMessage() {
395
- const { success_message } = this.dependenciesConfig.setup;
396
- console.log("");
397
- console.log(chalk_1.default.green(success_message));
398
- console.log("");
399
- console.log(chalk_1.default.cyan("šŸŽÆ Next Steps:"));
400
- console.log(chalk_1.default.white(' mycontext generate-component "user profile card"'));
401
- console.log(chalk_1.default.white(" mycontext generate-components auth"));
402
- console.log(chalk_1.default.white(" mycontext model status"));
403
- }
404
- async saveSetupConfig() {
405
- const configDir = path.join(os.homedir(), ".mycontext");
406
- const configPath = path.join(configDir, "setup.json");
407
- await fs.ensureDir(configDir);
408
- const config = {
409
- installedAt: new Date().toISOString(),
410
- ollamaVersion: await this.getOllamaVersion(),
411
- modelVersion: "deepseek-coder:6.7b",
412
- status: "completed",
413
- };
414
- await fs.writeJson(configPath, config, { spaces: 2 });
415
- }
416
- async getOllamaVersion() {
417
- try {
418
- const { execSync } = await Promise.resolve().then(() => __importStar(require("child_process")));
419
- const version = execSync("ollama --version", { encoding: "utf8" }).trim();
420
- return version;
278
+ else {
279
+ console.log(chalk_1.default.yellow(" āš ļø No environment file found"));
421
280
  }
422
- catch {
423
- return "unknown";
281
+ // Check setup status
282
+ if (await this.isAlreadySetup()) {
283
+ const setupData = await fs.readJson(this.setupConfigPath);
284
+ console.log(chalk_1.default.green(` āœ… Setup completed: ${setupData.timestamp}`));
424
285
  }
425
286
  }
426
- async showFailureAlternatives() {
427
- const { failure_alternatives } = this.dependenciesConfig.setup;
428
- console.log("");
429
- console.log(chalk_1.default.yellow("šŸ”„ Alternative Options:"));
430
- failure_alternatives.forEach((alt) => {
431
- console.log(chalk_1.default.gray(` • ${alt}`));
432
- });
433
- }
434
287
  }
435
288
  exports.SetupCommand = SetupCommand;
436
- function registerSetupCommand(program) {
437
- program
438
- .command("setup")
439
- .description("Set up MyContext local AI environment")
440
- .option("--local", "Force local setup mode")
441
- .option("--cloud", "Use cloud/API mode")
442
- .option("--force", "Force setup even if already configured")
443
- .option("--skip-prompts", "Skip interactive prompts")
444
- .action(async (options) => {
445
- const setupCommand = new SetupCommand();
446
- await setupCommand.execute(options);
447
- });
448
- }
449
289
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}