mycontext-cli 4.2.7 → 4.2.8

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 (95) hide show
  1. package/dist/commands/generate.d.ts.map +1 -1
  2. package/dist/commands/generate.js +19 -60
  3. package/dist/commands/generate.js.map +1 -1
  4. package/dist/commands/init-interactive.d.ts +20 -0
  5. package/dist/commands/init-interactive.d.ts.map +1 -1
  6. package/dist/commands/init-interactive.js +168 -5
  7. package/dist/commands/init-interactive.js.map +1 -1
  8. package/dist/config/shadcn-catalog.json +93 -0
  9. package/dist/core/brain/BrainClient.d.ts +1 -1
  10. package/dist/core/brain/BrainClient.d.ts.map +1 -1
  11. package/dist/core/brain/BrainClient.js +5 -5
  12. package/dist/core/brain/BrainClient.js.map +1 -1
  13. package/dist/doctor/DoctorEngine.d.ts.map +1 -1
  14. package/dist/doctor/DoctorEngine.js +21 -11
  15. package/dist/doctor/DoctorEngine.js.map +1 -1
  16. package/dist/doctor/rules/dead-code-rules.d.ts.map +1 -1
  17. package/dist/doctor/rules/dead-code-rules.js +33 -0
  18. package/dist/doctor/rules/dead-code-rules.js.map +1 -1
  19. package/dist/doctor/rules/instantdb-rules.d.ts.map +1 -1
  20. package/dist/doctor/rules/instantdb-rules.js +278 -69
  21. package/dist/doctor/rules/instantdb-rules.js.map +1 -1
  22. package/dist/doctor/rules/nextjs-rules.d.ts.map +1 -1
  23. package/dist/doctor/rules/nextjs-rules.js +53 -3
  24. package/dist/doctor/rules/nextjs-rules.js.map +1 -1
  25. package/dist/package.json +4 -2
  26. package/dist/services/ComponentInferenceEngine.d.ts +66 -0
  27. package/dist/services/ComponentInferenceEngine.d.ts.map +1 -0
  28. package/dist/services/ComponentInferenceEngine.js +302 -0
  29. package/dist/services/ComponentInferenceEngine.js.map +1 -0
  30. package/dist/services/ComponentRegistry.d.ts +61 -0
  31. package/dist/services/ComponentRegistry.d.ts.map +1 -0
  32. package/dist/services/ComponentRegistry.js +128 -0
  33. package/dist/services/ComponentRegistry.js.map +1 -0
  34. package/dist/services/InferenceEngine.js +1 -1
  35. package/dist/services/ProjectScanner.d.ts.map +1 -1
  36. package/dist/services/ProjectScanner.js +15 -1
  37. package/dist/services/ProjectScanner.js.map +1 -1
  38. package/dist/services/ScaffoldEngine.d.ts +87 -0
  39. package/dist/services/ScaffoldEngine.d.ts.map +1 -0
  40. package/dist/services/ScaffoldEngine.js +409 -0
  41. package/dist/services/ScaffoldEngine.js.map +1 -0
  42. package/dist/services/ScaffoldPreview.d.ts +62 -0
  43. package/dist/services/ScaffoldPreview.d.ts.map +1 -0
  44. package/dist/services/ScaffoldPreview.js +292 -0
  45. package/dist/services/ScaffoldPreview.js.map +1 -0
  46. package/dist/services/TemplateEngine.d.ts +136 -0
  47. package/dist/services/TemplateEngine.d.ts.map +1 -0
  48. package/dist/services/TemplateEngine.js +483 -0
  49. package/dist/services/TemplateEngine.js.map +1 -0
  50. package/dist/services/TemplateHelpers.d.ts +9 -0
  51. package/dist/services/TemplateHelpers.d.ts.map +1 -0
  52. package/dist/services/TemplateHelpers.js +212 -0
  53. package/dist/services/TemplateHelpers.js.map +1 -0
  54. package/dist/templates/actions/auth-actions.ts.hbs +140 -0
  55. package/dist/templates/actions/crud-actions.ts.hbs +113 -0
  56. package/dist/templates/components/auth/login-form.tsx.hbs +67 -0
  57. package/dist/templates/components/auth/login-skeleton.tsx.hbs +24 -0
  58. package/dist/templates/components/auth/register-form.tsx.hbs +116 -0
  59. package/dist/templates/components/crud/entity-card.tsx.hbs +71 -0
  60. package/dist/templates/components/crud/entity-form.tsx.hbs +158 -0
  61. package/dist/templates/components/crud/entity-skeleton.tsx.hbs +90 -0
  62. package/dist/templates/components/crud/entity-table.tsx.hbs +129 -0
  63. package/dist/templates/components/ui/button.tsx.hbs +53 -0
  64. package/dist/templates/components/ui/card.tsx.hbs +68 -0
  65. package/dist/templates/components/ui/input.tsx.hbs +33 -0
  66. package/dist/templates/components/ui/label.tsx.hbs +20 -0
  67. package/dist/templates/components/ui/skeleton.tsx.hbs +15 -0
  68. package/dist/templates/components/ui/theme-provider.tsx.hbs +66 -0
  69. package/dist/templates/components/ui/theme-toggle.tsx.hbs +30 -0
  70. package/dist/templates/config/app.css.hbs +150 -0
  71. package/dist/templates/layouts/dashboard-layout.tsx.hbs +69 -0
  72. package/dist/templates/layouts/error.tsx.hbs +51 -0
  73. package/dist/templates/layouts/loading.tsx.hbs +22 -0
  74. package/dist/templates/layouts/not-found.tsx.hbs +24 -0
  75. package/dist/templates/layouts/root-layout.tsx.hbs +40 -0
  76. package/dist/templates/lib/instant.ts.hbs +19 -0
  77. package/dist/templates/lib/utils.ts.hbs +24 -0
  78. package/dist/templates/pages/auth/login-page.tsx.hbs +30 -0
  79. package/dist/templates/pages/auth/register-page.tsx.hbs +38 -0
  80. package/dist/templates/pages/crud/create-page.tsx.hbs +42 -0
  81. package/dist/templates/pages/crud/detail-page.tsx.hbs +90 -0
  82. package/dist/templates/pages/crud/list-page.tsx.hbs +60 -0
  83. package/dist/templates/pages/crud/loading.tsx.hbs +13 -0
  84. package/dist/templates/pages/landing-page.tsx.hbs +111 -0
  85. package/dist/types/asl.d.ts +1 -1
  86. package/dist/types/asl.d.ts.map +1 -1
  87. package/dist/types/living-context.d.ts +1 -1
  88. package/dist/types/living-context.d.ts.map +1 -1
  89. package/dist/utils/FileGenerator.js +3 -3
  90. package/dist/utils/FileGenerator.js.map +1 -1
  91. package/dist/utils/generateTypesFromSchema.d.ts +47 -0
  92. package/dist/utils/generateTypesFromSchema.d.ts.map +1 -0
  93. package/dist/utils/generateTypesFromSchema.js +298 -0
  94. package/dist/utils/generateTypesFromSchema.js.map +1 -0
  95. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectScanner.js","sourceRoot":"","sources":["../../src/services/ProjectScanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectScanner.js","sourceRoot":"","sources":["../../src/services/ProjectScanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import { ASL } from "../types/asl";
2
+ export interface GenerationStats {
3
+ pages: number;
4
+ components: number;
5
+ actions: number;
6
+ }
7
+ export interface SchemaStats {
8
+ entities: number;
9
+ fields: number;
10
+ relations: number;
11
+ }
12
+ /**
13
+ * ScaffoldEngine - Deterministic full-stack generation from ASL
14
+ *
15
+ * Generates a complete Next.js 15 application including:
16
+ * - InstantDB schema
17
+ * - TypeScript types
18
+ * - Auth pages and components
19
+ * - RBAC guards and middleware
20
+ * - CRUD pages and server actions
21
+ * - shadCN UI components (inferred)
22
+ */
23
+ export declare class ScaffoldEngine {
24
+ private componentInference;
25
+ private templateEngine;
26
+ private componentRegistry;
27
+ private spinner;
28
+ constructor();
29
+ /**
30
+ * Main scaffold orchestrator
31
+ * Generates a complete Next.js application from ASL specification
32
+ */
33
+ scaffold(asl: ASL): Promise<void>;
34
+ /**
35
+ * Step 1: Bootstrap Next.js project using create-next-app
36
+ */
37
+ private bootstrapNextJS;
38
+ /**
39
+ * Step 2: Install InstantDB SDK
40
+ */
41
+ private installInstantDB;
42
+ /**
43
+ * Step 3: Install shadCN UI and inferred components
44
+ */
45
+ private installShadCN;
46
+ /**
47
+ * Generate a project ID from name
48
+ */
49
+ private generateProjectId;
50
+ /**
51
+ * Step 4: Generate InstantDB schema from ASL entities
52
+ */
53
+ private generateSchema;
54
+ /**
55
+ * Map ASL field types to InstantDB types
56
+ */
57
+ private mapFieldType;
58
+ /**
59
+ * Step 5: Generate TypeScript types from entities
60
+ */
61
+ private generateTypes;
62
+ /**
63
+ * Map ASL types to TypeScript types
64
+ */
65
+ private mapToTSType;
66
+ /**
67
+ * Step 6: Generate auth system (pages, guards, middleware)
68
+ */
69
+ private generateAuth;
70
+ /**
71
+ * Step 7: Generate pages and components for each entity
72
+ */
73
+ private generatePagesAndComponents;
74
+ /**
75
+ * Generate CRUD pages and components for an entity
76
+ */
77
+ private generateEntityCRUD;
78
+ /**
79
+ * Generate a custom page from ASL
80
+ */
81
+ private generatePage;
82
+ /**
83
+ * Step 8: Initialize Living Brain (.mycontext directory)
84
+ */
85
+ private initializeBrain;
86
+ }
87
+ //# sourceMappingURL=ScaffoldEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScaffoldEngine.d.ts","sourceRoot":"","sources":["../../src/services/ScaffoldEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkD,MAAM,cAAc,CAAC;AAUnF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAkB;;IASjC;;;OAGG;IACG,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuGvC;;OAEG;YACW,eAAe;IA6B7B;;OAEG;YACW,gBAAgB;IAc9B;;OAEG;YACW,aAAa;IAsB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;YACW,cAAc;IAqD5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;YACW,aAAa;IA4B3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;YACW,YAAY;IAgC1B;;OAEG;YACW,0BAA0B;IA+BxC;;OAEG;YACW,kBAAkB;IA0BhC;;OAEG;YACW,YAAY;IAe1B;;OAEG;YACW,eAAe;CA2B9B"}
@@ -0,0 +1,409 @@
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.ScaffoldEngine = void 0;
40
+ const spinner_1 = require("../utils/spinner");
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const child_process_1 = require("child_process");
43
+ const path = __importStar(require("path"));
44
+ const fs = __importStar(require("fs-extra"));
45
+ const ComponentInferenceEngine_1 = require("./ComponentInferenceEngine");
46
+ const TemplateEngine_1 = require("./TemplateEngine");
47
+ const ComponentRegistry_1 = require("./ComponentRegistry");
48
+ /**
49
+ * ScaffoldEngine - Deterministic full-stack generation from ASL
50
+ *
51
+ * Generates a complete Next.js 15 application including:
52
+ * - InstantDB schema
53
+ * - TypeScript types
54
+ * - Auth pages and components
55
+ * - RBAC guards and middleware
56
+ * - CRUD pages and server actions
57
+ * - shadCN UI components (inferred)
58
+ */
59
+ class ScaffoldEngine {
60
+ constructor() {
61
+ this.componentInference = new ComponentInferenceEngine_1.ComponentInferenceEngine();
62
+ this.templateEngine = new TemplateEngine_1.TemplateEngine();
63
+ this.componentRegistry = new ComponentRegistry_1.ComponentRegistry();
64
+ this.spinner = new spinner_1.EnhancedSpinner("Scaffolding...");
65
+ }
66
+ /**
67
+ * Main scaffold orchestrator
68
+ * Generates a complete Next.js application from ASL specification
69
+ */
70
+ async scaffold(asl) {
71
+ const projectPath = path.resolve(process.cwd(), asl.project.name);
72
+ try {
73
+ // Step 1: Bootstrap Next.js
74
+ this.spinner.updateText('[1/8] Bootstrapping Next.js 15 + App Router...');
75
+ this.spinner.start();
76
+ try {
77
+ await this.bootstrapNextJS(projectPath, asl.project.name);
78
+ this.spinner.success({ text: '[1/8] Next.js 15 + App Router ready' });
79
+ }
80
+ catch (err) {
81
+ this.spinner.error({ text: '[1/8] Bootstrap failed' });
82
+ console.error(chalk_1.default.red(` Error bootstrapping: ${err.message}`));
83
+ if (err.stdout)
84
+ console.log(chalk_1.default.gray(` Stdout: ${err.stdout.toString()}`));
85
+ if (err.stderr)
86
+ console.error(chalk_1.default.red(` Stderr: ${err.stderr.toString()}`));
87
+ throw err;
88
+ }
89
+ // Step 2: Install InstantDB
90
+ this.spinner.updateText('[2/8] Installing InstantDB SDK...');
91
+ this.spinner.start();
92
+ await this.installInstantDB(projectPath);
93
+ this.spinner.success({ text: '[2/8] InstantDB SDK installed' });
94
+ // Step 3: Infer & Install shadCN components
95
+ this.spinner.updateText('[3/8] Inferring & installing shadCN components...');
96
+ this.spinner.start();
97
+ const components = this.componentInference.inferNeededComponents(asl);
98
+ await this.installShadCN(projectPath, components);
99
+ this.spinner.success({
100
+ text: `[3/8] Installed: ${components.slice(0, 5).join(', ')}${components.length > 5 ? ` + ${components.length - 5} more` : ''}`
101
+ });
102
+ // Step 4: Generate InstantDB schema
103
+ this.spinner.updateText('[4/8] Generating InstantDB schema...');
104
+ this.spinner.start();
105
+ const entityArray = Object.values(asl.entities);
106
+ const projectId = this.generateProjectId(asl.project.name);
107
+ const schemaStats = await this.generateSchema(projectPath, entityArray, projectId);
108
+ this.spinner.success({
109
+ text: `[4/8] ${schemaStats.entities} entities, ${schemaStats.fields} fields, ${schemaStats.relations} relationships`
110
+ });
111
+ // Step 5: Generate TypeScript types
112
+ this.spinner.updateText('[5/8] Generating TypeScript types...');
113
+ this.spinner.start();
114
+ await this.generateTypes(projectPath, entityArray);
115
+ this.spinner.success({ text: '[5/8] Entity types, Insert types, WithRelations' });
116
+ // Step 5.5: Generate root layout and foundational files
117
+ this.spinner.updateText('[5.5/8] Generating app layout & design system...');
118
+ this.spinner.start();
119
+ await this.templateEngine.generateRootLayout(projectPath, asl.project.name, asl.project.description || '');
120
+ await this.templateEngine.generateLandingPage(projectPath, asl.project.name, asl.project.description || '');
121
+ await this.templateEngine.generateErrorBoundary(projectPath);
122
+ await this.templateEngine.generateLoadingBoundary(projectPath);
123
+ await this.templateEngine.generateNotFoundPage(projectPath);
124
+ this.spinner.success({ text: '[5.5/8] App layout, error boundaries, landing page' });
125
+ // Step 6: Generate auth system (if needed)
126
+ if (asl.auth) {
127
+ this.spinner.updateText('[6/8] Generating auth system...');
128
+ this.spinner.start();
129
+ await this.generateAuth(projectPath, asl.auth, asl.permissions || []);
130
+ this.spinner.success({ text: '[6/8] Production auth with RSC + Server Actions' });
131
+ }
132
+ else {
133
+ console.log(chalk_1.default.gray(' [6/8] No auth configured, skipping'));
134
+ }
135
+ // Step 7: Generate pages & components
136
+ this.spinner.updateText('[7/8] Generating pages & components...');
137
+ this.spinner.start();
138
+ const genStats = await this.generatePagesAndComponents(projectPath, asl);
139
+ this.spinner.success({
140
+ text: `[7/8] ${genStats.pages} pages, ${genStats.components} components, ${genStats.actions} actions`
141
+ });
142
+ // Step 8: Initialize Living Brain
143
+ this.spinner.updateText('[8/8] Initializing Living Brain...');
144
+ this.spinner.start();
145
+ await this.initializeBrain(projectPath, asl, components);
146
+ this.spinner.success({ text: '[8/8] context.json, components_registry.json' });
147
+ // Success message
148
+ console.log(chalk_1.default.green('\n✅ ' + asl.project.name + ' is ready!'));
149
+ console.log(chalk_1.default.gray(`\n cd ${asl.project.name}`));
150
+ console.log(chalk_1.default.gray(` pnpm dev\n`));
151
+ console.log(chalk_1.default.blue(`Then open: http://localhost:3000\n`));
152
+ }
153
+ catch (error) {
154
+ this.spinner.error({ text: 'Scaffold failed' });
155
+ throw error;
156
+ }
157
+ }
158
+ /**
159
+ * Step 1: Bootstrap Next.js project using create-next-app
160
+ */
161
+ async bootstrapNextJS(projectPath, projectName) {
162
+ if (fs.existsSync(projectPath)) {
163
+ console.log(chalk_1.default.yellow(` Directory ${projectName} already exists, skipping bootstrap`));
164
+ return;
165
+ }
166
+ const command = `pnpm create next-app@latest ${projectName} ` +
167
+ `--typescript --tailwind --eslint --app --no-src-dir ` +
168
+ `--import-alias "@/*" --use-pnpm --no-git`;
169
+ console.log(chalk_1.default.gray(`\n [DEBUG] CWD: ${process.cwd()}`));
170
+ console.log(chalk_1.default.gray(` [DEBUG] Running: ${command}`));
171
+ try {
172
+ (0, child_process_1.execSync)(command, {
173
+ stdio: 'inherit', // Change to inherit to see real-time output
174
+ cwd: process.cwd(),
175
+ env: { ...process.env, CI: 'true' } // Set CI=true to help with non-interactive
176
+ });
177
+ }
178
+ catch (err) {
179
+ console.error(chalk_1.default.red(` [DEBUG] execSync threw: ${err.message}`));
180
+ throw err;
181
+ }
182
+ if (!fs.existsSync(projectPath)) {
183
+ throw new Error(`Directory ${projectPath} was not created by create-next-app (but no error was thrown)`);
184
+ }
185
+ }
186
+ /**
187
+ * Step 2: Install InstantDB SDK
188
+ */
189
+ async installInstantDB(projectPath) {
190
+ if (!fs.existsSync(projectPath)) {
191
+ throw new Error(`Cannot install InstantDB: Directory ${projectPath} does not exist`);
192
+ }
193
+ (0, child_process_1.execSync)('pnpm add @instantdb/react @instantdb/admin', {
194
+ stdio: 'pipe',
195
+ cwd: projectPath
196
+ });
197
+ }
198
+ /**
199
+ * Step 3: Install shadCN UI and inferred components
200
+ */
201
+ async installShadCN(projectPath, components) {
202
+ // Initialize shadcn-ui
203
+ (0, child_process_1.execSync)('pnpm dlx shadcn-ui@latest init -y -d', {
204
+ stdio: 'ignore',
205
+ cwd: projectPath
206
+ });
207
+ // Install each inferred component
208
+ for (const component of components) {
209
+ (0, child_process_1.execSync)(`pnpm dlx shadcn-ui@latest add ${component} -y`, {
210
+ stdio: 'ignore',
211
+ cwd: projectPath
212
+ });
213
+ }
214
+ }
215
+ /**
216
+ * Generate a project ID from name
217
+ */
218
+ generateProjectId(projectName) {
219
+ return projectName.toLowerCase().replace(/[^a-z0-9]/g, '-');
220
+ }
221
+ /**
222
+ * Step 4: Generate InstantDB schema from ASL entities
223
+ */
224
+ async generateSchema(projectPath, entities, projectId) {
225
+ const stats = {
226
+ entities: entities.length,
227
+ fields: 0,
228
+ relations: 0
229
+ };
230
+ // Build schema content
231
+ let schemaContent = `import { i } from "@instantdb/react";\n\n`;
232
+ schemaContent += `const graph = i.graph(\n`;
233
+ schemaContent += ` "${projectId}",\n`;
234
+ schemaContent += ` {\n`;
235
+ // Generate each entity
236
+ entities.forEach((entity, index) => {
237
+ stats.fields += entity.fields.length;
238
+ schemaContent += ` ${entity.name}: i.entity({\n`;
239
+ entity.fields.forEach((field, fieldIndex) => {
240
+ // Map ASL field types to InstantDB types
241
+ const instantType = this.mapFieldType(field.type);
242
+ schemaContent += ` ${field.name}: i.${instantType}()`;
243
+ if (fieldIndex < entity.fields.length - 1) {
244
+ schemaContent += ',';
245
+ }
246
+ schemaContent += '\n';
247
+ });
248
+ schemaContent += ` })`;
249
+ if (index < entities.length - 1) {
250
+ schemaContent += ',';
251
+ }
252
+ schemaContent += '\n';
253
+ });
254
+ schemaContent += ` }\n`;
255
+ schemaContent += `);\n\n`;
256
+ schemaContent += `export default graph;\n`;
257
+ // Write schema file
258
+ const schemaPath = path.join(projectPath, 'instant.schema.ts');
259
+ await fs.writeFile(schemaPath, schemaContent, 'utf-8');
260
+ return stats;
261
+ }
262
+ /**
263
+ * Map ASL field types to InstantDB types
264
+ */
265
+ mapFieldType(aslType) {
266
+ const typeMap = {
267
+ 'string': 'string',
268
+ 'number': 'number',
269
+ 'boolean': 'boolean',
270
+ 'date': 'date',
271
+ 'json': 'json',
272
+ 'ref': 'ref'
273
+ };
274
+ return typeMap[aslType] || 'string';
275
+ }
276
+ /**
277
+ * Step 5: Generate TypeScript types from entities
278
+ */
279
+ async generateTypes(projectPath, entities) {
280
+ let typesContent = `// Auto-generated types from InstantDB schema\n\n`;
281
+ entities.forEach(entity => {
282
+ // Base entity type
283
+ typesContent += `export interface ${entity.name} {\n`;
284
+ typesContent += ` id: string;\n`;
285
+ typesContent += ` createdAt: Date;\n`;
286
+ entity.fields.forEach(field => {
287
+ const tsType = this.mapToTSType(field.type);
288
+ typesContent += ` ${field.name}: ${tsType};\n`;
289
+ });
290
+ typesContent += `}\n\n`;
291
+ // Insert type (Omit id and createdAt)
292
+ typesContent += `export type ${entity.name}Insert = Omit<${entity.name}, 'id' | 'createdAt'>;\n\n`;
293
+ // WithRelations type (placeholder for now)
294
+ typesContent += `export type ${entity.name}WithRelations = ${entity.name};\n\n`;
295
+ });
296
+ const typesPath = path.join(projectPath, 'types', 'schema.ts');
297
+ await fs.ensureDir(path.dirname(typesPath));
298
+ await fs.writeFile(typesPath, typesContent, 'utf-8');
299
+ }
300
+ /**
301
+ * Map ASL types to TypeScript types
302
+ */
303
+ mapToTSType(aslType) {
304
+ const typeMap = {
305
+ 'string': 'string',
306
+ 'number': 'number',
307
+ 'boolean': 'boolean',
308
+ 'date': 'Date',
309
+ 'json': 'any',
310
+ 'ref': 'string'
311
+ };
312
+ return typeMap[aslType] || 'any';
313
+ }
314
+ /**
315
+ * Step 6: Generate auth system (pages, guards, middleware)
316
+ */
317
+ async generateAuth(projectPath, auth, permissions) {
318
+ // Generate foundational files (utils, instant client, CSS, theme)
319
+ await this.templateEngine.generateUtils(projectPath);
320
+ await this.templateEngine.generateInstantClient(projectPath);
321
+ await this.templateEngine.generateGlobalCSS(projectPath);
322
+ await this.templateEngine.generateThemeProvider(projectPath);
323
+ // Generate UI components
324
+ await this.templateEngine.generateButton(projectPath);
325
+ await this.templateEngine.generateUIComponents(projectPath);
326
+ // Generate production auth pages with Suspense and Server Components
327
+ await this.templateEngine.generateProductionLoginPage(projectPath);
328
+ await this.templateEngine.generateProductionLoginForm(projectPath);
329
+ await this.templateEngine.generateLoginSkeleton(projectPath);
330
+ await this.templateEngine.generateProductionRegisterPage(projectPath);
331
+ await this.templateEngine.generateRegisterForm(projectPath);
332
+ // Generate Server Actions for auth
333
+ await this.templateEngine.generateAuthActions(projectPath);
334
+ // Generate guards (existing implementation)
335
+ await this.templateEngine.generateGuards(projectPath, permissions);
336
+ // Generate middleware (existing implementation)
337
+ await this.templateEngine.generateMiddleware(projectPath, permissions);
338
+ }
339
+ /**
340
+ * Step 7: Generate pages and components for each entity
341
+ */
342
+ async generatePagesAndComponents(projectPath, asl) {
343
+ const stats = { pages: 0, components: 0, actions: 0 };
344
+ // Generate dashboard layout with navigation
345
+ const entities = Object.values(asl.entities).map(e => ({ name: e.name }));
346
+ await this.templateEngine.generateDashboardLayout(projectPath, asl.project.name, entities);
347
+ // For each entity, generate CRUD pages and components
348
+ for (const entity of Object.values(asl.entities)) {
349
+ await this.generateEntityCRUD(projectPath, entity, asl.permissions || []);
350
+ stats.pages += 3; // list, detail, new
351
+ stats.components += 3; // card, form, list
352
+ stats.actions += 1; // actions file
353
+ }
354
+ // Generate custom pages from ASL.pages
355
+ for (const page of asl.pages) {
356
+ await this.generatePage(projectPath, page, asl);
357
+ stats.pages += 1;
358
+ }
359
+ return stats;
360
+ }
361
+ /**
362
+ * Generate CRUD pages and components for an entity
363
+ */
364
+ async generateEntityCRUD(projectPath, entity, permissions) {
365
+ // Generate production-ready CRUD pages with Suspense, streaming, and Server Actions
366
+ await this.templateEngine.generateEntityCRUDPages(projectPath, entity.name, entity.fields);
367
+ // Generate Server Actions for this entity
368
+ await this.templateEngine.generateEntityActions(projectPath, entity.name, entity.fields);
369
+ // Generate entity-specific CRUD components
370
+ await this.templateEngine.generateEntityComponents(projectPath, entity.name);
371
+ }
372
+ /**
373
+ * Generate a custom page from ASL
374
+ */
375
+ async generatePage(projectPath, page, asl) {
376
+ // Placeholder implementation
377
+ const pagePath = path.join(projectPath, 'app', page.path, 'page.tsx');
378
+ await fs.ensureDir(path.dirname(pagePath));
379
+ const pageContent = `export default function ${page.name}() {
380
+ return <div>${page.name}</div>
381
+ }`;
382
+ await fs.writeFile(pagePath, pageContent);
383
+ }
384
+ /**
385
+ * Step 8: Initialize Living Brain (.mycontext directory)
386
+ */
387
+ async initializeBrain(projectPath, asl, shadcnComponents) {
388
+ const brainPath = path.join(projectPath, '.mycontext');
389
+ await fs.ensureDir(brainPath);
390
+ // Save ASL
391
+ const aslPath = path.join(brainPath, 'asl.json');
392
+ await fs.writeJSON(aslPath, asl, { spaces: 2 });
393
+ // Initialize component registry
394
+ await this.componentRegistry.initialize(projectPath, asl, shadcnComponents);
395
+ // Create .env.local.example
396
+ const projectId = this.generateProjectId(asl.project.name);
397
+ const envExample = `# InstantDB Configuration
398
+ NEXT_PUBLIC_INSTANT_APP_ID=${projectId}
399
+
400
+ # Add your InstantDB admin token here
401
+ # Get it from: https://instantdb.com/dash
402
+ INSTANT_ADMIN_TOKEN=your_admin_token_here
403
+ `;
404
+ const envPath = path.join(projectPath, '.env.local.example');
405
+ await fs.writeFile(envPath, envExample, 'utf-8');
406
+ }
407
+ }
408
+ exports.ScaffoldEngine = ScaffoldEngine;
409
+ //# sourceMappingURL=ScaffoldEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScaffoldEngine.js","sourceRoot":"","sources":["../../src/services/ScaffoldEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAmD;AACnD,kDAA0B;AAC1B,iDAAyC;AACzC,2CAA6B;AAC7B,6CAA+B;AAC/B,yEAAsE;AACtE,qDAAkD;AAClD,2DAAwD;AAcxD;;;;;;;;;;GAUG;AACH,MAAa,cAAc;IAMzB;QACE,IAAI,CAAC,kBAAkB,GAAG,IAAI,mDAAwB,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAe,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,4BAA4B;YAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gDAAgD,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAClE,IAAI,GAAG,CAAC,MAAM;oBAAE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9E,IAAI,GAAG,CAAC,MAAM;oBAAE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC/E,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAC;YAEhE,4CAA4C;YAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mDAAmD,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACnB,IAAI,EAAE,oBAAoB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;aAChI,CAAC,CAAC;YAEH,oCAAoC;YACpC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,sCAAsC,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YACnF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACnB,IAAI,EAAE,SAAS,WAAW,CAAC,QAAQ,cAAc,WAAW,CAAC,MAAM,YAAY,WAAW,CAAC,SAAS,gBAAgB;aACrH,CAAC,CAAC;YAEH,oCAAoC;YACpC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,sCAAsC,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,iDAAiD,EAAE,CAAC,CAAC;YAElF,wDAAwD;YACxD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,kDAAkD,CAAC,CAAC;YAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAC1C,WAAW,EACX,GAAG,CAAC,OAAO,CAAC,IAAI,EAChB,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAC9B,CAAC;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAC3C,WAAW,EACX,GAAG,CAAC,OAAO,CAAC,IAAI,EAChB,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAC9B,CAAC;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,oDAAoD,EAAE,CAAC,CAAC;YAErF,2CAA2C;YAC3C,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,iDAAiD,EAAE,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,sCAAsC;YACtC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,wCAAwC,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACnB,IAAI,EAAE,SAAS,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,UAAU,gBAAgB,QAAQ,CAAC,OAAO,UAAU;aACtG,CAAC,CAAC;YAEH,kCAAkC;YAClC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC,CAAC;YAE/E,kBAAkB;YAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAEhE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAChD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,WAAmB;QACpE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,eAAe,WAAW,qCAAqC,CAAC,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,+BAA+B,WAAW,GAAG;YAC3D,sDAAsD;YACtD,0CAA0C,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,IAAA,wBAAQ,EAAC,OAAO,EAAE;gBAChB,KAAK,EAAE,SAAS,EAAE,4CAA4C;gBAC9D,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,2CAA2C;aAChF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,+DAA+D,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,uCAAuC,WAAW,iBAAiB,CAAC,CAAC;QACvF,CAAC;QAED,IAAA,wBAAQ,EACN,4CAA4C,EAC5C;YACE,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,WAAW;SACjB,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,UAAoB;QACnE,uBAAuB;QACvB,IAAA,wBAAQ,EACN,sCAAsC,EACtC;YACE,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,WAAW;SACjB,CACF,CAAC;QAEF,kCAAkC;QAClC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAA,wBAAQ,EACN,iCAAiC,SAAS,KAAK,EAC/C;gBACE,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,WAAW;aACjB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,WAAmB;QAC3C,OAAO,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAC1B,WAAmB,EACnB,QAAsB,EACtB,SAAiB;QAEjB,MAAM,KAAK,GAAgB;YACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;SACb,CAAC;QAEF,uBAAuB;QACvB,IAAI,aAAa,GAAG,2CAA2C,CAAC;QAChE,aAAa,IAAI,0BAA0B,CAAC;QAC5C,aAAa,IAAI,MAAM,SAAS,MAAM,CAAC;QACvC,aAAa,IAAI,OAAO,CAAC;QAEzB,uBAAuB;QACvB,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAErC,aAAa,IAAI,OAAO,MAAM,CAAC,IAAI,gBAAgB,CAAC;YAEpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBAC1C,yCAAyC;gBACzC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClD,aAAa,IAAI,SAAS,KAAK,CAAC,IAAI,OAAO,WAAW,IAAI,CAAC;gBAE3D,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,aAAa,IAAI,GAAG,CAAC;gBACvB,CAAC;gBACD,aAAa,IAAI,IAAI,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,aAAa,IAAI,QAAQ,CAAC;YAE1B,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,aAAa,IAAI,GAAG,CAAC;YACvB,CAAC;YACD,aAAa,IAAI,IAAI,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,aAAa,IAAI,OAAO,CAAC;QACzB,aAAa,IAAI,QAAQ,CAAC;QAC1B,aAAa,IAAI,yBAAyB,CAAC;QAE3C,oBAAoB;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAEvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAAe;QAClC,MAAM,OAAO,GAA2B;YACtC,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;SACb,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,QAAsB;QACrE,IAAI,YAAY,GAAG,mDAAmD,CAAC;QAEvE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxB,mBAAmB;YACnB,YAAY,IAAI,oBAAoB,MAAM,CAAC,IAAI,MAAM,CAAC;YACtD,YAAY,IAAI,iBAAiB,CAAC;YAClC,YAAY,IAAI,sBAAsB,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,YAAY,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,MAAM,KAAK,CAAC;YAClD,CAAC,CAAC,CAAC;YAEH,YAAY,IAAI,OAAO,CAAC;YAExB,sCAAsC;YACtC,YAAY,IAAI,eAAe,MAAM,CAAC,IAAI,iBAAiB,MAAM,CAAC,IAAI,4BAA4B,CAAC;YAEnG,2CAA2C;YAC3C,YAAY,IAAI,eAAe,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,OAAO,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,OAAe;QACjC,MAAM,OAAO,GAA2B;YACtC,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,QAAQ;SAChB,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,WAAmB,EACnB,IAAc,EACd,WAA6B;QAE7B,kEAAkE;QAClE,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAE7D,yBAAyB;QACzB,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE5D,qEAAqE;QACrE,MAAM,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE5D,mCAAmC;QACnC,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE3D,4CAA4C;QAC5C,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnE,gDAAgD;QAChD,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,0BAA0B,CACtC,WAAmB,EACnB,GAAQ;QAER,MAAM,KAAK,GAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAEvE,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAC/C,WAAW,EACX,GAAG,CAAC,OAAO,CAAC,IAAI,EAChB,QAAQ,CACT,CAAC;QAEF,sDAAsD;QACtD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAC1E,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAoB;YACtC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,mBAAmB;YAC1C,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,eAAe;QACrC,CAAC;QAED,uCAAuC;QACvC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAChD,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,WAAmB,EACnB,MAAkB,EAClB,WAA6B;QAE7B,oFAAoF;QACpF,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAC/C,WAAW,EACX,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,CACd,CAAC;QAEF,0CAA0C;QAC1C,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAC7C,WAAW,EACX,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,CACd,CAAC;QAEF,2CAA2C;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAChD,WAAW,EACX,MAAM,CAAC,IAAI,CACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,WAAmB,EACnB,IAAc,EACd,GAAQ;QAER,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3C,MAAM,WAAW,GAAG,2BAA2B,IAAI,CAAC,IAAI;gBAC5C,IAAI,CAAC,IAAI;EACvB,CAAC;QACC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,WAAmB,EACnB,GAAQ,EACR,gBAA0B;QAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE9B,WAAW;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhD,gCAAgC;QAChC,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAE5E,4BAA4B;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG;6BACM,SAAS;;;;;CAKrC,CAAC;QACE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;QAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AAldD,wCAkdC"}
@@ -0,0 +1,62 @@
1
+ import { ASL } from "../types/asl";
2
+ export interface ScaffoldManifest {
3
+ fileTree: string;
4
+ componentsSummary: {
5
+ shadcn: string[];
6
+ custom: number;
7
+ };
8
+ features: string[];
9
+ totalFiles: number;
10
+ estimatedTime: string;
11
+ }
12
+ /**
13
+ * ScaffoldPreview - Generate human-readable preview of scaffold output
14
+ *
15
+ * Shows users exactly what will be generated before running scaffold:
16
+ * - Complete file tree with descriptions
17
+ * - Component counts and types
18
+ * - Feature list
19
+ * - Estimated generation time
20
+ */
21
+ export declare class ScaffoldPreview {
22
+ private asl;
23
+ private componentInference;
24
+ constructor(asl: ASL);
25
+ /**
26
+ * Generate complete scaffold manifest for user review
27
+ */
28
+ generateManifest(): ScaffoldManifest;
29
+ /**
30
+ * Build visual file tree showing all generated files
31
+ */
32
+ private buildFileTree;
33
+ /**
34
+ * Summarize shadCN and custom components
35
+ */
36
+ private summarizeComponents;
37
+ /**
38
+ * List all features that will be generated
39
+ */
40
+ private listFeatures;
41
+ /**
42
+ * Count total files that will be generated
43
+ */
44
+ private countFiles;
45
+ /**
46
+ * Count custom components (non-shadCN)
47
+ */
48
+ private countCustomComponents;
49
+ /**
50
+ * Estimate generation time based on complexity
51
+ */
52
+ private estimateTime;
53
+ /**
54
+ * Check if a page path is an entity page
55
+ */
56
+ private isEntityPage;
57
+ /**
58
+ * Format and display the complete preview
59
+ */
60
+ display(): void;
61
+ }
62
+ //# sourceMappingURL=ScaffoldPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScaffoldPreview.d.ts","sourceRoot":"","sources":["../../src/services/ScaffoldPreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAwC,MAAM,cAAc,CAAC;AAIzE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,GAAG;IAFvB,OAAO,CAAC,kBAAkB,CAA2B;gBAEjC,GAAG,EAAE,GAAG;IAI5B;;OAEG;IACH,gBAAgB,IAAI,gBAAgB;IAgBpC;;OAEG;IACH,OAAO,CAAC,aAAa;IA6HrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAkCpB;;OAEG;IACH,OAAO,CAAC,UAAU;IA6ClB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB"}