mycontext-cli 0.2.2 → 0.2.4

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 (60) hide show
  1. package/dist/agents/implementations/CodeGenSubAgent.d.ts +0 -7
  2. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  3. package/dist/agents/implementations/CodeGenSubAgent.js +0 -7
  4. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  5. package/dist/agents/implementations/DocsSubAgent.d.ts +8 -6
  6. package/dist/agents/implementations/DocsSubAgent.d.ts.map +1 -1
  7. package/dist/agents/implementations/DocsSubAgent.js +74 -25
  8. package/dist/agents/implementations/DocsSubAgent.js.map +1 -1
  9. package/dist/agents/implementations/EnhancementAgent.d.ts +2 -0
  10. package/dist/agents/implementations/EnhancementAgent.d.ts.map +1 -1
  11. package/dist/agents/implementations/EnhancementAgent.js +13 -4
  12. package/dist/agents/implementations/EnhancementAgent.js.map +1 -1
  13. package/dist/agents/implementations/QASubAgent.d.ts +9 -0
  14. package/dist/agents/implementations/QASubAgent.d.ts.map +1 -1
  15. package/dist/agents/implementations/QASubAgent.js +103 -22
  16. package/dist/agents/implementations/QASubAgent.js.map +1 -1
  17. package/dist/cli.js +11 -3
  18. package/dist/cli.js.map +1 -1
  19. package/dist/commands/auth.d.ts.map +1 -1
  20. package/dist/commands/auth.js +3 -2
  21. package/dist/commands/auth.js.map +1 -1
  22. package/dist/commands/enhance.d.ts +40 -0
  23. package/dist/commands/enhance.d.ts.map +1 -1
  24. package/dist/commands/enhance.js +192 -1
  25. package/dist/commands/enhance.js.map +1 -1
  26. package/dist/commands/generate-components.d.ts +1 -0
  27. package/dist/commands/generate-components.d.ts.map +1 -1
  28. package/dist/commands/generate-components.js +61 -22
  29. package/dist/commands/generate-components.js.map +1 -1
  30. package/dist/commands/generate.d.ts +5 -0
  31. package/dist/commands/generate.d.ts.map +1 -1
  32. package/dist/commands/generate.js +369 -15
  33. package/dist/commands/generate.js.map +1 -1
  34. package/dist/commands/list.js +1 -1
  35. package/dist/commands/list.js.map +1 -1
  36. package/dist/commands/refine.d.ts +94 -0
  37. package/dist/commands/refine.d.ts.map +1 -0
  38. package/dist/commands/refine.js +492 -0
  39. package/dist/commands/refine.js.map +1 -0
  40. package/dist/commands/setup.d.ts.map +1 -1
  41. package/dist/commands/setup.js +45 -16
  42. package/dist/commands/setup.js.map +1 -1
  43. package/dist/config/ai-providers.json +56 -0
  44. package/dist/config/dependencies.json +6 -3
  45. package/dist/types/index.d.ts +1 -1
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/dist/utils/huggingFaceClient.d.ts +44 -0
  48. package/dist/utils/huggingFaceClient.d.ts.map +1 -0
  49. package/dist/utils/huggingFaceClient.js +169 -0
  50. package/dist/utils/huggingFaceClient.js.map +1 -0
  51. package/dist/utils/hybridAIClient.d.ts +74 -0
  52. package/dist/utils/hybridAIClient.d.ts.map +1 -0
  53. package/dist/utils/hybridAIClient.js +257 -0
  54. package/dist/utils/hybridAIClient.js.map +1 -0
  55. package/dist/utils/ollamaClient.d.ts +5 -12
  56. package/dist/utils/ollamaClient.d.ts.map +1 -1
  57. package/dist/utils/ollamaClient.js +118 -107
  58. package/dist/utils/ollamaClient.js.map +1 -1
  59. package/package.json +3 -1
  60. package/dist/cli/src/config/dependencies.json +0 -180
@@ -81,21 +81,28 @@ class GenerateComponentsCommand {
81
81
  async execute(target, options) {
82
82
  const spinner = new spinner_1.EnhancedSpinner("Initializing component generation...");
83
83
  try {
84
- // Check authentication first
85
- const { AuthCommand } = await Promise.resolve().then(() => __importStar(require("./auth")));
86
- const authCommand = new AuthCommand();
87
- if (!(await authCommand.requireAuth())) {
88
- console.log(chalk_1.default.yellow("🔐 Authentication required"));
89
- console.log(chalk_1.default.gray("Please run 'mycontext auth' to authenticate first"));
90
- return;
84
+ // Check authentication unless local mode is enabled
85
+ let userInfo = null;
86
+ if (!options.local) {
87
+ const { AuthCommand } = await Promise.resolve().then(() => __importStar(require("./auth")));
88
+ const authCommand = new AuthCommand();
89
+ if (!(await authCommand.requireAuth())) {
90
+ console.log(chalk_1.default.yellow("🔐 Authentication required"));
91
+ console.log(chalk_1.default.gray("Please run 'mycontext auth' to authenticate first, or use --local for local generation"));
92
+ return;
93
+ }
94
+ // Get user info for component storage
95
+ userInfo = await authCommand.getUserInfo();
96
+ if (!userInfo) {
97
+ console.log(chalk_1.default.red("❌ Authentication failed"));
98
+ return;
99
+ }
100
+ console.log(chalk_1.default.green(`✅ Authenticated as ${userInfo.email}`));
91
101
  }
92
- // Get user info for component storage
93
- const userInfo = await authCommand.getUserInfo();
94
- if (!userInfo) {
95
- console.log(chalk_1.default.red("❌ Authentication failed"));
96
- return;
102
+ else {
103
+ console.log(chalk_1.default.blue("🚀 Using local AI generation (no authentication required)"));
104
+ userInfo = { userId: "local" };
97
105
  }
98
- console.log(chalk_1.default.green(`✅ Authenticated as ${userInfo.email}`));
99
106
  // Determine if we're generating a specific group or all components
100
107
  const isAll = target === "all" || options.all;
101
108
  const groupName = isAll ? undefined : target;
@@ -201,14 +208,46 @@ class GenerateComponentsCommand {
201
208
  try {
202
209
  // Use sub-agent orchestration for component generation
203
210
  const { orchestrator } = await Promise.resolve().then(() => __importStar(require("../agents/orchestrator/SubAgentOrchestrator")));
204
- // Execute code generation first
205
- const codeResult = (await orchestrator.executeAgent("CodeGenSubAgent", {
206
- component,
207
- group,
208
- options: {
209
- ...options,
210
- },
211
- }));
211
+ // Execute code generation first with timeout
212
+ let codeResult;
213
+ try {
214
+ codeResult = (await Promise.race([
215
+ orchestrator.executeAgent("CodeGenSubAgent", {
216
+ component,
217
+ group,
218
+ options: {
219
+ ...options,
220
+ },
221
+ }),
222
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Code generation timed out after 60 seconds')), 60000))
223
+ ]));
224
+ }
225
+ catch (error) {
226
+ if (error.message.includes('timed out')) {
227
+ console.log(chalk_1.default.yellow(`⚠️ Code generation timed out for ${component.name}`));
228
+ console.log(chalk_1.default.gray("Using fallback generation method..."));
229
+ const code = this.generateComponentCode(component, group, options);
230
+ const componentPath = path.join(groupDir, `${component.name}.tsx`);
231
+ await this.fs.writeFile(componentPath, code);
232
+ // Store component with fallback data
233
+ await this.storeComponent({
234
+ userId,
235
+ name: component.name,
236
+ code,
237
+ metadata: {
238
+ prompt: component.description || "",
239
+ model: "fallback-timeout",
240
+ executionTime: Date.now(),
241
+ qualityScore: null,
242
+ group: group.name,
243
+ },
244
+ group: group.name,
245
+ qualityScore: null,
246
+ });
247
+ return;
248
+ }
249
+ throw error;
250
+ }
212
251
  const componentPath = path.join(groupDir, `${component.name}.tsx`);
213
252
  await this.fs.writeFile(componentPath, codeResult.code);
214
253
  // Execute QA and docs in parallel
@@ -280,7 +319,7 @@ class GenerateComponentsCommand {
280
319
  }
281
320
  async storeComponent(componentData) {
282
321
  try {
283
- const API_BASE = process.env.MYCONTEXT_API_URL || "http://localhost:3000";
322
+ const API_BASE = process.env.MYCONTEXT_API_URL || "https://mycontext.fbien.com";
284
323
  const response = await fetch(`${API_BASE}/api/components/store`, {
285
324
  method: "POST",
286
325
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-components.js","sourceRoot":"","sources":["../../src/commands/generate-components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-components.js","sourceRoot":"","sources":["../../src/commands/generate-components.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ interface GenerateOptions extends CommandOptions {
10
10
  export declare class GenerateCommand {
11
11
  private fs;
12
12
  private spinner;
13
+ private ollamaClient;
13
14
  constructor();
14
15
  execute(type: string, options: GenerateOptions): Promise<void>;
15
16
  private getProjectContext;
@@ -17,6 +18,10 @@ export declare class GenerateCommand {
17
18
  private generateTypes;
18
19
  private generateBrand;
19
20
  private generateComponentList;
21
+ private generateFallbackContext;
22
+ private generateFallbackTypes;
23
+ private generateFallbackBrand;
24
+ private generateFallbackComponentList;
20
25
  private saveGeneratedContent;
21
26
  }
22
27
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAuC,MAAM,UAAU,CAAC;AA2F/E,UAAU,eAAgB,SAAQ,cAAc;IAC9C,IAAI,CAAC,EACD,SAAS,GACT,OAAO,GACP,OAAO,GACP,iBAAiB,GACjB,YAAY,GACZ,eAAe,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,OAAO,CAAkB;;IAM3B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAsDtD,iBAAiB;YAYjB,eAAe;YAmCf,aAAa;YA8Bb,aAAa;YA8Bb,qBAAqB;YA8BrB,oBAAoB;CAgCnC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAuC,MAAM,UAAU,CAAC;AA2F/E,UAAU,eAAgB,SAAQ,cAAc;IAC9C,IAAI,CAAC,EACD,SAAS,GACT,OAAO,GACP,OAAO,GACP,iBAAiB,GACjB,YAAY,GACZ,eAAe,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,YAAY,CAAe;;IAO7B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAsDtD,iBAAiB;YAYjB,eAAe;YAwDf,aAAa;YA8Bb,aAAa;YA8Bb,qBAAqB;IA2DnC,OAAO,CAAC,uBAAuB;IAiF/B,OAAO,CAAC,qBAAqB;IAuE7B,OAAO,CAAC,qBAAqB;IAuE7B,OAAO,CAAC,6BAA6B;YAoHvB,oBAAoB;CAgCnC"}
@@ -41,11 +41,13 @@ const chalk_1 = __importDefault(require("chalk"));
41
41
  const path_1 = __importDefault(require("path"));
42
42
  const spinner_1 = require("../utils/spinner");
43
43
  const fileSystem_1 = require("../utils/fileSystem");
44
+ const ollamaClient_1 = require("../utils/ollamaClient");
44
45
  const fs = __importStar(require("fs-extra"));
45
46
  class GenerateCommand {
46
47
  constructor() {
47
48
  this.fs = new fileSystem_1.FileSystemManager();
48
49
  this.spinner = new spinner_1.EnhancedSpinner("Processing...");
50
+ this.ollamaClient = new ollamaClient_1.OllamaClient();
49
51
  }
50
52
  async execute(type, options) {
51
53
  try {
@@ -102,27 +104,45 @@ class GenerateCommand {
102
104
  }
103
105
  }
104
106
  async generateContext(projectContext, options) {
105
- // Use local AI for context generation
106
- const prompt = `Generate a comprehensive project context for: ${projectContext.description || "MyContext project"}`;
107
+ const prompt = `Create a simple PRD for: ${projectContext.description || "MyContext project"}
108
+
109
+ Include:
110
+ - Project overview
111
+ - Key features
112
+ - User stories
113
+ - Technical requirements`;
107
114
  try {
108
- // This would call the local AI model via Ollama
109
- // For now, return a placeholder
115
+ // Check if Ollama is available
116
+ const isAvailable = await this.ollamaClient.checkConnection();
117
+ if (!isAvailable) {
118
+ throw new Error("Ollama is not running. Please start Ollama first.");
119
+ }
120
+ this.spinner.updateText("Generating PRD with local AI...");
121
+ const content = await this.ollamaClient.generateComponent(prompt, "mycontext-react:latest");
110
122
  return {
111
123
  success: true,
112
- content: `# Project Context\n\n${projectContext.description || "MyContext project"}\n\nGenerated with local AI.`,
124
+ content: content,
113
125
  provider: "ollama",
114
126
  metadata: {
115
- model: "mycontext-architect",
116
- tokens: 100,
117
- latency: 500,
127
+ model: "mycontext-react:latest",
128
+ tokens: content.length / 4, // Rough estimate
129
+ latency: 1000,
118
130
  },
119
131
  };
120
132
  }
121
133
  catch (error) {
134
+ // Fallback to basic generation if AI is too slow
135
+ this.spinner.updateText("AI generation failed, using fallback...");
136
+ const fallbackContent = this.generateFallbackContext(projectContext);
122
137
  return {
123
- success: false,
124
- error: `Local AI generation failed: ${error instanceof Error ? error.message : "Unknown error"}`,
125
- provider: "ollama",
138
+ success: true,
139
+ content: fallbackContent,
140
+ provider: "fallback",
141
+ metadata: {
142
+ model: "fallback-generator",
143
+ tokens: fallbackContent.length / 4,
144
+ latency: 100,
145
+ },
126
146
  };
127
147
  }
128
148
  }
@@ -171,15 +191,38 @@ class GenerateCommand {
171
191
  }
172
192
  }
173
193
  async generateComponentList(projectContext, options) {
174
- const prompt = `Generate a component list for: ${projectContext.description || "MyContext project"}`;
194
+ const prompt = `Create a simple component list for: ${projectContext.description || "MyContext project"}
195
+
196
+ Return JSON with components organized by groups. Example:
197
+ {
198
+ "components": [
199
+ {
200
+ "name": "ComponentName",
201
+ "description": "What it does",
202
+ "group": "group-name"
203
+ }
204
+ ]
205
+ }`;
175
206
  try {
207
+ // Check if Ollama is available
208
+ const isAvailable = await this.ollamaClient.checkConnection();
209
+ if (!isAvailable) {
210
+ throw new Error("Ollama is not running. Please start Ollama first.");
211
+ }
212
+ this.spinner.updateText("Generating component list with local AI...");
213
+ const content = await this.ollamaClient.generateComponent(prompt, "mycontext-react:latest");
214
+ // Clean the response to ensure it's valid JSON
215
+ const cleanedContent = content
216
+ .replace(/```json\n?/g, "")
217
+ .replace(/```\n?/g, "")
218
+ .trim();
176
219
  return {
177
220
  success: true,
178
- content: `{\n "components": [\n {\n "name": "Header",\n "description": "Main navigation header",\n "group": "navigation"\n },\n {\n "name": "Button",\n "description": "Reusable button component",\n "group": "ui"\n }\n ]\n}\n\nGenerated with local AI.`,
221
+ content: cleanedContent,
179
222
  provider: "ollama",
180
223
  metadata: {
181
- model: "mycontext-architect",
182
- tokens: 150,
224
+ model: "mycontext-react:latest",
225
+ tokens: cleanedContent.length / 4,
183
226
  latency: 700,
184
227
  },
185
228
  };
@@ -192,6 +235,317 @@ class GenerateCommand {
192
235
  };
193
236
  }
194
237
  }
238
+ generateFallbackContext(projectContext) {
239
+ const description = projectContext.description || "MyContext project";
240
+ if (description.toLowerCase().includes("tic-tac-toe") ||
241
+ description.toLowerCase().includes("game")) {
242
+ return `# Product Requirements Document: Tic-Tac-Toe Game
243
+
244
+ ## Project Overview
245
+ A simple Tic-Tac-Toe game with working UI components built using React and modern web technologies.
246
+
247
+ ## Key Features
248
+ - Interactive 3x3 game board
249
+ - Turn-based gameplay (X and O players)
250
+ - Win detection and game state management
251
+ - Score tracking and game history
252
+ - Responsive design for all devices
253
+ - Game reset and new game functionality
254
+
255
+ ## User Stories
256
+ - As a player, I want to click on empty cells to place my mark (X or O)
257
+ - As a player, I want to see whose turn it is
258
+ - As a player, I want to know when the game is won or drawn
259
+ - As a player, I want to start a new game after completion
260
+ - As a player, I want to see the current score
261
+
262
+ ## Technical Requirements
263
+ - React 18+ with TypeScript
264
+ - Modern CSS with Tailwind or styled-components
265
+ - Responsive design (mobile-first approach)
266
+ - Accessibility features (ARIA labels, keyboard navigation)
267
+ - State management using React hooks
268
+ - Component-based architecture
269
+
270
+ ## Acceptance Criteria
271
+ - [ ] Game board renders correctly as 3x3 grid
272
+ - [ ] Players can place X and O marks alternately
273
+ - [ ] Win detection works for all winning combinations
274
+ - [ ] Draw detection works when board is full
275
+ - [ ] Game can be reset and restarted
276
+ - [ ] UI is responsive and accessible
277
+ - [ ] Score tracking works correctly
278
+
279
+ ## Success Metrics
280
+ - Game loads in under 2 seconds
281
+ - All game logic functions correctly
282
+ - UI is intuitive and responsive
283
+ - Code follows React best practices`;
284
+ }
285
+ return `# Product Requirements Document: ${description}
286
+
287
+ ## Project Overview
288
+ ${description}
289
+
290
+ ## Key Features
291
+ - Feature 1: Description
292
+ - Feature 2: Description
293
+ - Feature 3: Description
294
+
295
+ ## User Stories
296
+ - As a user, I want to [action] so that [benefit]
297
+ - As an admin, I need to [action] so that [benefit]
298
+
299
+ ## Technical Requirements
300
+ - Technology Stack: React, TypeScript, modern CSS
301
+ - Database: [To be determined]
302
+ - Authentication: [To be determined]
303
+
304
+ ## Acceptance Criteria
305
+ - [ ] Feature 1 works correctly
306
+ - [ ] Feature 2 is responsive
307
+ - [ ] Feature 3 is accessible
308
+
309
+ ## Success Metrics
310
+ - Application loads quickly
311
+ - All features function as expected
312
+ - Code quality meets standards`;
313
+ }
314
+ generateFallbackTypes(projectContext) {
315
+ const description = projectContext.description || "MyContext project";
316
+ if (description.toLowerCase().includes("tic-tac-toe") ||
317
+ description.toLowerCase().includes("game")) {
318
+ return `// TypeScript interfaces for Tic-Tac-Toe Game
319
+
320
+ export type Player = 'X' | 'O';
321
+ export type CellValue = Player | null;
322
+ export type GameStatus = 'playing' | 'won' | 'draw';
323
+
324
+ export interface GameState {
325
+ board: CellValue[][];
326
+ currentPlayer: Player;
327
+ gameStatus: GameStatus;
328
+ winner: Player | null;
329
+ scores: Record<Player, number>;
330
+ }
331
+
332
+ export interface GameCellProps {
333
+ value: CellValue;
334
+ position: [number, number];
335
+ onClick: (position: [number, number]) => void;
336
+ disabled: boolean;
337
+ }
338
+
339
+ export interface GameBoardProps {
340
+ board: CellValue[][];
341
+ onCellClick: (position: [number, number]) => void;
342
+ disabled: boolean;
343
+ }
344
+
345
+ export interface GameControlsProps {
346
+ onReset: () => void;
347
+ onNewGame: () => void;
348
+ }
349
+
350
+ export interface GameStatusProps {
351
+ currentPlayer: Player;
352
+ gameStatus: GameStatus;
353
+ winner: Player | null;
354
+ }
355
+
356
+ export interface ScoreBoardProps {
357
+ scores: Record<Player, number>;
358
+ }`;
359
+ }
360
+ return `// TypeScript interfaces for ${description}
361
+
362
+ export interface ProjectConfig {
363
+ name: string;
364
+ description: string;
365
+ version: string;
366
+ }
367
+
368
+ export interface User {
369
+ id: string;
370
+ name: string;
371
+ email: string;
372
+ }
373
+
374
+ export interface ApiResponse<T> {
375
+ success: boolean;
376
+ data?: T;
377
+ error?: string;
378
+ }`;
379
+ }
380
+ generateFallbackBrand(projectContext) {
381
+ const description = projectContext.description || "MyContext project";
382
+ if (description.toLowerCase().includes("tic-tac-toe") ||
383
+ description.toLowerCase().includes("game")) {
384
+ return `# Brand Guidelines: Tic-Tac-Toe Game
385
+
386
+ ## Brand Identity
387
+ A fun, engaging, and accessible game that brings people together through simple yet strategic gameplay.
388
+
389
+ ## Color Palette
390
+ - Primary: #3B82F6 (Blue) - Represents trust and reliability
391
+ - Secondary: #10B981 (Green) - Success and positive outcomes
392
+ - Accent: #F59E0B (Amber) - Energy and excitement
393
+ - Neutral: #6B7280 (Gray) - Balance and stability
394
+ - Background: #FFFFFF (White) - Clean and modern feel
395
+ - Text: #1F2937 (Dark Gray) - Excellent readability
396
+
397
+ ## Typography
398
+ - Primary Font: Inter - Modern, clean, highly readable
399
+ - Weights: 400 (Regular), 500 (Medium), 600 (SemiBold), 700 (Bold)
400
+ - Sizes: 14px (Body), 16px (Large), 20px (Heading), 24px (Title)
401
+
402
+ ## Visual Elements
403
+ - Game Board: Clean grid with subtle borders
404
+ - Icons: Simple, recognizable X and O symbols
405
+ - Buttons: Rounded corners with hover effects
406
+ - Cards: Subtle shadows for depth
407
+
408
+ ## Brand Voice
409
+ - Friendly and approachable
410
+ - Encouraging and supportive
411
+ - Clear and concise
412
+ - Inclusive and accessible
413
+
414
+ ## Usage Guidelines
415
+ - Maintain consistent spacing (8px grid system)
416
+ - Use colors purposefully for game states
417
+ - Ensure high contrast for accessibility
418
+ - Keep animations smooth and purposeful`;
419
+ }
420
+ return `# Brand Guidelines: ${description}
421
+
422
+ ## Brand Identity
423
+ [To be defined based on project requirements]
424
+
425
+ ## Color Palette
426
+ - Primary: #007bff (Blue)
427
+ - Secondary: #6c757d (Gray)
428
+ - Accent: #28a745 (Green)
429
+ - Background: #ffffff (White)
430
+ - Text: #212529 (Dark)
431
+
432
+ ## Typography
433
+ - Font: Inter
434
+ - Weights: 300, 400, 500, 600, 700
435
+
436
+ ## Visual Elements
437
+ - Clean and modern design
438
+ - Consistent spacing
439
+ - Accessible color contrast
440
+
441
+ ## Brand Voice
442
+ - Professional and reliable
443
+ - Clear and concise
444
+ - User-focused`;
445
+ }
446
+ generateFallbackComponentList(projectContext) {
447
+ // Generate a basic component list based on project description
448
+ const description = projectContext.description || "MyContext project";
449
+ if (description.toLowerCase().includes("tic-tac-toe") ||
450
+ description.toLowerCase().includes("game")) {
451
+ return JSON.stringify({
452
+ groups: [
453
+ {
454
+ name: "game-logic",
455
+ description: "Core game logic and state management",
456
+ components: [
457
+ {
458
+ name: "TicTacToeGame",
459
+ description: "Main game component with game logic and state management",
460
+ type: "interactive",
461
+ priority: "high",
462
+ dependencies: [],
463
+ tags: ["game", "logic", "state"]
464
+ }
465
+ ]
466
+ },
467
+ {
468
+ name: "game-board",
469
+ description: "Game board and cell components",
470
+ components: [
471
+ {
472
+ name: "GameBoard",
473
+ description: "3x3 grid container for the game board",
474
+ type: "layout",
475
+ priority: "high",
476
+ dependencies: ["GameCell"],
477
+ tags: ["board", "grid", "layout"]
478
+ },
479
+ {
480
+ name: "GameCell",
481
+ description: "Individual cell in the game board grid",
482
+ type: "interactive",
483
+ priority: "high",
484
+ dependencies: [],
485
+ tags: ["cell", "interactive", "clickable"]
486
+ }
487
+ ]
488
+ },
489
+ {
490
+ name: "game-controls",
491
+ description: "Game control and action components",
492
+ components: [
493
+ {
494
+ name: "GameControls",
495
+ description: "Reset and new game control buttons",
496
+ type: "interactive",
497
+ priority: "medium",
498
+ dependencies: [],
499
+ tags: ["controls", "buttons", "actions"]
500
+ }
501
+ ]
502
+ },
503
+ {
504
+ name: "game-status",
505
+ description: "Game status and information display",
506
+ components: [
507
+ {
508
+ name: "GameStatus",
509
+ description: "Current player turn and game status display",
510
+ type: "display",
511
+ priority: "medium",
512
+ dependencies: [],
513
+ tags: ["status", "display", "info"]
514
+ },
515
+ {
516
+ name: "ScoreBoard",
517
+ description: "Score tracking for X and O players",
518
+ type: "display",
519
+ priority: "medium",
520
+ dependencies: [],
521
+ tags: ["score", "display", "tracking"]
522
+ }
523
+ ]
524
+ }
525
+ ]
526
+ }, null, 2);
527
+ }
528
+ // Generic fallback
529
+ return JSON.stringify({
530
+ components: [
531
+ {
532
+ name: "Header",
533
+ description: "Main navigation header",
534
+ group: "navigation",
535
+ },
536
+ {
537
+ name: "Button",
538
+ description: "Reusable button component",
539
+ group: "ui",
540
+ },
541
+ {
542
+ name: "Container",
543
+ description: "Main content container",
544
+ group: "layout",
545
+ },
546
+ ],
547
+ }, null, 2);
548
+ }
195
549
  async saveGeneratedContent(type, content, options) {
196
550
  const outputDir = options.output || ".";
197
551
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");