mycontext-cli 2.0.26 → 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.
- package/README.md +36 -355
- 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 +65 -0
- 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 +1 -0
- package/dist/commands/generate-components.d.ts.map +1 -1
- package/dist/commands/generate-components.js +42 -9
- package/dist/commands/generate-components.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +34 -1
- package/dist/commands/generate.js.map +1 -1
- 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 +3 -1
- 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/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 +35 -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/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 +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"designFallbacks.js","sourceRoot":"","sources":["../../src/utils/designFallbacks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { DesignManifest, EnrichedContext, ValidationResult } from "../types/design-pipeline";
|
|
2
|
+
/**
|
|
3
|
+
* Design Manifest Manager
|
|
4
|
+
*
|
|
5
|
+
* Handles storage, loading, validation, and context enrichment
|
|
6
|
+
* for the mycontext design pipeline manifest.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DesignManifestManager {
|
|
9
|
+
private manifestPath;
|
|
10
|
+
private projectPath;
|
|
11
|
+
constructor(projectPath?: string);
|
|
12
|
+
/**
|
|
13
|
+
* Save design manifest to .mycontext/design-manifest.json
|
|
14
|
+
*/
|
|
15
|
+
saveDesignManifest(manifest: DesignManifest): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Load design manifest from .mycontext/design-manifest.json
|
|
18
|
+
*/
|
|
19
|
+
loadDesignManifest(): Promise<DesignManifest | null>;
|
|
20
|
+
/**
|
|
21
|
+
* Check if design manifest exists and is valid
|
|
22
|
+
*/
|
|
23
|
+
hasValidManifest(): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Validate design manifest structure and completeness
|
|
26
|
+
*/
|
|
27
|
+
validateManifest(manifest: any): ValidationResult;
|
|
28
|
+
/**
|
|
29
|
+
* Validate individual phases
|
|
30
|
+
*/
|
|
31
|
+
private validatePhases;
|
|
32
|
+
/**
|
|
33
|
+
* Validate a single phase
|
|
34
|
+
*/
|
|
35
|
+
private validatePhase;
|
|
36
|
+
/**
|
|
37
|
+
* Calculate overall confidence score for the manifest
|
|
38
|
+
*/
|
|
39
|
+
private calculateOverallConfidence;
|
|
40
|
+
/**
|
|
41
|
+
* Calculate confidence score for a single phase
|
|
42
|
+
*/
|
|
43
|
+
private calculatePhaseConfidence;
|
|
44
|
+
/**
|
|
45
|
+
* Generate suggestions for improving a phase
|
|
46
|
+
*/
|
|
47
|
+
private generatePhaseSuggestions;
|
|
48
|
+
/**
|
|
49
|
+
* Extract quality indicators for a phase
|
|
50
|
+
*/
|
|
51
|
+
private extractQualityIndicators;
|
|
52
|
+
/**
|
|
53
|
+
* Calculate color completeness score
|
|
54
|
+
*/
|
|
55
|
+
private calculateColorCompleteness;
|
|
56
|
+
/**
|
|
57
|
+
* Calculate typography completeness score
|
|
58
|
+
*/
|
|
59
|
+
private calculateTypographyCompleteness;
|
|
60
|
+
/**
|
|
61
|
+
* Enrich context with design manifest data
|
|
62
|
+
*/
|
|
63
|
+
enrichContextWithDesign(prd: string, types?: string, brand?: string): Promise<EnrichedContext>;
|
|
64
|
+
/**
|
|
65
|
+
* Extract visual tokens for easy consumption
|
|
66
|
+
*/
|
|
67
|
+
private extractVisualTokens;
|
|
68
|
+
/**
|
|
69
|
+
* Get design manifest summary for display
|
|
70
|
+
*/
|
|
71
|
+
getManifestSummary(): Promise<string>;
|
|
72
|
+
/**
|
|
73
|
+
* Check if manifest needs regeneration based on age or changes
|
|
74
|
+
*/
|
|
75
|
+
shouldRegenerateManifest(maxAgeHours?: number): Promise<boolean>;
|
|
76
|
+
/**
|
|
77
|
+
* Get manifest file path
|
|
78
|
+
*/
|
|
79
|
+
getManifestPath(): string;
|
|
80
|
+
/**
|
|
81
|
+
* Check if manifest file exists
|
|
82
|
+
*/
|
|
83
|
+
manifestExists(): Promise<boolean>;
|
|
84
|
+
/**
|
|
85
|
+
* Delete manifest file
|
|
86
|
+
*/
|
|
87
|
+
deleteManifest(): Promise<void>;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=designManifestManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"designManifestManager.d.ts","sourceRoot":"","sources":["../../src/utils/designManifestManager.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;AAElC;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,GAAE,MAAsB;IAS/C;;OAEG;IACG,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAc1D;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1C;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB;IAmDjD;;OAEG;IACH,OAAO,CAAC,cAAc;IA8FtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwFrB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAkBlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAehC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmDhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsChC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAgClC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAYvC;;OAEG;IACG,uBAAuB,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAW,EAClB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,eAAe,CAAC;IAmC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAuB3C;;OAEG;IACG,wBAAwB,CAAC,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1E;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAWtC"}
|
|
@@ -0,0 +1,533 @@
|
|
|
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.DesignManifestManager = void 0;
|
|
40
|
+
const fs = __importStar(require("fs-extra"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
+
/**
|
|
44
|
+
* Design Manifest Manager
|
|
45
|
+
*
|
|
46
|
+
* Handles storage, loading, validation, and context enrichment
|
|
47
|
+
* for the mycontext design pipeline manifest.
|
|
48
|
+
*/
|
|
49
|
+
class DesignManifestManager {
|
|
50
|
+
constructor(projectPath = process.cwd()) {
|
|
51
|
+
this.projectPath = projectPath;
|
|
52
|
+
this.manifestPath = path.join(projectPath, ".mycontext", "design-manifest.json");
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Save design manifest to .mycontext/design-manifest.json
|
|
56
|
+
*/
|
|
57
|
+
async saveDesignManifest(manifest) {
|
|
58
|
+
try {
|
|
59
|
+
// Ensure .mycontext directory exists
|
|
60
|
+
const contextDir = path.dirname(this.manifestPath);
|
|
61
|
+
await fs.ensureDir(contextDir);
|
|
62
|
+
// Write manifest with pretty formatting
|
|
63
|
+
await fs.writeJSON(this.manifestPath, manifest, { spaces: 2 });
|
|
64
|
+
console.log(chalk_1.default.green("✅ Design manifest saved to .mycontext/design-manifest.json"));
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error(chalk_1.default.red("❌ Failed to save design manifest:"), error);
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Load design manifest from .mycontext/design-manifest.json
|
|
73
|
+
*/
|
|
74
|
+
async loadDesignManifest() {
|
|
75
|
+
try {
|
|
76
|
+
if (!(await fs.pathExists(this.manifestPath))) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
const manifestData = await fs.readJSON(this.manifestPath);
|
|
80
|
+
return this.validateManifest(manifestData).valid ? manifestData : null;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.warn(chalk_1.default.yellow("⚠️ Failed to load design manifest:"), error);
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Check if design manifest exists and is valid
|
|
89
|
+
*/
|
|
90
|
+
async hasValidManifest() {
|
|
91
|
+
const manifest = await this.loadDesignManifest();
|
|
92
|
+
return manifest !== null;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Validate design manifest structure and completeness
|
|
96
|
+
*/
|
|
97
|
+
validateManifest(manifest) {
|
|
98
|
+
const errors = [];
|
|
99
|
+
const warnings = [];
|
|
100
|
+
const suggestions = [];
|
|
101
|
+
// Check required top-level fields
|
|
102
|
+
if (!manifest.version)
|
|
103
|
+
errors.push("Missing version field");
|
|
104
|
+
if (!manifest.generated_at)
|
|
105
|
+
errors.push("Missing generated_at field");
|
|
106
|
+
if (!manifest.project_name)
|
|
107
|
+
errors.push("Missing project_name field");
|
|
108
|
+
if (!manifest.phases)
|
|
109
|
+
errors.push("Missing phases object");
|
|
110
|
+
if (manifest.phases) {
|
|
111
|
+
// Validate each phase
|
|
112
|
+
const phaseValidations = this.validatePhases(manifest.phases);
|
|
113
|
+
phaseValidations.forEach((validation) => {
|
|
114
|
+
if (!validation.result.valid) {
|
|
115
|
+
errors.push(...validation.result.errors.map((e) => `${validation.phase_name}: ${e}`));
|
|
116
|
+
}
|
|
117
|
+
warnings.push(...validation.result.warnings.map((w) => `${validation.phase_name}: ${w}`));
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
// Check metadata
|
|
121
|
+
if (!manifest.metadata) {
|
|
122
|
+
warnings.push("Missing metadata object");
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
if (!manifest.metadata.generation_time_ms) {
|
|
126
|
+
warnings.push("Missing generation_time_ms in metadata");
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// Calculate confidence score
|
|
130
|
+
const confidenceScore = this.calculateOverallConfidence(manifest);
|
|
131
|
+
return {
|
|
132
|
+
valid: errors.length === 0,
|
|
133
|
+
errors,
|
|
134
|
+
warnings,
|
|
135
|
+
suggestions,
|
|
136
|
+
confidence_score: confidenceScore,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Validate individual phases
|
|
141
|
+
*/
|
|
142
|
+
validatePhases(phases) {
|
|
143
|
+
const validations = [];
|
|
144
|
+
// Phase 1: Functional Summary
|
|
145
|
+
validations.push(this.validatePhase("functional_summary", phases.functional_summary, [
|
|
146
|
+
"app_name",
|
|
147
|
+
"core_purpose",
|
|
148
|
+
"key_features",
|
|
149
|
+
"primary_user_actions",
|
|
150
|
+
"platform",
|
|
151
|
+
"technical_requirements",
|
|
152
|
+
"complexity_level",
|
|
153
|
+
]));
|
|
154
|
+
// Phase 2: Project Scope
|
|
155
|
+
validations.push(this.validatePhase("project_scope", phases.project_scope, [
|
|
156
|
+
"build_scope",
|
|
157
|
+
"reason",
|
|
158
|
+
"expected_outputs",
|
|
159
|
+
]));
|
|
160
|
+
// Phase 3: Context Gaps
|
|
161
|
+
validations.push(this.validatePhase("context_gaps", phases.context_gaps, [
|
|
162
|
+
"missing",
|
|
163
|
+
"recommended_next_action",
|
|
164
|
+
]));
|
|
165
|
+
// Phase 4: Design Brief
|
|
166
|
+
validations.push(this.validatePhase("design_brief", phases.design_brief, [
|
|
167
|
+
"theme",
|
|
168
|
+
"inspiration_sources",
|
|
169
|
+
"blended_style",
|
|
170
|
+
"primary_color",
|
|
171
|
+
"support_colors",
|
|
172
|
+
"typography",
|
|
173
|
+
"ui_principles",
|
|
174
|
+
"motion_style",
|
|
175
|
+
]));
|
|
176
|
+
// Phase 5: Visual System
|
|
177
|
+
validations.push(this.validatePhase("visual_system", phases.visual_system, [
|
|
178
|
+
"colors",
|
|
179
|
+
"typography",
|
|
180
|
+
"spacing",
|
|
181
|
+
"radii",
|
|
182
|
+
"shadows",
|
|
183
|
+
"motion",
|
|
184
|
+
"breakpoints",
|
|
185
|
+
]));
|
|
186
|
+
// Phase 6: Component Hierarchy
|
|
187
|
+
validations.push(this.validatePhase("component_hierarchy", phases.component_hierarchy, [
|
|
188
|
+
"screens",
|
|
189
|
+
"components",
|
|
190
|
+
"design_patterns",
|
|
191
|
+
"interaction_flows",
|
|
192
|
+
]));
|
|
193
|
+
// Phase 7: Implementation Plan
|
|
194
|
+
validations.push(this.validatePhase("implementation_plan", phases.implementation_plan, [
|
|
195
|
+
"framework",
|
|
196
|
+
"pages",
|
|
197
|
+
"state_management",
|
|
198
|
+
"build_requirements",
|
|
199
|
+
"data_persistence",
|
|
200
|
+
"performance_optimizations",
|
|
201
|
+
]));
|
|
202
|
+
// Phase 8: Design Intent
|
|
203
|
+
validations.push(this.validatePhase("design_intent", phases.design_intent, [
|
|
204
|
+
"visual_philosophy",
|
|
205
|
+
"design_anchors",
|
|
206
|
+
"user_experience_goals",
|
|
207
|
+
]));
|
|
208
|
+
return validations;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Validate a single phase
|
|
212
|
+
*/
|
|
213
|
+
validatePhase(phaseName, phaseData, requiredFields) {
|
|
214
|
+
const errors = [];
|
|
215
|
+
const warnings = [];
|
|
216
|
+
const missingFields = [];
|
|
217
|
+
if (!phaseData) {
|
|
218
|
+
errors.push("Phase data is missing");
|
|
219
|
+
return {
|
|
220
|
+
phase_name: phaseName,
|
|
221
|
+
result: {
|
|
222
|
+
valid: false,
|
|
223
|
+
errors,
|
|
224
|
+
warnings,
|
|
225
|
+
suggestions: [],
|
|
226
|
+
confidence_score: 0,
|
|
227
|
+
},
|
|
228
|
+
required_fields: requiredFields,
|
|
229
|
+
missing_fields: requiredFields,
|
|
230
|
+
quality_indicators: {},
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
// Check required fields
|
|
234
|
+
requiredFields.forEach((field) => {
|
|
235
|
+
if (!phaseData[field]) {
|
|
236
|
+
missingFields.push(field);
|
|
237
|
+
errors.push(`Missing required field: ${field}`);
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
// Phase-specific validations
|
|
241
|
+
if (phaseName === "functional_summary") {
|
|
242
|
+
if (phaseData.complexity_level &&
|
|
243
|
+
!["low", "medium", "high"].includes(phaseData.complexity_level)) {
|
|
244
|
+
errors.push("Invalid complexity_level value");
|
|
245
|
+
}
|
|
246
|
+
if (phaseData.key_features && !Array.isArray(phaseData.key_features)) {
|
|
247
|
+
errors.push("key_features must be an array");
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
if (phaseName === "design_brief") {
|
|
251
|
+
if (phaseData.theme &&
|
|
252
|
+
!["dark", "light", "mixed"].includes(phaseData.theme)) {
|
|
253
|
+
errors.push("Invalid theme value");
|
|
254
|
+
}
|
|
255
|
+
if (phaseData.primary_color && !phaseData.primary_color.startsWith("#")) {
|
|
256
|
+
warnings.push("Primary color should be a hex value");
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
if (phaseName === "visual_system") {
|
|
260
|
+
if (phaseData.colors && !phaseData.colors.primary) {
|
|
261
|
+
errors.push("Missing primary color in visual system");
|
|
262
|
+
}
|
|
263
|
+
if (phaseData.typography && !phaseData.typography.font_families) {
|
|
264
|
+
errors.push("Missing font families in typography");
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
const confidenceScore = this.calculatePhaseConfidence(phaseData, requiredFields.length - missingFields.length);
|
|
268
|
+
return {
|
|
269
|
+
phase_name: phaseName,
|
|
270
|
+
result: {
|
|
271
|
+
valid: errors.length === 0,
|
|
272
|
+
errors,
|
|
273
|
+
warnings,
|
|
274
|
+
suggestions: this.generatePhaseSuggestions(phaseName, phaseData),
|
|
275
|
+
confidence_score: confidenceScore,
|
|
276
|
+
},
|
|
277
|
+
required_fields: requiredFields,
|
|
278
|
+
missing_fields: missingFields,
|
|
279
|
+
quality_indicators: this.extractQualityIndicators(phaseName, phaseData),
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Calculate overall confidence score for the manifest
|
|
284
|
+
*/
|
|
285
|
+
calculateOverallConfidence(manifest) {
|
|
286
|
+
if (!manifest.phases)
|
|
287
|
+
return 0;
|
|
288
|
+
const phaseScores = Object.values(manifest.phases).map((phase) => this.calculatePhaseConfidence(phase, Object.keys(phase).length));
|
|
289
|
+
const averageScore = phaseScores.reduce((sum, score) => sum + score, 0) / phaseScores.length;
|
|
290
|
+
// Boost score if metadata indicates AI generation
|
|
291
|
+
if (manifest.metadata?.ai_model_used) {
|
|
292
|
+
return Math.min(1, averageScore + 0.1);
|
|
293
|
+
}
|
|
294
|
+
return averageScore;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Calculate confidence score for a single phase
|
|
298
|
+
*/
|
|
299
|
+
calculatePhaseConfidence(phaseData, fieldCount) {
|
|
300
|
+
if (!phaseData)
|
|
301
|
+
return 0;
|
|
302
|
+
const totalFields = Object.keys(phaseData).length;
|
|
303
|
+
const completeness = fieldCount / Math.max(totalFields, 1);
|
|
304
|
+
// Additional quality checks
|
|
305
|
+
let qualityBonus = 0;
|
|
306
|
+
if (phaseData.colors?.primary)
|
|
307
|
+
qualityBonus += 0.1;
|
|
308
|
+
if (phaseData.typography?.font_families)
|
|
309
|
+
qualityBonus += 0.1;
|
|
310
|
+
if (phaseData.design_anchors?.length > 0)
|
|
311
|
+
qualityBonus += 0.1;
|
|
312
|
+
return Math.min(1, completeness + qualityBonus);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Generate suggestions for improving a phase
|
|
316
|
+
*/
|
|
317
|
+
generatePhaseSuggestions(phaseName, phaseData) {
|
|
318
|
+
const suggestions = [];
|
|
319
|
+
switch (phaseName) {
|
|
320
|
+
case "functional_summary":
|
|
321
|
+
if (!phaseData.user_personas) {
|
|
322
|
+
suggestions.push("Add user personas to better understand target audience");
|
|
323
|
+
}
|
|
324
|
+
if (!phaseData.business_goals) {
|
|
325
|
+
suggestions.push("Define business goals for better alignment");
|
|
326
|
+
}
|
|
327
|
+
break;
|
|
328
|
+
case "design_brief":
|
|
329
|
+
if (!phaseData.accessibility_focus) {
|
|
330
|
+
suggestions.push("Add accessibility focus areas");
|
|
331
|
+
}
|
|
332
|
+
if (phaseData.inspiration_sources?.length < 3) {
|
|
333
|
+
suggestions.push("Add more inspiration sources for richer design direction");
|
|
334
|
+
}
|
|
335
|
+
break;
|
|
336
|
+
case "visual_system":
|
|
337
|
+
if (!phaseData.colors?.success) {
|
|
338
|
+
suggestions.push("Add semantic colors (success, warning, error)");
|
|
339
|
+
}
|
|
340
|
+
if (!phaseData.motion?.duration) {
|
|
341
|
+
suggestions.push("Define motion timing for better consistency");
|
|
342
|
+
}
|
|
343
|
+
break;
|
|
344
|
+
case "component_hierarchy":
|
|
345
|
+
if (phaseData.components?.length === 0) {
|
|
346
|
+
suggestions.push("Define specific components needed for the project");
|
|
347
|
+
}
|
|
348
|
+
if (!phaseData.design_patterns?.length) {
|
|
349
|
+
suggestions.push("Identify design patterns to maintain consistency");
|
|
350
|
+
}
|
|
351
|
+
break;
|
|
352
|
+
}
|
|
353
|
+
return suggestions;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Extract quality indicators for a phase
|
|
357
|
+
*/
|
|
358
|
+
extractQualityIndicators(phaseName, phaseData) {
|
|
359
|
+
const indicators = {};
|
|
360
|
+
switch (phaseName) {
|
|
361
|
+
case "functional_summary":
|
|
362
|
+
indicators.feature_count = phaseData.key_features?.length || 0;
|
|
363
|
+
indicators.has_personas = !!phaseData.user_personas?.length;
|
|
364
|
+
indicators.has_goals = !!phaseData.business_goals?.length;
|
|
365
|
+
break;
|
|
366
|
+
case "design_brief":
|
|
367
|
+
indicators.inspiration_count =
|
|
368
|
+
phaseData.inspiration_sources?.length || 0;
|
|
369
|
+
indicators.has_accessibility = !!phaseData.accessibility_focus?.length;
|
|
370
|
+
indicators.color_count = phaseData.support_colors?.length || 0;
|
|
371
|
+
break;
|
|
372
|
+
case "visual_system":
|
|
373
|
+
indicators.color_completeness = this.calculateColorCompleteness(phaseData.colors);
|
|
374
|
+
indicators.typography_completeness =
|
|
375
|
+
this.calculateTypographyCompleteness(phaseData.typography);
|
|
376
|
+
break;
|
|
377
|
+
case "component_hierarchy":
|
|
378
|
+
indicators.screen_count = phaseData.screens?.length || 0;
|
|
379
|
+
indicators.component_count = phaseData.components?.length || 0;
|
|
380
|
+
indicators.pattern_count = phaseData.design_patterns?.length || 0;
|
|
381
|
+
break;
|
|
382
|
+
}
|
|
383
|
+
return indicators;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Calculate color completeness score
|
|
387
|
+
*/
|
|
388
|
+
calculateColorCompleteness(colors) {
|
|
389
|
+
if (!colors)
|
|
390
|
+
return 0;
|
|
391
|
+
const requiredColors = [
|
|
392
|
+
"primary",
|
|
393
|
+
"background",
|
|
394
|
+
"surface",
|
|
395
|
+
"text",
|
|
396
|
+
"text_muted",
|
|
397
|
+
];
|
|
398
|
+
const optionalColors = [
|
|
399
|
+
"secondary",
|
|
400
|
+
"accent",
|
|
401
|
+
"border",
|
|
402
|
+
"success",
|
|
403
|
+
"warning",
|
|
404
|
+
"error",
|
|
405
|
+
];
|
|
406
|
+
const requiredCount = requiredColors.filter((color) => colors[color]).length;
|
|
407
|
+
const optionalCount = optionalColors.filter((color) => colors[color]).length;
|
|
408
|
+
return (requiredCount / requiredColors.length +
|
|
409
|
+
(optionalCount / optionalColors.length) * 0.3);
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Calculate typography completeness score
|
|
413
|
+
*/
|
|
414
|
+
calculateTypographyCompleteness(typography) {
|
|
415
|
+
if (!typography)
|
|
416
|
+
return 0;
|
|
417
|
+
let score = 0;
|
|
418
|
+
if (typography.font_families?.heading)
|
|
419
|
+
score += 0.3;
|
|
420
|
+
if (typography.font_families?.body)
|
|
421
|
+
score += 0.3;
|
|
422
|
+
if (typography.scale)
|
|
423
|
+
score += 0.2;
|
|
424
|
+
if (typography.weights)
|
|
425
|
+
score += 0.2;
|
|
426
|
+
return Math.min(1, score);
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Enrich context with design manifest data
|
|
430
|
+
*/
|
|
431
|
+
async enrichContextWithDesign(prd, types = "", brand = "") {
|
|
432
|
+
const manifest = await this.loadDesignManifest();
|
|
433
|
+
if (!manifest) {
|
|
434
|
+
throw new Error("No design manifest found. Run design pipeline first.");
|
|
435
|
+
}
|
|
436
|
+
return {
|
|
437
|
+
project_summary: manifest.phases.functional_summary,
|
|
438
|
+
design_system: manifest.phases.visual_system,
|
|
439
|
+
design_intent: manifest.phases.design_intent,
|
|
440
|
+
component_architecture: manifest.phases.component_hierarchy,
|
|
441
|
+
technical_context: {
|
|
442
|
+
prd,
|
|
443
|
+
types,
|
|
444
|
+
brand,
|
|
445
|
+
},
|
|
446
|
+
implementation_guidelines: manifest.phases.implementation_plan,
|
|
447
|
+
design_principles: manifest.phases.design_brief.ui_principles,
|
|
448
|
+
visual_tokens: this.extractVisualTokens(manifest.phases.visual_system),
|
|
449
|
+
interaction_patterns: manifest.phases.component_hierarchy.interaction_flows,
|
|
450
|
+
accessibility_requirements: manifest.phases.design_brief.accessibility_focus || [],
|
|
451
|
+
// NEW: Intent-based specifications
|
|
452
|
+
enriched_intents: manifest.phases.intent_validation?.enriched_intents || [],
|
|
453
|
+
intent_validation_report: manifest.phases.intent_validation?.validation_report || undefined,
|
|
454
|
+
intent_clarifications: manifest.phases.intent_validation?.clarifications || [],
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Extract visual tokens for easy consumption
|
|
459
|
+
*/
|
|
460
|
+
extractVisualTokens(visualSystem) {
|
|
461
|
+
return {
|
|
462
|
+
colors: visualSystem.colors,
|
|
463
|
+
spacing: visualSystem.spacing,
|
|
464
|
+
typography: visualSystem.typography,
|
|
465
|
+
radii: visualSystem.radii,
|
|
466
|
+
shadows: visualSystem.shadows,
|
|
467
|
+
motion: visualSystem.motion,
|
|
468
|
+
breakpoints: visualSystem.breakpoints,
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Get design manifest summary for display
|
|
473
|
+
*/
|
|
474
|
+
async getManifestSummary() {
|
|
475
|
+
const manifest = await this.loadDesignManifest();
|
|
476
|
+
if (!manifest) {
|
|
477
|
+
return "No design manifest found";
|
|
478
|
+
}
|
|
479
|
+
const { phases } = manifest;
|
|
480
|
+
const summary = [
|
|
481
|
+
`🎨 Design Manifest: ${manifest.project_name}`,
|
|
482
|
+
`📱 Platform: ${phases.functional_summary.platform}`,
|
|
483
|
+
`🎯 Scope: ${phases.project_scope.build_scope}`,
|
|
484
|
+
`🎨 Theme: ${phases.design_brief.theme}`,
|
|
485
|
+
`🎨 Primary Color: ${phases.design_brief.primary_color}`,
|
|
486
|
+
`📐 Components: ${phases.component_hierarchy.components.length}`,
|
|
487
|
+
`📱 Screens: ${phases.component_hierarchy.screens.length}`,
|
|
488
|
+
`⚡ Framework: ${phases.implementation_plan.framework}`,
|
|
489
|
+
`🎯 Design Anchors: ${phases.design_intent.design_anchors.join(", ")}`,
|
|
490
|
+
];
|
|
491
|
+
return summary.join("\n");
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* Check if manifest needs regeneration based on age or changes
|
|
495
|
+
*/
|
|
496
|
+
async shouldRegenerateManifest(maxAgeHours = 24) {
|
|
497
|
+
const manifest = await this.loadDesignManifest();
|
|
498
|
+
if (!manifest)
|
|
499
|
+
return true;
|
|
500
|
+
const generatedAt = new Date(manifest.generated_at);
|
|
501
|
+
const ageHours = (Date.now() - generatedAt.getTime()) / (1000 * 60 * 60);
|
|
502
|
+
return ageHours > maxAgeHours;
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Get manifest file path
|
|
506
|
+
*/
|
|
507
|
+
getManifestPath() {
|
|
508
|
+
return this.manifestPath;
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Check if manifest file exists
|
|
512
|
+
*/
|
|
513
|
+
async manifestExists() {
|
|
514
|
+
return await fs.pathExists(this.manifestPath);
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Delete manifest file
|
|
518
|
+
*/
|
|
519
|
+
async deleteManifest() {
|
|
520
|
+
try {
|
|
521
|
+
if (await fs.pathExists(this.manifestPath)) {
|
|
522
|
+
await fs.remove(this.manifestPath);
|
|
523
|
+
console.log(chalk_1.default.yellow("🗑️ Design manifest deleted"));
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
catch (error) {
|
|
527
|
+
console.error(chalk_1.default.red("❌ Failed to delete design manifest:"), error);
|
|
528
|
+
throw error;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
exports.DesignManifestManager = DesignManifestManager;
|
|
533
|
+
//# sourceMappingURL=designManifestManager.js.map
|