mycontext-cli 4.2.16 → 4.2.18

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 (167) hide show
  1. package/README.md +62 -96
  2. package/dist/agents/implementations/SolverAgent.d.ts +42 -0
  3. package/dist/agents/implementations/SolverAgent.d.ts.map +1 -0
  4. package/dist/agents/implementations/SolverAgent.js +543 -0
  5. package/dist/agents/implementations/SolverAgent.js.map +1 -0
  6. package/dist/cli.js +143 -43
  7. package/dist/cli.js.map +1 -1
  8. package/dist/clients/ClaudeSDKClient.d.ts +1 -0
  9. package/dist/clients/ClaudeSDKClient.d.ts.map +1 -1
  10. package/dist/clients/ClaudeSDKClient.js +3 -0
  11. package/dist/clients/ClaudeSDKClient.js.map +1 -1
  12. package/dist/clients/MyContextAIClient.d.ts +4 -0
  13. package/dist/clients/MyContextAIClient.d.ts.map +1 -1
  14. package/dist/clients/MyContextAIClient.js +6 -0
  15. package/dist/clients/MyContextAIClient.js.map +1 -1
  16. package/dist/clients/ProviderChain.d.ts +1 -0
  17. package/dist/clients/ProviderChain.d.ts.map +1 -1
  18. package/dist/clients/ProviderChain.js +3 -0
  19. package/dist/clients/ProviderChain.js.map +1 -1
  20. package/dist/clients/XAIClient.d.ts +4 -0
  21. package/dist/clients/XAIClient.d.ts.map +1 -1
  22. package/dist/clients/XAIClient.js +6 -0
  23. package/dist/clients/XAIClient.js.map +1 -1
  24. package/dist/commands/add.d.ts +17 -0
  25. package/dist/commands/add.d.ts.map +1 -0
  26. package/dist/commands/add.js +164 -0
  27. package/dist/commands/add.js.map +1 -0
  28. package/dist/commands/build.d.ts +10 -0
  29. package/dist/commands/build.d.ts.map +1 -0
  30. package/dist/commands/build.js +37 -0
  31. package/dist/commands/build.js.map +1 -0
  32. package/dist/commands/generate-assets.d.ts +11 -0
  33. package/dist/commands/generate-assets.d.ts.map +1 -0
  34. package/dist/commands/generate-assets.js +131 -0
  35. package/dist/commands/generate-assets.js.map +1 -0
  36. package/dist/commands/generate-components.d.ts.map +1 -1
  37. package/dist/commands/generate-components.js +21 -18
  38. package/dist/commands/generate-components.js.map +1 -1
  39. package/dist/commands/generate-screens.d.ts +5 -0
  40. package/dist/commands/generate-screens.d.ts.map +1 -1
  41. package/dist/commands/generate-screens.js +160 -12
  42. package/dist/commands/generate-screens.js.map +1 -1
  43. package/dist/commands/generate.d.ts +3 -0
  44. package/dist/commands/generate.d.ts.map +1 -1
  45. package/dist/commands/generate.js +285 -167
  46. package/dist/commands/generate.js.map +1 -1
  47. package/dist/commands/ideate.d.ts +14 -0
  48. package/dist/commands/ideate.d.ts.map +1 -0
  49. package/dist/commands/ideate.js +153 -0
  50. package/dist/commands/ideate.js.map +1 -0
  51. package/dist/commands/init-interactive.d.ts.map +1 -1
  52. package/dist/commands/init-interactive.js +30 -2
  53. package/dist/commands/init-interactive.js.map +1 -1
  54. package/dist/commands/init.d.ts +2 -0
  55. package/dist/commands/init.d.ts.map +1 -1
  56. package/dist/commands/init.js +220 -39
  57. package/dist/commands/init.js.map +1 -1
  58. package/dist/commands/migrate-transform.d.ts +16 -0
  59. package/dist/commands/migrate-transform.d.ts.map +1 -0
  60. package/dist/commands/migrate-transform.js +135 -0
  61. package/dist/commands/migrate-transform.js.map +1 -0
  62. package/dist/commands/setup-complete.d.ts.map +1 -1
  63. package/dist/commands/setup-complete.js +4 -6
  64. package/dist/commands/setup-complete.js.map +1 -1
  65. package/dist/commands/sync-readme.d.ts +3 -1
  66. package/dist/commands/sync-readme.d.ts.map +1 -1
  67. package/dist/commands/sync-readme.js +57 -59
  68. package/dist/commands/sync-readme.js.map +1 -1
  69. package/dist/commands/vision-test.d.ts.map +1 -1
  70. package/dist/commands/vision-test.js +8 -0
  71. package/dist/commands/vision-test.js.map +1 -1
  72. package/dist/commands/workflow.d.ts.map +1 -1
  73. package/dist/commands/workflow.js +10 -58
  74. package/dist/commands/workflow.js.map +1 -1
  75. package/dist/constants/subAgentPersonalities.d.ts.map +1 -1
  76. package/dist/constants/subAgentPersonalities.js +29 -0
  77. package/dist/constants/subAgentPersonalities.js.map +1 -1
  78. package/dist/core/ai/AICore.d.ts +12 -0
  79. package/dist/core/ai/AICore.d.ts.map +1 -1
  80. package/dist/core/ai/AICore.js +56 -1
  81. package/dist/core/ai/AICore.js.map +1 -1
  82. package/dist/core/ai/TokenCostModel.d.ts +37 -0
  83. package/dist/core/ai/TokenCostModel.d.ts.map +1 -0
  84. package/dist/core/ai/TokenCostModel.js +132 -0
  85. package/dist/core/ai/TokenCostModel.js.map +1 -0
  86. package/dist/core/brain/BrainClient.d.ts +13 -1
  87. package/dist/core/brain/BrainClient.d.ts.map +1 -1
  88. package/dist/core/brain/BrainClient.js +49 -0
  89. package/dist/core/brain/BrainClient.js.map +1 -1
  90. package/dist/interfaces/AIClient.d.ts +4 -0
  91. package/dist/interfaces/AIClient.d.ts.map +1 -1
  92. package/dist/interfaces/AIClient.js.map +1 -1
  93. package/dist/services/MonorepoScanner.d.ts +18 -0
  94. package/dist/services/MonorepoScanner.d.ts.map +1 -0
  95. package/dist/services/MonorepoScanner.js +101 -0
  96. package/dist/services/MonorepoScanner.js.map +1 -0
  97. package/dist/services/ProjectScanner.d.ts.map +1 -1
  98. package/dist/services/ProjectScanner.js +7 -0
  99. package/dist/services/ProjectScanner.js.map +1 -1
  100. package/dist/services/ReadmeDeducer.d.ts +14 -0
  101. package/dist/services/ReadmeDeducer.d.ts.map +1 -0
  102. package/dist/services/ReadmeDeducer.js +109 -0
  103. package/dist/services/ReadmeDeducer.js.map +1 -0
  104. package/dist/tui/DashboardMode.d.ts +16 -0
  105. package/dist/tui/DashboardMode.d.ts.map +1 -0
  106. package/dist/tui/DashboardMode.js +190 -0
  107. package/dist/tui/DashboardMode.js.map +1 -0
  108. package/dist/tui/TUIClient.d.ts +9 -0
  109. package/dist/tui/TUIClient.d.ts.map +1 -1
  110. package/dist/tui/TUIClient.js +63 -0
  111. package/dist/tui/TUIClient.js.map +1 -1
  112. package/dist/types/constraint.d.ts +123 -0
  113. package/dist/types/constraint.d.ts.map +1 -0
  114. package/dist/types/constraint.js +13 -0
  115. package/dist/types/constraint.js.map +1 -0
  116. package/dist/types/index.d.ts +1 -1
  117. package/dist/types/index.d.ts.map +1 -1
  118. package/dist/types/living-context.d.ts +7 -0
  119. package/dist/types/living-context.d.ts.map +1 -1
  120. package/dist/types/tui.d.ts +3 -1
  121. package/dist/types/tui.d.ts.map +1 -1
  122. package/dist/utils/claudeAgentClient.d.ts +4 -0
  123. package/dist/utils/claudeAgentClient.d.ts.map +1 -1
  124. package/dist/utils/claudeAgentClient.js +6 -0
  125. package/dist/utils/claudeAgentClient.js.map +1 -1
  126. package/dist/utils/contextEnricher.d.ts +2 -1
  127. package/dist/utils/contextEnricher.d.ts.map +1 -1
  128. package/dist/utils/contextEnricher.js +138 -1
  129. package/dist/utils/contextEnricher.js.map +1 -1
  130. package/dist/utils/contextRenderer.d.ts +3 -0
  131. package/dist/utils/contextRenderer.d.ts.map +1 -1
  132. package/dist/utils/contextRenderer.js +101 -26
  133. package/dist/utils/contextRenderer.js.map +1 -1
  134. package/dist/utils/fileSystem.d.ts.map +1 -1
  135. package/dist/utils/fileSystem.js +32 -1
  136. package/dist/utils/fileSystem.js.map +1 -1
  137. package/dist/utils/geminiClient.d.ts +11 -1
  138. package/dist/utils/geminiClient.d.ts.map +1 -1
  139. package/dist/utils/geminiClient.js +109 -56
  140. package/dist/utils/geminiClient.js.map +1 -1
  141. package/dist/utils/githubModelsClient.d.ts +4 -0
  142. package/dist/utils/githubModelsClient.d.ts.map +1 -1
  143. package/dist/utils/githubModelsClient.js +10 -1
  144. package/dist/utils/githubModelsClient.js.map +1 -1
  145. package/dist/utils/openRouterClient.d.ts +1 -0
  146. package/dist/utils/openRouterClient.d.ts.map +1 -1
  147. package/dist/utils/openRouterClient.js +4 -0
  148. package/dist/utils/openRouterClient.js.map +1 -1
  149. package/dist/utils/unifiedDesignContextLoader.d.ts.map +1 -1
  150. package/dist/utils/unifiedDesignContextLoader.js +14 -0
  151. package/dist/utils/unifiedDesignContextLoader.js.map +1 -1
  152. package/package.json +27 -22
  153. package/dist/commands/assemble-features.d.ts +0 -40
  154. package/dist/commands/assemble-features.d.ts.map +0 -1
  155. package/dist/commands/assemble-features.js +0 -383
  156. package/dist/commands/assemble-features.js.map +0 -1
  157. package/dist/commands/compile-prd.d.ts +0 -18
  158. package/dist/commands/compile-prd.d.ts.map +0 -1
  159. package/dist/commands/compile-prd.js +0 -253
  160. package/dist/commands/compile-prd.js.map +0 -1
  161. package/dist/commands/generate-context-files.d.ts +0 -44
  162. package/dist/commands/generate-context-files.d.ts.map +0 -1
  163. package/dist/commands/generate-context-files.js +0 -871
  164. package/dist/commands/generate-context-files.js.map +0 -1
  165. package/dist/templates/playbooks/instantdb-integration.md +0 -851
  166. package/dist/templates/playbooks/mpesa-integration.md +0 -652
  167. package/dist/templates/ui-spec-examples.md +0 -318
@@ -1,383 +0,0 @@
1
- "use strict";
2
- /**
3
- * Assemble Features Command
4
- *
5
- * Combines generated components into complete working features
6
- * with actions, hooks, routes, and role-based permissions.
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __importDefault = (this && this.__importDefault) || function (mod) {
42
- return (mod && mod.__esModule) ? mod : { "default": mod };
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.AssembleFeaturesCommand = void 0;
46
- const commander_1 = require("commander");
47
- const fs = __importStar(require("fs/promises"));
48
- const path = __importStar(require("path"));
49
- const chalk_1 = __importDefault(require("chalk"));
50
- const FeatureAssemblyAgent_1 = require("../agents/implementations/FeatureAssemblyAgent");
51
- const RoleBasedGenerator_1 = require("../agents/implementations/RoleBasedGenerator");
52
- class AssembleFeaturesCommand {
53
- constructor() {
54
- this.command = new commander_1.Command("assemble-features");
55
- this.setupCommand();
56
- }
57
- setupCommand() {
58
- this.command
59
- .description("Assemble components into complete working features")
60
- .option("--from-components", "Assemble from generated components")
61
- .option("--use-starter", "Use admin starter template")
62
- .option("--role <role>", "Generate for specific role (admin/user/guest)", "admin")
63
- .option("--feature <name>", "Generate specific feature")
64
- .option("--output <path>", "Output directory for features", "./features")
65
- .option("--template <name>", "Use specific feature template")
66
- .option("--include-tests", "Include test files")
67
- .option("--include-docs", "Include documentation")
68
- .option("--verbose", "Verbose output")
69
- .action(async (options) => {
70
- await this.execute(options);
71
- });
72
- }
73
- async execute(options) {
74
- console.log(chalk_1.default.cyan("šŸ”§ Feature Assembly starting..."));
75
- try {
76
- const projectPath = process.cwd();
77
- const outputPath = path.resolve(options.output || "./features");
78
- // Ensure output directory exists
79
- await fs.mkdir(outputPath, { recursive: true });
80
- if (options.useStarter) {
81
- await this.assembleFromStarter(projectPath, outputPath, options);
82
- }
83
- else if (options.fromComponents) {
84
- await this.assembleFromComponents(projectPath, outputPath, options);
85
- }
86
- else {
87
- // Auto-detect approach
88
- const hasComponents = await this.hasGeneratedComponents(projectPath);
89
- const hasStarter = await this.hasAdminStarter(projectPath);
90
- if (hasStarter) {
91
- console.log(chalk_1.default.blue(" šŸ“¦ Using admin starter template"));
92
- await this.assembleFromStarter(projectPath, outputPath, options);
93
- }
94
- else if (hasComponents) {
95
- console.log(chalk_1.default.blue(" 🧩 Using generated components"));
96
- await this.assembleFromComponents(projectPath, outputPath, options);
97
- }
98
- else {
99
- throw new Error('No components or starter found. Run "mycontext generate-components" first or use --use-starter');
100
- }
101
- }
102
- console.log(chalk_1.default.green("āœ… Feature assembly completed successfully!"));
103
- this.showNextSteps(outputPath, options);
104
- }
105
- catch (error) {
106
- console.log(chalk_1.default.red(`āŒ Feature assembly failed: ${error}`));
107
- process.exit(1);
108
- }
109
- }
110
- async assembleFromStarter(projectPath, outputPath, options) {
111
- console.log(chalk_1.default.gray(" šŸ“¦ Loading admin starter template..."));
112
- // Load admin starter bundle
113
- const starterBundle = await this.loadAdminStarterBundle();
114
- // Extract features from starter
115
- const adminFeatures = await this.extractFeaturesFromStarter(starterBundle, projectPath);
116
- // Generate role-based features
117
- const roleHierarchy = RoleBasedGenerator_1.RoleBasedGenerator.createDefaultRoleHierarchy();
118
- const targetRoles = this.getTargetRoles(options.role);
119
- const roleGenerator = new RoleBasedGenerator_1.RoleBasedGenerator(projectPath);
120
- const roleContext = {
121
- projectPath,
122
- adminFeatures,
123
- targetRoles,
124
- roleHierarchy,
125
- outputPath,
126
- };
127
- const roleResult = await roleGenerator.run(roleContext);
128
- if (!roleResult.success) {
129
- throw new Error(`Role-based generation failed: ${roleResult.errors.join(", ")}`);
130
- }
131
- // Save feature bundles
132
- await this.saveFeatureBundles(roleResult.roleFeatures, outputPath);
133
- console.log(chalk_1.default.green(` āœ“ Generated features for ${roleResult.metadata.totalRoles} roles`));
134
- console.log(chalk_1.default.green(` āœ“ Total features: ${roleResult.metadata.totalFeatures}`));
135
- }
136
- async assembleFromComponents(projectPath, outputPath, options) {
137
- console.log(chalk_1.default.gray(" 🧩 Loading generated components..."));
138
- // Load components and context files
139
- const components = await this.loadGeneratedComponents(projectPath);
140
- const contextFiles = await this.loadContextFiles(projectPath);
141
- const designManifest = await this.loadDesignManifest(projectPath);
142
- // Load feature templates
143
- const featureTemplates = await this.loadFeatureTemplates();
144
- // Generate features
145
- const assemblyAgent = new FeatureAssemblyAgent_1.FeatureAssemblyAgent(projectPath);
146
- const assemblyContext = {
147
- projectPath,
148
- components,
149
- contextFiles,
150
- designManifest,
151
- targetRole: options.role || "admin",
152
- featureTemplates,
153
- outputPath,
154
- };
155
- const result = await assemblyAgent.run(assemblyContext);
156
- if (!result.success) {
157
- throw new Error(`Feature assembly failed: ${result.errors.join(", ")}`);
158
- }
159
- console.log(chalk_1.default.green(` āœ“ Generated ${result.metadata.totalFeatures} features`));
160
- console.log(chalk_1.default.green(` āœ“ Generated ${result.metadata.totalComponents} components`));
161
- console.log(chalk_1.default.green(` āœ“ Generated ${result.metadata.totalActions} actions`));
162
- console.log(chalk_1.default.green(` āœ“ Generated ${result.metadata.totalHooks} hooks`));
163
- console.log(chalk_1.default.green(` āœ“ Generated ${result.metadata.totalRoutes} routes`));
164
- }
165
- async loadAdminStarterBundle() {
166
- const bundlePath = path.join(__dirname, "../../templates/admin-starter-bundle.json");
167
- const bundleContent = await fs.readFile(bundlePath, "utf-8");
168
- return JSON.parse(bundleContent);
169
- }
170
- async extractFeaturesFromStarter(starterBundle, projectPath) {
171
- const features = [];
172
- for (const [featureName, template] of Object.entries(starterBundle.features)) {
173
- const featureTemplate = template;
174
- const feature = {
175
- name: featureName,
176
- description: featureTemplate.description,
177
- role: "admin",
178
- components: featureTemplate.components.map((c) => c.name),
179
- types: featureTemplate.components.map((c) => c.name),
180
- actions: featureTemplate.actions.map((a) => ({
181
- name: a.name,
182
- description: a.description,
183
- file: `actions/${a.name}.ts`,
184
- function: a.name,
185
- parameters: a.parameters,
186
- returnType: a.returnType,
187
- permissions: a.permissions,
188
- validation: undefined,
189
- })),
190
- hooks: featureTemplate.hooks.map((h) => ({
191
- name: h.name,
192
- description: h.description,
193
- file: `hooks/${h.name}.ts`,
194
- function: h.name,
195
- parameters: h.parameters,
196
- returnType: h.returnType,
197
- dependencies: h.dependencies,
198
- })),
199
- routes: featureTemplate.routes.map((r) => ({
200
- path: r.path,
201
- method: r.method,
202
- description: r.description,
203
- file: `app/api${r.path}/route.ts`,
204
- function: r.path.replace(/\//g, "_").replace(/\[.*?\]/g, "id"),
205
- parameters: r.parameters,
206
- responseType: r.responseType,
207
- permissions: r.permissions,
208
- middleware: undefined,
209
- })),
210
- database: {
211
- schema: JSON.stringify(featureTemplate.database, null, 2),
212
- queries: featureTemplate.database.tables.map((t) => `SELECT * FROM ${t.name}`),
213
- mutations: featureTemplate.database.tables.map((t) => `INSERT INTO ${t.name}`),
214
- },
215
- permissions: featureTemplate.permissions.map((p) => ({
216
- id: `${featureName}-${p.role}-${p.resource}`,
217
- resource: p.resource,
218
- action: p.actions[0],
219
- conditions: p.conditions,
220
- description: `Permission for ${p.role} on ${p.resource}`,
221
- })),
222
- metadata: {
223
- createdAt: new Date().toISOString(),
224
- updatedAt: new Date().toISOString(),
225
- version: "1.0.0",
226
- dependencies: featureTemplate.dependencies,
227
- },
228
- };
229
- features.push(feature);
230
- }
231
- return features;
232
- }
233
- async loadGeneratedComponents(projectPath) {
234
- const componentsDir = path.join(projectPath, "components");
235
- try {
236
- const files = await fs.readdir(componentsDir, { recursive: true });
237
- return files
238
- .filter((file) => typeof file === "string" && file.endsWith(".tsx"))
239
- .map((file) => file.replace(".tsx", ""));
240
- }
241
- catch {
242
- return [];
243
- }
244
- }
245
- async loadContextFiles(projectPath) {
246
- const contextDir = path.join(projectPath, ".mycontext");
247
- const contextFiles = {};
248
- try {
249
- const files = ["prd.md", "types.ts", "brand.md", "component-list.json"];
250
- for (const file of files) {
251
- const filePath = path.join(contextDir, file);
252
- try {
253
- const content = await fs.readFile(filePath, "utf-8");
254
- contextFiles[file.replace(/\.(md|ts|json)$/, "")] = content;
255
- }
256
- catch {
257
- // File doesn't exist, skip
258
- }
259
- }
260
- }
261
- catch {
262
- // Context directory doesn't exist
263
- }
264
- return contextFiles;
265
- }
266
- async loadDesignManifest(projectPath) {
267
- const manifestPath = path.join(projectPath, ".mycontext", "context.json");
268
- try {
269
- const content = await fs.readFile(manifestPath, "utf-8");
270
- return JSON.parse(content);
271
- }
272
- catch {
273
- return null;
274
- }
275
- }
276
- async loadFeatureTemplates() {
277
- // Load feature templates from templates directory
278
- const templatesDir = path.join(__dirname, "../../templates/feature-templates");
279
- try {
280
- const files = await fs.readdir(templatesDir);
281
- const templates = [];
282
- for (const file of files) {
283
- if (file.endsWith(".json")) {
284
- const content = await fs.readFile(path.join(templatesDir, file), "utf-8");
285
- templates.push(JSON.parse(content));
286
- }
287
- }
288
- return templates;
289
- }
290
- catch {
291
- return [];
292
- }
293
- }
294
- getTargetRoles(role) {
295
- if (role) {
296
- return [role];
297
- }
298
- // Default to all roles
299
- return ["admin", "user", "guest"];
300
- }
301
- async saveFeatureBundles(roleFeatures, outputPath) {
302
- const bundlesDir = path.join(outputPath, ".mycontext", "feature-bundles");
303
- await fs.mkdir(bundlesDir, { recursive: true });
304
- for (const [role, features] of roleFeatures) {
305
- const roleDir = path.join(bundlesDir, role);
306
- await fs.mkdir(roleDir, { recursive: true });
307
- for (const feature of features) {
308
- const featureFile = path.join(roleDir, `${feature.name}.json`);
309
- await fs.writeFile(featureFile, JSON.stringify(feature, null, 2));
310
- }
311
- // Save role summary
312
- const summary = {
313
- role,
314
- features: features.map((f) => ({
315
- name: f.name,
316
- description: f.description,
317
- components: f.components.length,
318
- actions: f.actions.length,
319
- hooks: f.hooks.length,
320
- routes: f.routes.length,
321
- })),
322
- metadata: {
323
- totalFeatures: features.length,
324
- totalComponents: features.reduce((sum, f) => sum + f.components.length, 0),
325
- totalActions: features.reduce((sum, f) => sum + f.actions.length, 0),
326
- totalHooks: features.reduce((sum, f) => sum + f.hooks.length, 0),
327
- totalRoutes: features.reduce((sum, f) => sum + f.routes.length, 0),
328
- generatedAt: new Date().toISOString(),
329
- },
330
- };
331
- const summaryFile = path.join(roleDir, "summary.json");
332
- await fs.writeFile(summaryFile, JSON.stringify(summary, null, 2));
333
- }
334
- }
335
- async hasGeneratedComponents(projectPath) {
336
- const componentsDir = path.join(projectPath, "components");
337
- try {
338
- const files = await fs.readdir(componentsDir);
339
- return files.some((file) => file.endsWith(".tsx"));
340
- }
341
- catch {
342
- return false;
343
- }
344
- }
345
- async hasAdminStarter(projectPath) {
346
- const starterPath = path.join(projectPath, ".mycontext", "admin-starter.json");
347
- try {
348
- await fs.access(starterPath);
349
- return true;
350
- }
351
- catch {
352
- return false;
353
- }
354
- }
355
- showNextSteps(outputPath, options) {
356
- console.log(chalk_1.default.blue("\nšŸ“‹ Next Steps:"));
357
- console.log(chalk_1.default.cyan(" 1. Review generated features:"));
358
- console.log(chalk_1.default.white(` cd ${outputPath}`));
359
- console.log(chalk_1.default.cyan(" 2. Install dependencies:"));
360
- console.log(chalk_1.default.white(" npm install"));
361
- console.log(chalk_1.default.cyan(" 3. Set up database:"));
362
- console.log(chalk_1.default.white(" mycontext setup-database"));
363
- console.log(chalk_1.default.cyan(" 4. Start development:"));
364
- console.log(chalk_1.default.white(" npm run dev"));
365
- if (options.includeTests) {
366
- console.log(chalk_1.default.cyan(" 5. Run tests:"));
367
- console.log(chalk_1.default.white(" npm test"));
368
- }
369
- if (options.includeDocs) {
370
- console.log(chalk_1.default.cyan(" 6. Generate documentation:"));
371
- console.log(chalk_1.default.white(" mycontext docs generate"));
372
- }
373
- console.log(chalk_1.default.gray("\n Additional:"));
374
- console.log(chalk_1.default.gray(" • Review feature bundles in .mycontext/feature-bundles/"));
375
- console.log(chalk_1.default.gray(" • Customize features for your specific needs"));
376
- console.log(chalk_1.default.gray(" • Deploy with: mycontext deploy"));
377
- }
378
- getCommand() {
379
- return this.command;
380
- }
381
- }
382
- exports.AssembleFeaturesCommand = AssembleFeaturesCommand;
383
- //# sourceMappingURL=assemble-features.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assemble-features.js","sourceRoot":"","sources":["../../src/commands/assemble-features.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- interface CompilePRDOptions {
2
- projectPath?: string;
3
- verbose?: boolean;
4
- force?: boolean;
5
- }
6
- export declare class CompilePRDCommand {
7
- private aiClient;
8
- constructor();
9
- execute(options: CompilePRDOptions): Promise<void>;
10
- private checkContextFiles;
11
- private readContextFiles;
12
- private generatePRD;
13
- private buildPRDPrompt;
14
- private formatPRDContent;
15
- private getContextFileDescription;
16
- }
17
- export {};
18
- //# sourceMappingURL=compile-prd.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile-prd.d.ts","sourceRoot":"","sources":["../../src/commands/compile-prd.ts"],"names":[],"mappings":"AAaA,UAAU,iBAAiB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAiB;;IAM3B,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAqH1C,iBAAiB;YAkCjB,gBAAgB;YAiBhB,WAAW;IAoCzB,OAAO,CAAC,cAAc;IA+CtB,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,yBAAyB;CAWlC"}