mycontext-cli 2.0.27 → 2.0.28

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 (129) hide show
  1. package/README.md +35 -369
  2. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  3. package/dist/agents/implementations/CodeGenSubAgent.js +67 -14
  4. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  5. package/dist/agents/implementations/DesignPipelineAgent.d.ts +80 -0
  6. package/dist/agents/implementations/DesignPipelineAgent.d.ts.map +1 -0
  7. package/dist/agents/implementations/DesignPipelineAgent.js +1406 -0
  8. package/dist/agents/implementations/DesignPipelineAgent.js.map +1 -0
  9. package/dist/agents/implementations/FeatureAssemblyAgent.d.ts +67 -0
  10. package/dist/agents/implementations/FeatureAssemblyAgent.d.ts.map +1 -0
  11. package/dist/agents/implementations/FeatureAssemblyAgent.js +564 -0
  12. package/dist/agents/implementations/FeatureAssemblyAgent.js.map +1 -0
  13. package/dist/agents/implementations/PromptConstructorAgent.d.ts +10 -0
  14. package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
  15. package/dist/agents/implementations/PromptConstructorAgent.js +172 -12
  16. package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
  17. package/dist/agents/implementations/RoleBasedGenerator.d.ts +52 -0
  18. package/dist/agents/implementations/RoleBasedGenerator.d.ts.map +1 -0
  19. package/dist/agents/implementations/RoleBasedGenerator.js +370 -0
  20. package/dist/agents/implementations/RoleBasedGenerator.js.map +1 -0
  21. package/dist/cli.js +65 -0
  22. package/dist/cli.js.map +1 -1
  23. package/dist/clients/ClaudeSDKClient.d.ts +48 -0
  24. package/dist/clients/ClaudeSDKClient.d.ts.map +1 -0
  25. package/dist/clients/ClaudeSDKClient.js +158 -0
  26. package/dist/clients/ClaudeSDKClient.js.map +1 -0
  27. package/dist/clients/MyContextAIClient.d.ts +73 -0
  28. package/dist/clients/MyContextAIClient.d.ts.map +1 -0
  29. package/dist/clients/MyContextAIClient.js +280 -0
  30. package/dist/clients/MyContextAIClient.js.map +1 -0
  31. package/dist/clients/ProviderChain.d.ts +87 -0
  32. package/dist/clients/ProviderChain.d.ts.map +1 -0
  33. package/dist/clients/ProviderChain.js +246 -0
  34. package/dist/clients/ProviderChain.js.map +1 -0
  35. package/dist/clients/XAIClient.d.ts +48 -0
  36. package/dist/clients/XAIClient.d.ts.map +1 -0
  37. package/dist/clients/XAIClient.js +152 -0
  38. package/dist/clients/XAIClient.js.map +1 -0
  39. package/dist/commands/assemble-features.d.ts +40 -0
  40. package/dist/commands/assemble-features.d.ts.map +1 -0
  41. package/dist/commands/assemble-features.js +383 -0
  42. package/dist/commands/assemble-features.js.map +1 -0
  43. package/dist/commands/clone-starter.d.ts +32 -0
  44. package/dist/commands/clone-starter.d.ts.map +1 -0
  45. package/dist/commands/clone-starter.js +218 -0
  46. package/dist/commands/clone-starter.js.map +1 -0
  47. package/dist/commands/design-analyze.d.ts +46 -0
  48. package/dist/commands/design-analyze.d.ts.map +1 -0
  49. package/dist/commands/design-analyze.js +232 -0
  50. package/dist/commands/design-analyze.js.map +1 -0
  51. package/dist/commands/generate-components.d.ts +1 -0
  52. package/dist/commands/generate-components.d.ts.map +1 -1
  53. package/dist/commands/generate-components.js +42 -9
  54. package/dist/commands/generate-components.js.map +1 -1
  55. package/dist/commands/generate.d.ts.map +1 -1
  56. package/dist/commands/generate.js +34 -1
  57. package/dist/commands/generate.js.map +1 -1
  58. package/dist/commands/setup-complete.d.ts.map +1 -1
  59. package/dist/commands/setup-complete.js +38 -2
  60. package/dist/commands/setup-complete.js.map +1 -1
  61. package/dist/commands/workflow.d.ts.map +1 -1
  62. package/dist/commands/workflow.js +86 -7
  63. package/dist/commands/workflow.js.map +1 -1
  64. package/dist/config/intent-dictionary.json +3700 -0
  65. package/dist/package.json +3 -1
  66. package/dist/services/IntentEnricher.d.ts +61 -0
  67. package/dist/services/IntentEnricher.d.ts.map +1 -0
  68. package/dist/services/IntentEnricher.js +318 -0
  69. package/dist/services/IntentEnricher.js.map +1 -0
  70. package/dist/services/IntentValidator.d.ts +114 -0
  71. package/dist/services/IntentValidator.d.ts.map +1 -0
  72. package/dist/services/IntentValidator.js +680 -0
  73. package/dist/services/IntentValidator.js.map +1 -0
  74. package/dist/types/design-pipeline.d.ts +300 -0
  75. package/dist/types/design-pipeline.d.ts.map +1 -0
  76. package/dist/types/design-pipeline.js +9 -0
  77. package/dist/types/design-pipeline.js.map +1 -0
  78. package/dist/types/feature-bundle.d.ts +239 -0
  79. package/dist/types/feature-bundle.d.ts.map +1 -0
  80. package/dist/types/feature-bundle.js +9 -0
  81. package/dist/types/feature-bundle.js.map +1 -0
  82. package/dist/types/index.d.ts +2 -0
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/types/index.js +2 -0
  85. package/dist/types/index.js.map +1 -1
  86. package/dist/types/intent-dictionary.d.ts +525 -0
  87. package/dist/types/intent-dictionary.d.ts.map +1 -0
  88. package/dist/types/intent-dictionary.js +11 -0
  89. package/dist/types/intent-dictionary.js.map +1 -0
  90. package/dist/types/role-permissions.d.ts +167 -0
  91. package/dist/types/role-permissions.d.ts.map +1 -0
  92. package/dist/types/role-permissions.js +9 -0
  93. package/dist/types/role-permissions.js.map +1 -0
  94. package/dist/utils/contextEnricher.d.ts +41 -0
  95. package/dist/utils/contextEnricher.d.ts.map +1 -0
  96. package/dist/utils/contextEnricher.js +327 -0
  97. package/dist/utils/contextEnricher.js.map +1 -0
  98. package/dist/utils/designFallbacks.d.ts +48 -0
  99. package/dist/utils/designFallbacks.d.ts.map +1 -0
  100. package/dist/utils/designFallbacks.js +885 -0
  101. package/dist/utils/designFallbacks.js.map +1 -0
  102. package/dist/utils/designManifestManager.d.ts +89 -0
  103. package/dist/utils/designManifestManager.d.ts.map +1 -0
  104. package/dist/utils/designManifestManager.js +533 -0
  105. package/dist/utils/designManifestManager.js.map +1 -0
  106. package/dist/utils/designPipelineStateManager.d.ts +63 -0
  107. package/dist/utils/designPipelineStateManager.d.ts.map +1 -0
  108. package/dist/utils/designPipelineStateManager.js +174 -0
  109. package/dist/utils/designPipelineStateManager.js.map +1 -0
  110. package/dist/utils/envExampleGenerator.d.ts.map +1 -1
  111. package/dist/utils/envExampleGenerator.js +35 -171
  112. package/dist/utils/envExampleGenerator.js.map +1 -1
  113. package/dist/utils/featureBundleManager.d.ts +90 -0
  114. package/dist/utils/featureBundleManager.d.ts.map +1 -0
  115. package/dist/utils/featureBundleManager.js +340 -0
  116. package/dist/utils/featureBundleManager.js.map +1 -0
  117. package/dist/utils/githubCloner.d.ts +93 -0
  118. package/dist/utils/githubCloner.d.ts.map +1 -0
  119. package/dist/utils/githubCloner.js +305 -0
  120. package/dist/utils/githubCloner.js.map +1 -0
  121. package/dist/utils/rolePermissionMapper.d.ts +89 -0
  122. package/dist/utils/rolePermissionMapper.d.ts.map +1 -0
  123. package/dist/utils/rolePermissionMapper.js +337 -0
  124. package/dist/utils/rolePermissionMapper.js.map +1 -0
  125. package/dist/utils/unifiedDesignContextLoader.d.ts +76 -0
  126. package/dist/utils/unifiedDesignContextLoader.d.ts.map +1 -0
  127. package/dist/utils/unifiedDesignContextLoader.js +344 -0
  128. package/dist/utils/unifiedDesignContextLoader.js.map +1 -0
  129. package/package.json +3 -1
@@ -0,0 +1,344 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.UnifiedDesignContextLoader = void 0;
40
+ const fs = __importStar(require("fs-extra"));
41
+ const path = __importStar(require("path"));
42
+ const designManifestManager_1 = require("./designManifestManager");
43
+ const contextEnricher_1 = require("./contextEnricher");
44
+ const DesignPipelineAgent_1 = require("../agents/implementations/DesignPipelineAgent");
45
+ const designPipelineStateManager_1 = require("./designPipelineStateManager");
46
+ const chalk_1 = __importDefault(require("chalk"));
47
+ /**
48
+ * Unified Design Context Loader
49
+ *
50
+ * Treats ALL context files (PRD + Types + Brand + Component List + Architecture)
51
+ * as a unified design system foundation for component generation.
52
+ *
53
+ * This is the key insight from V0: context files ARE the design system.
54
+ */
55
+ class UnifiedDesignContextLoader {
56
+ constructor(projectPath = process.cwd()) {
57
+ this.projectPath = projectPath;
58
+ this.manifestManager = new designManifestManager_1.DesignManifestManager(projectPath);
59
+ this.contextEnricher = new contextEnricher_1.ContextEnricher(projectPath);
60
+ this.designPipeline = new DesignPipelineAgent_1.DesignPipelineAgent(projectPath);
61
+ this.stateManager = new designPipelineStateManager_1.DesignPipelineStateManager(projectPath);
62
+ }
63
+ getContextEnricher() {
64
+ return this.contextEnricher;
65
+ }
66
+ /**
67
+ * Load and unify ALL context files as design system foundation
68
+ */
69
+ async loadUnifiedDesignContext(resumeFromState = false) {
70
+ console.log(chalk_1.default.blue("🔄 Loading unified design context..."));
71
+ try {
72
+ // 1. Load all context files
73
+ const contextFiles = await this.loadAllContextFiles();
74
+ console.log(chalk_1.default.gray(` Loaded ${Object.keys(contextFiles).length} context files`));
75
+ // 2. Check if design manifest exists and is valid
76
+ const hasDesignManifest = await this.manifestManager.hasValidManifest();
77
+ const shouldGenerateManifest = !hasDesignManifest ||
78
+ (await this.manifestManager.shouldRegenerateManifest(24));
79
+ let enrichedContext;
80
+ if (hasDesignManifest && !shouldGenerateManifest) {
81
+ // 3a. Use existing design manifest
82
+ console.log(chalk_1.default.gray(" Using existing design manifest"));
83
+ enrichedContext = await this.contextEnricher.mergeAllContext(contextFiles.prd, contextFiles.types, contextFiles.brand, contextFiles.componentList);
84
+ }
85
+ else {
86
+ // 3b. Generate new design manifest from all context files
87
+ console.log(chalk_1.default.gray(" Generating design manifest from context files"));
88
+ const designInput = {
89
+ prd: contextFiles.prd,
90
+ types: contextFiles.types,
91
+ branding: contextFiles.brand,
92
+ component_list: contextFiles.componentList,
93
+ project_path: this.projectPath,
94
+ force_regenerate: shouldGenerateManifest,
95
+ };
96
+ const designOutput = await this.designPipeline.run(designInput, resumeFromState);
97
+ if (designOutput.success) {
98
+ await this.manifestManager.saveDesignManifest(designOutput.manifest);
99
+ console.log(chalk_1.default.green("✅ Design manifest generated and saved"));
100
+ }
101
+ else {
102
+ console.warn(chalk_1.default.yellow("⚠️ Design pipeline failed, using fallback context"));
103
+ }
104
+ // Load enriched context
105
+ enrichedContext = await this.contextEnricher.mergeAllContext(contextFiles.prd, contextFiles.types, contextFiles.brand, contextFiles.componentList);
106
+ }
107
+ console.log(chalk_1.default.green("✅ Unified design context loaded"));
108
+ console.log(chalk_1.default.gray(` Design system: ${enrichedContext.design_system.colors.primary} primary`));
109
+ console.log(chalk_1.default.gray(` Components: ${enrichedContext.component_architecture.components.length} defined`));
110
+ console.log(chalk_1.default.gray(` Design anchors: ${enrichedContext.design_intent.design_anchors.join(", ")}`));
111
+ return {
112
+ enrichedContext,
113
+ hasDesignManifest,
114
+ shouldGenerateManifest,
115
+ };
116
+ }
117
+ catch (error) {
118
+ console.error(chalk_1.default.red("❌ Failed to load unified design context:"), error);
119
+ throw error;
120
+ }
121
+ }
122
+ /**
123
+ * Load all context files as a unified design foundation
124
+ */
125
+ async loadAllContextFiles() {
126
+ const contextFiles = {
127
+ prd: "",
128
+ types: "",
129
+ brand: "",
130
+ componentList: "",
131
+ architecture: "",
132
+ globals: "",
133
+ };
134
+ // Load PRD
135
+ contextFiles.prd = await this.loadContextFile([
136
+ "./.mycontext/01-prd.md",
137
+ "./.mycontext/prd.md",
138
+ "./context/01-prd.md",
139
+ "./context/prd.md",
140
+ ]);
141
+ // Load Types
142
+ contextFiles.types = await this.loadContextFile([
143
+ "./.mycontext/02-types.ts",
144
+ "./.mycontext/types.ts",
145
+ "./context/types.ts",
146
+ ]);
147
+ // Load Brand (CSS + Markdown)
148
+ contextFiles.brand = await this.loadBrandContext();
149
+ // Load Component List
150
+ contextFiles.componentList = await this.loadContextFile([
151
+ "./.mycontext/04-component-list.json",
152
+ "./.mycontext/component-list.json",
153
+ "./context/component-list.json",
154
+ ]);
155
+ // Load Architecture
156
+ contextFiles.architecture = await this.loadContextFile([
157
+ "./.mycontext/05-architecture.md",
158
+ "./.mycontext/architecture.md",
159
+ "./context/architecture.md",
160
+ ]);
161
+ // Load Globals CSS
162
+ contextFiles.globals = await this.loadContextFile([
163
+ "./.mycontext/brand/globals.css",
164
+ "./.mycontext/globals.css",
165
+ "./context/globals.css",
166
+ "./app/globals.css",
167
+ ]);
168
+ return contextFiles;
169
+ }
170
+ /**
171
+ * Load brand context (CSS + Markdown combined)
172
+ */
173
+ async loadBrandContext() {
174
+ const brandParts = [];
175
+ // Load CSS files
176
+ const cssFiles = [
177
+ "./.mycontext/brand/globals.css",
178
+ "./.mycontext/globals.css",
179
+ "./context/globals.css",
180
+ "./app/globals.css",
181
+ ];
182
+ for (const file of cssFiles) {
183
+ const content = await this.loadContextFile([file]);
184
+ if (content) {
185
+ brandParts.push(`=== CSS DESIGN TOKENS ===\n${content}`);
186
+ }
187
+ }
188
+ // Load brand markdown
189
+ const brandMd = await this.loadContextFile([
190
+ "./.mycontext/03-branding.md",
191
+ "./.mycontext/branding.md",
192
+ "./context/branding.md",
193
+ ]);
194
+ if (brandMd) {
195
+ brandParts.push(`=== BRAND GUIDELINES ===\n${brandMd}`);
196
+ }
197
+ // Load brand directory files
198
+ const brandDirs = ["./.mycontext/brand/", "./context/brand/"];
199
+ for (const dir of brandDirs) {
200
+ if (await fs.pathExists(dir)) {
201
+ const files = await fs.readdir(dir);
202
+ for (const file of files) {
203
+ if (file.endsWith(".css") || file.endsWith(".md")) {
204
+ const filePath = path.join(dir, file);
205
+ const content = await fs.readFile(filePath, "utf8");
206
+ brandParts.push(`=== ${file.toUpperCase()} ===\n${content}`);
207
+ }
208
+ }
209
+ }
210
+ }
211
+ return brandParts.join("\n\n");
212
+ }
213
+ /**
214
+ * Load a single context file from multiple candidates
215
+ */
216
+ async loadContextFile(candidates) {
217
+ for (const candidate of candidates) {
218
+ try {
219
+ if (await fs.pathExists(candidate)) {
220
+ return await fs.readFile(candidate, "utf8");
221
+ }
222
+ }
223
+ catch (error) {
224
+ // Continue to next candidate
225
+ }
226
+ }
227
+ return "";
228
+ }
229
+ /**
230
+ * Get context summary for display
231
+ */
232
+ async getContextSummary() {
233
+ try {
234
+ const { enrichedContext } = await this.loadUnifiedDesignContext();
235
+ return this.contextEnricher.getContextSummary(enrichedContext);
236
+ }
237
+ catch (error) {
238
+ return "Failed to load context summary";
239
+ }
240
+ }
241
+ /**
242
+ * Check if all required context files exist
243
+ */
244
+ async validateContextFiles() {
245
+ const missing = [];
246
+ const warnings = [];
247
+ // Check for PRD
248
+ const prdExists = await this.loadContextFile([
249
+ "./.mycontext/01-prd.md",
250
+ "./.mycontext/prd.md",
251
+ "./context/01-prd.md",
252
+ "./context/prd.md",
253
+ ]);
254
+ if (!prdExists) {
255
+ missing.push("PRD (Product Requirements Document)");
256
+ }
257
+ // Check for Component List
258
+ const compListExists = await this.loadContextFile([
259
+ "./.mycontext/04-component-list.json",
260
+ "./.mycontext/component-list.json",
261
+ "./context/component-list.json",
262
+ ]);
263
+ if (!compListExists) {
264
+ missing.push("Component List");
265
+ }
266
+ // Check for Types (optional but recommended)
267
+ const typesExists = await this.loadContextFile([
268
+ "./.mycontext/02-types.ts",
269
+ "./.mycontext/types.ts",
270
+ "./context/types.ts",
271
+ ]);
272
+ if (!typesExists) {
273
+ warnings.push("Types file not found (recommended for better component generation)");
274
+ }
275
+ // Check for Brand (optional but recommended)
276
+ const brandExists = await this.loadBrandContext();
277
+ if (!brandExists) {
278
+ warnings.push("Brand context not found (recommended for consistent design)");
279
+ }
280
+ return {
281
+ valid: missing.length === 0,
282
+ missing,
283
+ warnings,
284
+ };
285
+ }
286
+ /**
287
+ * Get design manifest summary
288
+ */
289
+ async getDesignManifestSummary() {
290
+ return await this.manifestManager.getManifestSummary();
291
+ }
292
+ /**
293
+ * Force regenerate design manifest
294
+ */
295
+ async regenerateDesignManifest() {
296
+ console.log(chalk_1.default.blue("🔄 Regenerating design manifest..."));
297
+ const contextFiles = await this.loadAllContextFiles();
298
+ const designInput = {
299
+ prd: contextFiles.prd,
300
+ types: contextFiles.types,
301
+ branding: contextFiles.brand,
302
+ component_list: contextFiles.componentList,
303
+ project_path: this.projectPath,
304
+ force_regenerate: true,
305
+ };
306
+ const designOutput = await this.designPipeline.run(designInput, false);
307
+ if (designOutput.success) {
308
+ await this.manifestManager.saveDesignManifest(designOutput.manifest);
309
+ console.log(chalk_1.default.green("✅ Design manifest regenerated"));
310
+ }
311
+ else {
312
+ throw new Error("Failed to regenerate design manifest");
313
+ }
314
+ }
315
+ // ============================================================================
316
+ // STATE MANAGEMENT METHODS
317
+ // ============================================================================
318
+ /**
319
+ * Check if there's a resumable state
320
+ */
321
+ async canResume() {
322
+ return await this.stateManager.canResume();
323
+ }
324
+ /**
325
+ * Load existing pipeline state
326
+ */
327
+ async loadState() {
328
+ return await this.stateManager.loadState();
329
+ }
330
+ /**
331
+ * Check if state is stale
332
+ */
333
+ async isStateStale() {
334
+ return await this.stateManager.isStateStale();
335
+ }
336
+ /**
337
+ * Get state summary
338
+ */
339
+ async getStateSummary() {
340
+ return await this.stateManager.getStateSummary();
341
+ }
342
+ }
343
+ exports.UnifiedDesignContextLoader = UnifiedDesignContextLoader;
344
+ //# sourceMappingURL=unifiedDesignContextLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unifiedDesignContextLoader.js","sourceRoot":"","sources":["../../src/utils/unifiedDesignContextLoader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mycontext-cli",
3
- "version": "2.0.27",
3
+ "version": "2.0.28",
4
4
  "description": "Component-first visual builder with zero-error guarantees. Generate and validate React/Next.js components one at a time, preview them visually, then scale to complete applications using Claude Agent SDK.",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -55,9 +55,11 @@
55
55
  "dotenv": "^17.2.3",
56
56
  "dotenv-expand": "^12.0.3",
57
57
  "fs-extra": "^11.1.1",
58
+ "fuse.js": "^7.1.0",
58
59
  "glob": "^10.3.10",
59
60
  "inquirer": "^9.2.12",
60
61
  "node-fetch": "^2.7.0",
62
+ "openai": "^6.2.0",
61
63
  "ora": "^7.0.1",
62
64
  "prompts": "^2.4.2",
63
65
  "sonner": "^2.0.7",