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.
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +19 -60
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init-interactive.d.ts +20 -0
- package/dist/commands/init-interactive.d.ts.map +1 -1
- package/dist/commands/init-interactive.js +168 -5
- package/dist/commands/init-interactive.js.map +1 -1
- package/dist/config/shadcn-catalog.json +93 -0
- package/dist/core/brain/BrainClient.d.ts +1 -1
- package/dist/core/brain/BrainClient.d.ts.map +1 -1
- package/dist/core/brain/BrainClient.js +5 -5
- package/dist/core/brain/BrainClient.js.map +1 -1
- package/dist/doctor/DoctorEngine.d.ts.map +1 -1
- package/dist/doctor/DoctorEngine.js +21 -11
- package/dist/doctor/DoctorEngine.js.map +1 -1
- package/dist/doctor/rules/dead-code-rules.d.ts.map +1 -1
- package/dist/doctor/rules/dead-code-rules.js +33 -0
- package/dist/doctor/rules/dead-code-rules.js.map +1 -1
- package/dist/doctor/rules/instantdb-rules.d.ts.map +1 -1
- package/dist/doctor/rules/instantdb-rules.js +278 -69
- package/dist/doctor/rules/instantdb-rules.js.map +1 -1
- package/dist/doctor/rules/nextjs-rules.d.ts.map +1 -1
- package/dist/doctor/rules/nextjs-rules.js +53 -3
- package/dist/doctor/rules/nextjs-rules.js.map +1 -1
- package/dist/package.json +4 -2
- package/dist/services/ComponentInferenceEngine.d.ts +66 -0
- package/dist/services/ComponentInferenceEngine.d.ts.map +1 -0
- package/dist/services/ComponentInferenceEngine.js +302 -0
- package/dist/services/ComponentInferenceEngine.js.map +1 -0
- package/dist/services/ComponentRegistry.d.ts +61 -0
- package/dist/services/ComponentRegistry.d.ts.map +1 -0
- package/dist/services/ComponentRegistry.js +128 -0
- package/dist/services/ComponentRegistry.js.map +1 -0
- package/dist/services/InferenceEngine.js +1 -1
- package/dist/services/ProjectScanner.d.ts.map +1 -1
- package/dist/services/ProjectScanner.js +15 -1
- package/dist/services/ProjectScanner.js.map +1 -1
- package/dist/services/ScaffoldEngine.d.ts +87 -0
- package/dist/services/ScaffoldEngine.d.ts.map +1 -0
- package/dist/services/ScaffoldEngine.js +409 -0
- package/dist/services/ScaffoldEngine.js.map +1 -0
- package/dist/services/ScaffoldPreview.d.ts +62 -0
- package/dist/services/ScaffoldPreview.d.ts.map +1 -0
- package/dist/services/ScaffoldPreview.js +292 -0
- package/dist/services/ScaffoldPreview.js.map +1 -0
- package/dist/services/TemplateEngine.d.ts +136 -0
- package/dist/services/TemplateEngine.d.ts.map +1 -0
- package/dist/services/TemplateEngine.js +483 -0
- package/dist/services/TemplateEngine.js.map +1 -0
- package/dist/services/TemplateHelpers.d.ts +9 -0
- package/dist/services/TemplateHelpers.d.ts.map +1 -0
- package/dist/services/TemplateHelpers.js +212 -0
- package/dist/services/TemplateHelpers.js.map +1 -0
- package/dist/templates/actions/auth-actions.ts.hbs +140 -0
- package/dist/templates/actions/crud-actions.ts.hbs +113 -0
- package/dist/templates/components/auth/login-form.tsx.hbs +67 -0
- package/dist/templates/components/auth/login-skeleton.tsx.hbs +24 -0
- package/dist/templates/components/auth/register-form.tsx.hbs +116 -0
- package/dist/templates/components/crud/entity-card.tsx.hbs +71 -0
- package/dist/templates/components/crud/entity-form.tsx.hbs +158 -0
- package/dist/templates/components/crud/entity-skeleton.tsx.hbs +90 -0
- package/dist/templates/components/crud/entity-table.tsx.hbs +129 -0
- package/dist/templates/components/ui/button.tsx.hbs +53 -0
- package/dist/templates/components/ui/card.tsx.hbs +68 -0
- package/dist/templates/components/ui/input.tsx.hbs +33 -0
- package/dist/templates/components/ui/label.tsx.hbs +20 -0
- package/dist/templates/components/ui/skeleton.tsx.hbs +15 -0
- package/dist/templates/components/ui/theme-provider.tsx.hbs +66 -0
- package/dist/templates/components/ui/theme-toggle.tsx.hbs +30 -0
- package/dist/templates/config/app.css.hbs +150 -0
- package/dist/templates/layouts/dashboard-layout.tsx.hbs +69 -0
- package/dist/templates/layouts/error.tsx.hbs +51 -0
- package/dist/templates/layouts/loading.tsx.hbs +22 -0
- package/dist/templates/layouts/not-found.tsx.hbs +24 -0
- package/dist/templates/layouts/root-layout.tsx.hbs +40 -0
- package/dist/templates/lib/instant.ts.hbs +19 -0
- package/dist/templates/lib/utils.ts.hbs +24 -0
- package/dist/templates/pages/auth/login-page.tsx.hbs +30 -0
- package/dist/templates/pages/auth/register-page.tsx.hbs +38 -0
- package/dist/templates/pages/crud/create-page.tsx.hbs +42 -0
- package/dist/templates/pages/crud/detail-page.tsx.hbs +90 -0
- package/dist/templates/pages/crud/list-page.tsx.hbs +60 -0
- package/dist/templates/pages/crud/loading.tsx.hbs +13 -0
- package/dist/templates/pages/landing-page.tsx.hbs +111 -0
- package/dist/types/asl.d.ts +1 -1
- package/dist/types/asl.d.ts.map +1 -1
- package/dist/types/living-context.d.ts +1 -1
- package/dist/types/living-context.d.ts.map +1 -1
- package/dist/utils/FileGenerator.js +3 -3
- package/dist/utils/FileGenerator.js.map +1 -1
- package/dist/utils/generateTypesFromSchema.d.ts +47 -0
- package/dist/utils/generateTypesFromSchema.d.ts.map +1 -0
- package/dist/utils/generateTypesFromSchema.js +298 -0
- package/dist/utils/generateTypesFromSchema.js.map +1 -0
- 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":"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"}
|
|
@@ -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"}
|