mycontext-cli 2.0.27 → 2.0.29
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.
- package/README.md +71 -342
- package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
- package/dist/agents/implementations/CodeGenSubAgent.js +67 -14
- package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
- package/dist/agents/implementations/DesignPipelineAgent.d.ts +80 -0
- package/dist/agents/implementations/DesignPipelineAgent.d.ts.map +1 -0
- package/dist/agents/implementations/DesignPipelineAgent.js +1406 -0
- package/dist/agents/implementations/DesignPipelineAgent.js.map +1 -0
- package/dist/agents/implementations/FeatureAssemblyAgent.d.ts +67 -0
- package/dist/agents/implementations/FeatureAssemblyAgent.d.ts.map +1 -0
- package/dist/agents/implementations/FeatureAssemblyAgent.js +564 -0
- package/dist/agents/implementations/FeatureAssemblyAgent.js.map +1 -0
- package/dist/agents/implementations/PromptConstructorAgent.d.ts +10 -0
- package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
- package/dist/agents/implementations/PromptConstructorAgent.js +172 -12
- package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
- package/dist/agents/implementations/RoleBasedGenerator.d.ts +52 -0
- package/dist/agents/implementations/RoleBasedGenerator.d.ts.map +1 -0
- package/dist/agents/implementations/RoleBasedGenerator.js +370 -0
- package/dist/agents/implementations/RoleBasedGenerator.js.map +1 -0
- package/dist/cli.js +111 -56
- package/dist/cli.js.map +1 -1
- package/dist/clients/ClaudeSDKClient.d.ts +48 -0
- package/dist/clients/ClaudeSDKClient.d.ts.map +1 -0
- package/dist/clients/ClaudeSDKClient.js +158 -0
- package/dist/clients/ClaudeSDKClient.js.map +1 -0
- package/dist/clients/MyContextAIClient.d.ts +73 -0
- package/dist/clients/MyContextAIClient.d.ts.map +1 -0
- package/dist/clients/MyContextAIClient.js +280 -0
- package/dist/clients/MyContextAIClient.js.map +1 -0
- package/dist/clients/ProviderChain.d.ts +87 -0
- package/dist/clients/ProviderChain.d.ts.map +1 -0
- package/dist/clients/ProviderChain.js +246 -0
- package/dist/clients/ProviderChain.js.map +1 -0
- package/dist/clients/XAIClient.d.ts +48 -0
- package/dist/clients/XAIClient.d.ts.map +1 -0
- package/dist/clients/XAIClient.js +152 -0
- package/dist/clients/XAIClient.js.map +1 -0
- package/dist/commands/assemble-features.d.ts +40 -0
- package/dist/commands/assemble-features.d.ts.map +1 -0
- package/dist/commands/assemble-features.js +383 -0
- package/dist/commands/assemble-features.js.map +1 -0
- package/dist/commands/clone-starter.d.ts +32 -0
- package/dist/commands/clone-starter.d.ts.map +1 -0
- package/dist/commands/clone-starter.js +218 -0
- package/dist/commands/clone-starter.js.map +1 -0
- package/dist/commands/design-analyze.d.ts +46 -0
- package/dist/commands/design-analyze.d.ts.map +1 -0
- package/dist/commands/design-analyze.js +232 -0
- package/dist/commands/design-analyze.js.map +1 -0
- package/dist/commands/generate-components.d.ts +11 -0
- package/dist/commands/generate-components.d.ts.map +1 -1
- package/dist/commands/generate-components.js +342 -12
- package/dist/commands/generate-components.js.map +1 -1
- package/dist/commands/generate-context-files.d.ts +9 -0
- package/dist/commands/generate-context-files.d.ts.map +1 -1
- package/dist/commands/generate-context-files.js +57 -0
- package/dist/commands/generate-context-files.js.map +1 -1
- package/dist/commands/generate.d.ts +5 -0
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +109 -2
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +32 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/preview-components.d.ts +12 -0
- package/dist/commands/preview-components.d.ts.map +1 -0
- package/dist/commands/preview-components.js +122 -0
- package/dist/commands/preview-components.js.map +1 -0
- package/dist/commands/refine-component.d.ts +43 -0
- package/dist/commands/refine-component.d.ts.map +1 -0
- package/dist/commands/refine-component.js +313 -0
- package/dist/commands/refine-component.js.map +1 -0
- package/dist/commands/review-context.d.ts +47 -0
- package/dist/commands/review-context.d.ts.map +1 -0
- package/dist/commands/review-context.js +335 -0
- package/dist/commands/review-context.js.map +1 -0
- package/dist/commands/setup-complete.d.ts.map +1 -1
- package/dist/commands/setup-complete.js +38 -2
- package/dist/commands/setup-complete.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +86 -7
- package/dist/commands/workflow.js.map +1 -1
- package/dist/config/intent-dictionary.json +3700 -0
- package/dist/package.json +12 -1
- package/dist/services/ContextValidator.d.ts +99 -0
- package/dist/services/ContextValidator.d.ts.map +1 -0
- package/dist/services/ContextValidator.js +433 -0
- package/dist/services/ContextValidator.js.map +1 -0
- package/dist/services/IntentEnricher.d.ts +61 -0
- package/dist/services/IntentEnricher.d.ts.map +1 -0
- package/dist/services/IntentEnricher.js +318 -0
- package/dist/services/IntentEnricher.js.map +1 -0
- package/dist/services/IntentValidator.d.ts +114 -0
- package/dist/services/IntentValidator.d.ts.map +1 -0
- package/dist/services/IntentValidator.js +680 -0
- package/dist/services/IntentValidator.js.map +1 -0
- package/dist/services/MutationLogger.d.ts +54 -0
- package/dist/services/MutationLogger.d.ts.map +1 -0
- package/dist/services/MutationLogger.js +164 -0
- package/dist/services/MutationLogger.js.map +1 -0
- package/dist/services/RegressionRunner.d.ts +49 -0
- package/dist/services/RegressionRunner.d.ts.map +1 -0
- package/dist/services/RegressionRunner.js +285 -0
- package/dist/services/RegressionRunner.js.map +1 -0
- package/dist/services/TriggerLogger.d.ts +101 -0
- package/dist/services/TriggerLogger.d.ts.map +1 -0
- package/dist/services/TriggerLogger.js +263 -0
- package/dist/services/TriggerLogger.js.map +1 -0
- package/dist/types/design-pipeline.d.ts +300 -0
- package/dist/types/design-pipeline.d.ts.map +1 -0
- package/dist/types/design-pipeline.js +9 -0
- package/dist/types/design-pipeline.js.map +1 -0
- package/dist/types/feature-bundle.d.ts +239 -0
- package/dist/types/feature-bundle.d.ts.map +1 -0
- package/dist/types/feature-bundle.js +9 -0
- package/dist/types/feature-bundle.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/intent-dictionary.d.ts +525 -0
- package/dist/types/intent-dictionary.d.ts.map +1 -0
- package/dist/types/intent-dictionary.js +11 -0
- package/dist/types/intent-dictionary.js.map +1 -0
- package/dist/types/role-permissions.d.ts +167 -0
- package/dist/types/role-permissions.d.ts.map +1 -0
- package/dist/types/role-permissions.js +9 -0
- package/dist/types/role-permissions.js.map +1 -0
- package/dist/utils/contextEnricher.d.ts +41 -0
- package/dist/utils/contextEnricher.d.ts.map +1 -0
- package/dist/utils/contextEnricher.js +327 -0
- package/dist/utils/contextEnricher.js.map +1 -0
- package/dist/utils/designFallbacks.d.ts +48 -0
- package/dist/utils/designFallbacks.d.ts.map +1 -0
- package/dist/utils/designFallbacks.js +885 -0
- package/dist/utils/designFallbacks.js.map +1 -0
- package/dist/utils/designManifestManager.d.ts +89 -0
- package/dist/utils/designManifestManager.d.ts.map +1 -0
- package/dist/utils/designManifestManager.js +533 -0
- package/dist/utils/designManifestManager.js.map +1 -0
- package/dist/utils/designPipelineStateManager.d.ts +63 -0
- package/dist/utils/designPipelineStateManager.d.ts.map +1 -0
- package/dist/utils/designPipelineStateManager.js +174 -0
- package/dist/utils/designPipelineStateManager.js.map +1 -0
- package/dist/utils/envExampleGenerator.d.ts.map +1 -1
- package/dist/utils/envExampleGenerator.js +41 -171
- package/dist/utils/envExampleGenerator.js.map +1 -1
- package/dist/utils/featureBundleManager.d.ts +90 -0
- package/dist/utils/featureBundleManager.d.ts.map +1 -0
- package/dist/utils/featureBundleManager.js +340 -0
- package/dist/utils/featureBundleManager.js.map +1 -0
- package/dist/utils/githubCloner.d.ts +93 -0
- package/dist/utils/githubCloner.d.ts.map +1 -0
- package/dist/utils/githubCloner.js +305 -0
- package/dist/utils/githubCloner.js.map +1 -0
- package/dist/utils/hybridAIClient.d.ts.map +1 -1
- package/dist/utils/hybridAIClient.js +21 -0
- package/dist/utils/hybridAIClient.js.map +1 -1
- package/dist/utils/openRouterClient.d.ts +10 -0
- package/dist/utils/openRouterClient.d.ts.map +1 -0
- package/dist/utils/openRouterClient.js +61 -0
- package/dist/utils/openRouterClient.js.map +1 -0
- package/dist/utils/rolePermissionMapper.d.ts +89 -0
- package/dist/utils/rolePermissionMapper.d.ts.map +1 -0
- package/dist/utils/rolePermissionMapper.js +337 -0
- package/dist/utils/rolePermissionMapper.js.map +1 -0
- package/dist/utils/unifiedDesignContextLoader.d.ts +76 -0
- package/dist/utils/unifiedDesignContextLoader.d.ts.map +1 -0
- package/dist/utils/unifiedDesignContextLoader.js +344 -0
- package/dist/utils/unifiedDesignContextLoader.js.map +1 -0
- package/package.json +12 -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.
|
|
3
|
+
"version": "2.0.29",
|
|
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": {
|
|
@@ -49,18 +49,28 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@anthropic-ai/claude-agent-sdk": "^0.1.1",
|
|
52
|
+
"@huggingface/inference": "^4.11.1",
|
|
53
|
+
"@types/figlet": "^1.7.0",
|
|
52
54
|
"axios": "^1.6.0",
|
|
53
55
|
"chalk": "^5.3.0",
|
|
54
56
|
"commander": "^11.1.0",
|
|
57
|
+
"diff": "^8.0.2",
|
|
55
58
|
"dotenv": "^17.2.3",
|
|
56
59
|
"dotenv-expand": "^12.0.3",
|
|
60
|
+
"figlet": "^1.9.3",
|
|
57
61
|
"fs-extra": "^11.1.1",
|
|
62
|
+
"fuse.js": "^7.1.0",
|
|
58
63
|
"glob": "^10.3.10",
|
|
64
|
+
"gradient-string": "^3.0.0",
|
|
59
65
|
"inquirer": "^9.2.12",
|
|
66
|
+
"mdast-util-to-markdown": "^2.1.2",
|
|
60
67
|
"node-fetch": "^2.7.0",
|
|
68
|
+
"openai": "^6.2.0",
|
|
61
69
|
"ora": "^7.0.1",
|
|
62
70
|
"prompts": "^2.4.2",
|
|
71
|
+
"remark-parse": "^11.0.0",
|
|
63
72
|
"sonner": "^2.0.7",
|
|
73
|
+
"unified": "^11.0.5",
|
|
64
74
|
"uuid": "^9.0.1",
|
|
65
75
|
"zod": "^3.25.76"
|
|
66
76
|
},
|
|
@@ -77,6 +87,7 @@
|
|
|
77
87
|
"ts-jest": "^29.4.0",
|
|
78
88
|
"ts-node": "^10.9.0",
|
|
79
89
|
"tsc-alias": "^1.8.16",
|
|
90
|
+
"tsx": "^4.20.6",
|
|
80
91
|
"typescript": "^5.0.0"
|
|
81
92
|
},
|
|
82
93
|
"engines": {
|