@nexus-framework/cli 0.1.1 → 0.1.2

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 (42) hide show
  1. package/README.md +69 -417
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +5 -4
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/generators/ai-config.d.ts +15 -8
  6. package/dist/generators/ai-config.d.ts.map +1 -1
  7. package/dist/generators/ai-config.js +165 -106
  8. package/dist/generators/ai-config.js.map +1 -1
  9. package/dist/generators/config.d.ts.map +1 -1
  10. package/dist/generators/config.js +127 -19
  11. package/dist/generators/config.js.map +1 -1
  12. package/dist/generators/docs.js +9 -9
  13. package/dist/generators/index.js +5 -3
  14. package/dist/generators/index.js.map +1 -1
  15. package/dist/generators/landing-page.d.ts.map +1 -1
  16. package/dist/generators/landing-page.js +310 -76
  17. package/dist/generators/landing-page.js.map +1 -1
  18. package/dist/generators/structure.d.ts.map +1 -1
  19. package/dist/generators/structure.js +161 -17
  20. package/dist/generators/structure.js.map +1 -1
  21. package/dist/generators/tests.js +1 -1
  22. package/dist/prompts/index.d.ts +3 -0
  23. package/dist/prompts/index.d.ts.map +1 -1
  24. package/dist/prompts/index.js +12 -8
  25. package/dist/prompts/index.js.map +1 -1
  26. package/dist/types/config.d.ts +3 -0
  27. package/dist/types/config.d.ts.map +1 -1
  28. package/dist/utils/index.d.ts +1 -1
  29. package/dist/utils/index.d.ts.map +1 -1
  30. package/dist/utils/index.js +1 -1
  31. package/dist/utils/index.js.map +1 -1
  32. package/dist/utils/logger.d.ts +2 -2
  33. package/dist/utils/logger.d.ts.map +1 -1
  34. package/dist/utils/logger.js +6 -3
  35. package/dist/utils/logger.js.map +1 -1
  36. package/dist/utils/validator.d.ts +20 -3
  37. package/dist/utils/validator.d.ts.map +1 -1
  38. package/dist/utils/validator.js +48 -15
  39. package/dist/utils/validator.js.map +1 -1
  40. package/dist/version.d.ts +1 -1
  41. package/dist/version.js +1 -1
  42. package/package.json +1 -1
@@ -4,18 +4,25 @@
4
4
  * Generates AI agent instruction files for every major coding assistant.
5
5
  *
6
6
  * Strategy:
7
- * All real content lives in `.nexus/ai/` — a single folder that beginners
8
- * can understand ("this is for AI tools") without cluttering the repo root.
7
+ * The master file lives in `.nexus/ai/instructions.md` — a single folder
8
+ * that beginners can understand ("this is for AI tools").
9
9
  *
10
- * Thin pointer files are placed at the paths each tool expects:
11
- * .cursorrules → reads .nexus/ai/instructions.md
12
- * .windsurfrules → reads .nexus/ai/instructions.md
13
- * .clinerules → reads .nexus/ai/instructions.md
14
- * AGENTS.md → reads .nexus/ai/instructions.md
15
- * .github/copilot-instructions.md full content (Copilot requires this path)
10
+ * EVERY tool-specific config file gets the FULL project-aware instructions
11
+ * embedded directly. We do NOT rely on "go read another file" directives
12
+ * because AI tools ignore cross-file pointers too often.
13
+ *
14
+ * Files generated:
15
+ * .nexus/ai/instructions.md master file (full content)
16
+ * .cursorrules — Cursor (full content)
17
+ * .windsurfrules — Windsurf (full content)
18
+ * .clinerules — Cline (full content)
19
+ * AGENTS.md — Claude Code / OpenAI Codex (full content)
20
+ * .github/copilot-instructions.md — GitHub Copilot (full content)
16
21
  *
17
22
  * Every file is project-aware — it references the actual framework, data
18
23
  * strategy, test framework, and patterns chosen during `nexus init`.
24
+ * Every file includes the onboarding protocol that tells the AI to
25
+ * populate template docs BEFORE doing anything the user asks.
19
26
  */
20
27
  import type { NexusConfig } from '../types/config.js';
21
28
  import type { GeneratedFile } from '../types/templates.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ai-config.d.ts","sourceRoot":"","sources":["../../src/generators/ai-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,EAAE,CAcrE"}
1
+ {"version":3,"file":"ai-config.d.ts","sourceRoot":"","sources":["../../src/generators/ai-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,EAAE,CAcrE"}
@@ -4,18 +4,25 @@
4
4
  * Generates AI agent instruction files for every major coding assistant.
5
5
  *
6
6
  * Strategy:
7
- * All real content lives in `.nexus/ai/` — a single folder that beginners
8
- * can understand ("this is for AI tools") without cluttering the repo root.
7
+ * The master file lives in `.nexus/ai/instructions.md` — a single folder
8
+ * that beginners can understand ("this is for AI tools").
9
9
  *
10
- * Thin pointer files are placed at the paths each tool expects:
11
- * .cursorrules → reads .nexus/ai/instructions.md
12
- * .windsurfrules → reads .nexus/ai/instructions.md
13
- * .clinerules → reads .nexus/ai/instructions.md
14
- * AGENTS.md → reads .nexus/ai/instructions.md
15
- * .github/copilot-instructions.md full content (Copilot requires this path)
10
+ * EVERY tool-specific config file gets the FULL project-aware instructions
11
+ * embedded directly. We do NOT rely on "go read another file" directives
12
+ * because AI tools ignore cross-file pointers too often.
13
+ *
14
+ * Files generated:
15
+ * .nexus/ai/instructions.md master file (full content)
16
+ * .cursorrules — Cursor (full content)
17
+ * .windsurfrules — Windsurf (full content)
18
+ * .clinerules — Cline (full content)
19
+ * AGENTS.md — Claude Code / OpenAI Codex (full content)
20
+ * .github/copilot-instructions.md — GitHub Copilot (full content)
16
21
  *
17
22
  * Every file is project-aware — it references the actual framework, data
18
23
  * strategy, test framework, and patterns chosen during `nexus init`.
24
+ * Every file includes the onboarding protocol that tells the AI to
25
+ * populate template docs BEFORE doing anything the user asks.
19
26
  */
20
27
  import { version } from '../version.js';
21
28
  /* ──────────────────────────────────────────────────────────────
@@ -28,11 +35,11 @@ export function generateAiConfig(config) {
28
35
  const files = [];
29
36
  // Core instruction file (the single source of truth)
30
37
  files.push(generateInstructions(config));
31
- // Tool-specific pointer files at expected root paths
32
- files.push(generateCursorRules());
33
- files.push(generateWindsurfRules());
34
- files.push(generateClineRules());
35
- files.push(generateAgentsMd());
38
+ // Tool-specific files at expected root paths — each embeds full instructions
39
+ files.push(generateCursorRules(config));
40
+ files.push(generateWindsurfRules(config));
41
+ files.push(generateClineRules(config));
42
+ files.push(generateAgentsMd(config));
36
43
  files.push(generateCopilotInstructions(config));
37
44
  return files;
38
45
  }
@@ -46,7 +53,7 @@ function generateInstructions(config) {
46
53
  const backendDisplay = config.backendFramework === 'none'
47
54
  ? `${config.backendStrategy} (no framework)`
48
55
  : `${config.backendFramework} (${config.backendStrategy})`;
49
- const content = `# ${config.projectName} — AI Agent Instructions
56
+ const content = `# ${config.displayName} — AI Agent Instructions
50
57
 
51
58
  > **This file is the single source of truth for all AI coding assistants.**
52
59
  > It is auto-generated by [NEXUS CLI](https://github.com/GDA-Africa/nexus-cli) v${version}.
@@ -63,11 +70,55 @@ The full doc map is in \`.nexus/index.md\`.
63
70
 
64
71
  ---
65
72
 
73
+ ## 🚨 CRITICAL — Onboarding Protocol (Auto-Populate Docs)
74
+
75
+ Each NEXUS doc has YAML frontmatter with a \\\`status\\\` field:
76
+ - \\\`template\\\` — the doc is still in its default scaffolded state (has TODO placeholders)
77
+ - \\\`populated\\\` — the doc has been filled in by a human or AI agent
78
+
79
+ \\\`\\\`\\\`
80
+ STOP. If ANY .nexus/docs/ file has status: template → you MUST populate it FIRST.
81
+ Do NOT skip this step. Do NOT jump straight to the user's request.
82
+ This is a hard requirement, not a suggestion.
83
+ \\\`\\\`\\\`
84
+
85
+ ### Steps:
86
+
87
+ 1. **Scan the codebase** — read \\\`package.json\\\`, \\\`tsconfig.json\\\`, source files in \\\`src/\\\`,
88
+ route definitions, data models, and test files to understand the project.
89
+
90
+ 2. **Auto-fill what you can infer** from the code:
91
+ - \\\`02_architecture.md\\\` — tech stack, directory structure, data flow
92
+ - \\\`03_data_contracts.md\\\` — schemas, types, validation from source code
93
+ - \\\`04_api_contracts.md\\\` — routes, endpoints, request/response shapes
94
+ - \\\`06_test_strategy.md\\\` — existing test setup, coverage, test patterns
95
+ - \\\`07_implementation.md\\\` — current build state, what exists vs. what's planned
96
+ - \\\`08_deployment.md\\\` — CI/CD config, environment variables, deploy targets
97
+
98
+ 3. **Ask the user** for things you cannot infer from code:
99
+ - \\\`01_vision.md\\\` — product vision, user personas, success metrics
100
+ - \\\`05_business_logic.md\\\` — business rules, algorithms, decision logic
101
+ - Any section where you have low confidence
102
+
103
+ 4. **Update the frontmatter** of each doc you fill in:
104
+ \\\`\\\`\\\`yaml
105
+ status: populated
106
+ confidence: high # or medium/low
107
+ last_updated: "YYYY-MM-DD"
108
+ \\\`\\\`\\\`
109
+
110
+ 5. **Then proceed** with whatever task the user originally requested.
111
+
112
+ This onboarding flow only applies when docs have \\\`status: template\\\`.
113
+ Once all docs are \\\`populated\\\`, skip this section and work normally.
114
+
115
+ ---
116
+
66
117
  ## Project Identity
67
118
 
68
119
  | Field | Value |
69
120
  |-------|-------|
70
- | **Name** | ${config.projectName} |
121
+ | **Name** | ${config.displayName} |
71
122
  | **Type** | ${config.projectType} |
72
123
  | **Framework** | ${frameworkDisplay} |
73
124
  | **Data Strategy** | ${config.dataStrategy} |
@@ -145,46 +196,6 @@ This project includes 8 structured documentation files designed for both humans
145
196
 
146
197
  ---
147
198
 
148
- ## 🚀 Onboarding — Auto-Populate Documentation
149
-
150
- Each NEXUS doc has YAML frontmatter with a \`status\` field:
151
- - \`template\` — the doc is still in its default scaffolded state (has TODO placeholders)
152
- - \`populated\` — the doc has been filled in by a human or AI agent
153
-
154
- ### If you see \`status: template\` docs, do this FIRST:
155
-
156
- **Before doing any other task the user asks**, check the NEXUS docs:
157
-
158
- 1. **Scan the codebase** — read \`package.json\`, \`tsconfig.json\`, source files in \`src/\`,
159
- route definitions, data models, and test files to understand the project.
160
-
161
- 2. **Auto-fill what you can infer** from the code:
162
- - \`02_architecture.md\` — tech stack, directory structure, data flow
163
- - \`03_data_contracts.md\` — schemas, types, validation from source code
164
- - \`04_api_contracts.md\` — routes, endpoints, request/response shapes
165
- - \`06_test_strategy.md\` — existing test setup, coverage, test patterns
166
- - \`07_implementation.md\` — current build state, what exists vs. what's planned
167
- - \`08_deployment.md\` — CI/CD config, environment variables, deploy targets
168
-
169
- 3. **Ask the user** for things you cannot infer from code:
170
- - \`01_vision.md\` — product vision, user personas, success metrics
171
- - \`05_business_logic.md\` — business rules, algorithms, decision logic
172
- - Any section where you have low confidence
173
-
174
- 4. **Update the frontmatter** of each doc you fill in:
175
- \`\`\`yaml
176
- status: populated
177
- confidence: high # or medium/low
178
- last_updated: "YYYY-MM-DD"
179
- \`\`\`
180
-
181
- 5. **Then proceed** with whatever task the user originally requested.
182
-
183
- This onboarding flow only applies when docs have \`status: template\`.
184
- Once all docs are \`populated\`, skip this section and work normally.
185
-
186
- ---
187
-
188
199
  ## Workflow
189
200
 
190
201
  When implementing a feature:
@@ -203,59 +214,77 @@ When implementing a feature:
203
214
  return { path: '.nexus/ai/instructions.md', content };
204
215
  }
205
216
  /* ──────────────────────────────────────────────────────────────
206
- * Root pointer files — one line pointing to .nexus/ai/
217
+ * Tool-specific instruction files
207
218
  *
208
- * Some tools (Cursor, Windsurf, Cline) read plaintext from
209
- * their config file and inject it. So we include a brief header
210
- * plus a "read the real file" directive that the AI will follow.
211
- * ────────────────────────────────────────────────────────────── */
212
- function pointerContent(toolName) {
213
- return `# AI Instructions for this project
214
-
215
- > **${toolName}:** The full AI agent instructions for this project live in
216
- > \`.nexus/ai/instructions.md\`. Read that file before doing anything.
217
- >
218
- > This file exists at the root because ${toolName} requires it here.
219
- > All configuration is centralized in the \`.nexus/\` folder to keep
220
- > the repository clean and beginner-friendly.
221
-
222
- Read \`.nexus/ai/instructions.md\` for:
223
- - Project identity and tech stack
224
- - Code rules and architecture constraints
225
- - NEXUS documentation system map
226
- - Implementation workflow
227
-
228
- Also read \`.nexus/docs/01_vision.md\` to understand what this project does.
229
- `;
230
- }
231
- function generateCursorRules() {
232
- return { path: '.cursorrules', content: pointerContent('Cursor') };
233
- }
234
- function generateWindsurfRules() {
235
- return { path: '.windsurfrules', content: pointerContent('Windsurf') };
236
- }
237
- function generateClineRules() {
238
- return { path: '.clinerules', content: pointerContent('Cline') };
239
- }
240
- function generateAgentsMd() {
241
- return { path: 'AGENTS.md', content: pointerContent('Claude Code / OpenAI Codex') };
242
- }
243
- /* ──────────────────────────────────────────────────────────────
244
- * GitHub Copilot — requires .github/copilot-instructions.md
219
+ * Every AI tool gets the FULL project-aware instructions embedded
220
+ * directly in its config file. We do NOT rely on "go read another
221
+ * file" directives AI tools ignore them too often.
245
222
  *
246
- * Copilot doesn't follow "read another file" directives as
247
- * reliably, so we embed the full project-aware instructions
248
- * directly in this file.
223
+ * A shared helper generates the content; each tool function just
224
+ * sets the correct output path and tool-specific header.
249
225
  * ────────────────────────────────────────────────────────────── */
250
- function generateCopilotInstructions(config) {
226
+ /**
227
+ * Generate full project-aware instruction content for any AI tool.
228
+ * This is embedded directly in each tool's config file so the AI
229
+ * never has to follow a cross-file pointer.
230
+ */
231
+ function toolInstructionContent(config, toolName) {
251
232
  const frameworkDisplay = getFrameworkDisplay(config.frontendFramework);
252
233
  const testDisplay = config.testFramework === 'none' ? 'None configured' : config.testFramework;
253
234
  const patternsDisplay = config.appPatterns.length > 0 ? config.appPatterns.join(', ') : 'None selected';
254
- const content = `# ${config.projectName} — GitHub Copilot Instructions
235
+ return `# ${config.displayName} — ${toolName} Instructions
236
+
237
+ > Auto-generated by [NEXUS CLI](https://github.com/GDA-Africa/nexus-cli) v${version}.
238
+ > Full instructions also at \`.nexus/ai/instructions.md\`.
239
+
240
+ ---
241
+
242
+ ## 🚨 CRITICAL — Read This First (Onboarding Protocol)
243
+
244
+ This project uses the **NEXUS Documentation System** — 8 structured markdown files
245
+ in \`.nexus/docs/\` that describe every aspect of the project.
246
+
247
+ Each doc has YAML frontmatter with a \`status\` field:
248
+ - \`template\` — still has TODO placeholders, needs to be filled in
249
+ - \`populated\` — already filled in by a human or AI
250
+
251
+ ### STOP. Before doing ANYTHING the user asks, check the docs:
252
+
253
+ \`\`\`
254
+ If ANY .nexus/docs/ file has status: template → you MUST populate it FIRST.
255
+ Do NOT skip this. Do NOT go straight to the user's request.
256
+ This is a HARD REQUIREMENT, not a suggestion.
257
+ \`\`\`
255
258
 
256
- > Auto-generated by NEXUS CLI v${version}. Full instructions also at \`.nexus/ai/instructions.md\`.
259
+ **Step 1 Scan the codebase:** Read \`package.json\`, \`tsconfig.json\`, source files,
260
+ routes, data models, and tests to understand the project.
257
261
 
258
- ## Project: ${config.projectName}
262
+ **Step 2 — Auto-fill what you can infer** from the code:
263
+ - \`02_architecture.md\` — tech stack, directory structure, data flow
264
+ - \`03_data_contracts.md\` — schemas, types, validation from source code
265
+ - \`04_api_contracts.md\` — routes, endpoints, request/response shapes
266
+ - \`06_test_strategy.md\` — existing test setup, coverage, patterns
267
+ - \`07_implementation.md\` — current build state, what exists vs. planned
268
+ - \`08_deployment.md\` — CI/CD config, environment variables
269
+
270
+ **Step 3 — Ask the user** for things you cannot infer:
271
+ - \`01_vision.md\` — product vision, user personas, success metrics
272
+ - \`05_business_logic.md\` — business rules, algorithms, decision logic
273
+
274
+ **Step 4 — Update frontmatter** of each doc you fill in:
275
+ \`\`\`yaml
276
+ status: populated
277
+ confidence: high # or medium/low
278
+ last_updated: "YYYY-MM-DD"
279
+ \`\`\`
280
+
281
+ **Step 5 — THEN** proceed with whatever the user originally asked.
282
+
283
+ This only applies when docs have \`status: template\`. Once populated, work normally.
284
+
285
+ ---
286
+
287
+ ## Project: ${config.displayName}
259
288
 
260
289
  - **Type:** ${config.projectType}
261
290
  - **Framework:** ${frameworkDisplay}
@@ -264,12 +293,18 @@ function generateCopilotInstructions(config) {
264
293
  - **Package Manager:** ${config.packageManager}
265
294
  - **Patterns:** ${patternsDisplay}
266
295
 
267
- ## Read First
296
+ ## Documentation Map
268
297
 
269
- 1. \`.nexus/docs/01_vision.md\` what this project does
270
- 2. \`.nexus/docs/02_architecture.md\` — how it's built
271
- 3. \`.nexus/docs/07_implementation.md\` build order and file plan
272
- 4. \`.nexus/ai/instructions.md\` full AI agent rules
298
+ | # | File | Purpose |
299
+ |---|------|---------|
300
+ | 1 | \`.nexus/docs/01_vision.md\` | Product requirements, user stories |
301
+ | 2 | \`.nexus/docs/02_architecture.md\` | System design, tech stack |
302
+ | 3 | \`.nexus/docs/03_data_contracts.md\` | Database schemas, validation |
303
+ | 4 | \`.nexus/docs/04_api_contracts.md\` | Endpoints, interfaces |
304
+ | 5 | \`.nexus/docs/05_business_logic.md\` | Rules, algorithms, flows |
305
+ | 6 | \`.nexus/docs/06_test_strategy.md\` | Coverage targets, test types |
306
+ | 7 | \`.nexus/docs/07_implementation.md\` | Build order, file plan |
307
+ | 8 | \`.nexus/docs/08_deployment.md\` | Infrastructure, CI/CD |
273
308
 
274
309
  ## Code Rules
275
310
 
@@ -279,8 +314,32 @@ function generateCopilotInstructions(config) {
279
314
  - Conventional Commits — \`feat:\`, \`fix:\`, \`docs:\`, \`chore:\`
280
315
  - Test everything — \`tests/unit/\`
281
316
  - Validate: \`${getValidationCommand(config)}\`
317
+
318
+ ## Full Instructions
319
+
320
+ For the complete rule set (architecture rules, key directories, workflow),
321
+ read \`.nexus/ai/instructions.md\`.
282
322
  `;
283
- return { path: '.github/copilot-instructions.md', content };
323
+ }
324
+ function generateCursorRules(config) {
325
+ return { path: '.cursorrules', content: toolInstructionContent(config, 'Cursor') };
326
+ }
327
+ function generateWindsurfRules(config) {
328
+ return { path: '.windsurfrules', content: toolInstructionContent(config, 'Windsurf') };
329
+ }
330
+ function generateClineRules(config) {
331
+ return { path: '.clinerules', content: toolInstructionContent(config, 'Cline') };
332
+ }
333
+ function generateAgentsMd(config) {
334
+ return { path: 'AGENTS.md', content: toolInstructionContent(config, 'Claude Code / OpenAI Codex') };
335
+ }
336
+ /* ──────────────────────────────────────────────────────────────
337
+ * GitHub Copilot — requires .github/copilot-instructions.md
338
+ *
339
+ * Uses the same shared content as all other tools.
340
+ * ────────────────────────────────────────────────────────────── */
341
+ function generateCopilotInstructions(config) {
342
+ return { path: '.github/copilot-instructions.md', content: toolInstructionContent(config, 'GitHub Copilot') };
284
343
  }
285
344
  /* ──────────────────────────────────────────────────────────────
286
345
  * Helpers
@@ -1 +1 @@
1
- {"version":3,"file":"ai-config.js","sourceRoot":"","sources":["../../src/generators/ai-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-config.js","sourceRoot":"","sources":["../../src/generators/ai-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/generators/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,EAAE,CASpE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/generators/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,EAAE,CAapE"}
@@ -12,28 +12,68 @@ export function generateConfigs(config) {
12
12
  files.push(generateEslintConfig());
13
13
  files.push(generatePrettierConfig());
14
14
  files.push(generateEditorConfig());
15
+ // Framework-specific config files
16
+ const frameworkConfigs = generateFrameworkConfigs(config);
17
+ files.push(...frameworkConfigs);
15
18
  return files;
16
19
  }
17
- function generateTsConfig(_config) {
18
- const tsconfig = {
19
- compilerOptions: {
20
- target: 'ES2022',
21
- module: 'NodeNext',
22
- moduleResolution: 'NodeNext',
23
- lib: ['ES2022', 'DOM', 'DOM.Iterable'],
24
- strict: true,
25
- esModuleInterop: true,
26
- skipLibCheck: true,
27
- forceConsistentCasingInFileNames: true,
28
- resolveJsonModule: true,
29
- isolatedModules: true,
30
- noEmit: true,
31
- jsx: 'preserve',
32
- incremental: true,
33
- },
34
- include: ['src/**/*.ts', 'src/**/*.tsx'],
35
- exclude: ['node_modules', 'dist'],
20
+ function generateTsConfig(config) {
21
+ // Base compiler options shared by all frameworks
22
+ const compilerOptions = {
23
+ target: 'ES2022',
24
+ lib: ['ES2022', 'DOM', 'DOM.Iterable'],
25
+ strict: true,
26
+ esModuleInterop: true,
27
+ skipLibCheck: true,
28
+ forceConsistentCasingInFileNames: true,
29
+ resolveJsonModule: true,
30
+ isolatedModules: true,
31
+ noEmit: true,
36
32
  };
33
+ const include = ['src/**/*.ts', 'src/**/*.tsx'];
34
+ const exclude = ['node_modules', 'dist'];
35
+ // Framework-specific overrides
36
+ switch (config.frontendFramework) {
37
+ case 'nextjs':
38
+ compilerOptions.module = 'ESNext';
39
+ compilerOptions.moduleResolution = 'Bundler';
40
+ compilerOptions.jsx = 'preserve';
41
+ compilerOptions.incremental = true;
42
+ compilerOptions.plugins = [{ name: 'next' }];
43
+ include.push('next-env.d.ts', '.next/types/**/*.ts');
44
+ break;
45
+ case 'react-vite':
46
+ case 'remix':
47
+ compilerOptions.module = 'ESNext';
48
+ compilerOptions.moduleResolution = 'Bundler';
49
+ compilerOptions.jsx = 'react-jsx';
50
+ break;
51
+ case 'sveltekit':
52
+ compilerOptions.module = 'ESNext';
53
+ compilerOptions.moduleResolution = 'Bundler';
54
+ include.length = 0;
55
+ include.push('src/**/*.ts', 'src/**/*.svelte');
56
+ break;
57
+ case 'nuxt':
58
+ // Nuxt auto-generates its own tsconfig; provide a minimal one
59
+ compilerOptions.module = 'ESNext';
60
+ compilerOptions.moduleResolution = 'Bundler';
61
+ compilerOptions.jsx = 'preserve';
62
+ break;
63
+ case 'astro':
64
+ compilerOptions.module = 'ESNext';
65
+ compilerOptions.moduleResolution = 'Bundler';
66
+ compilerOptions.jsx = 'react-jsx';
67
+ include.push('src/**/*.astro');
68
+ break;
69
+ default:
70
+ compilerOptions.module = 'NodeNext';
71
+ compilerOptions.moduleResolution = 'NodeNext';
72
+ compilerOptions.jsx = 'preserve';
73
+ compilerOptions.incremental = true;
74
+ break;
75
+ }
76
+ const tsconfig = { compilerOptions, include, exclude };
37
77
  return {
38
78
  path: 'tsconfig.json',
39
79
  content: JSON.stringify(tsconfig, null, 2) + '\n',
@@ -89,4 +129,72 @@ trim_trailing_whitespace = false
89
129
  `,
90
130
  };
91
131
  }
132
+ /* ──────────────────────────────────────────────────────────────
133
+ * Framework-specific config files (vite.config.ts, svelte.config.js, etc.)
134
+ * ────────────────────────────────────────────────────────────── */
135
+ function generateFrameworkConfigs(config) {
136
+ switch (config.frontendFramework) {
137
+ case 'react-vite':
138
+ return [generateViteConfigReact()];
139
+ case 'sveltekit':
140
+ return [generateSvelteConfig(), generateViteConfigSvelte()];
141
+ case 'astro':
142
+ return [generateAstroConfig()];
143
+ default:
144
+ return [];
145
+ }
146
+ }
147
+ function generateViteConfigReact() {
148
+ return {
149
+ path: 'vite.config.ts',
150
+ content: `import { defineConfig } from 'vite';
151
+ import react from '@vitejs/plugin-react';
152
+
153
+ // https://vite.dev/config/
154
+ export default defineConfig({
155
+ plugins: [react()],
156
+ });
157
+ `,
158
+ };
159
+ }
160
+ function generateViteConfigSvelte() {
161
+ return {
162
+ path: 'vite.config.ts',
163
+ content: `import { sveltekit } from '@sveltejs/kit/vite';
164
+ import { defineConfig } from 'vite';
165
+
166
+ export default defineConfig({
167
+ plugins: [sveltekit()],
168
+ });
169
+ `,
170
+ };
171
+ }
172
+ function generateSvelteConfig() {
173
+ return {
174
+ path: 'svelte.config.js',
175
+ content: `import adapter from '@sveltejs/adapter-auto';
176
+ import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
177
+
178
+ /** @type {import('@sveltejs/kit').Config} */
179
+ const config = {
180
+ preprocess: vitePreprocess(),
181
+ kit: {
182
+ adapter: adapter(),
183
+ },
184
+ };
185
+
186
+ export default config;
187
+ `,
188
+ };
189
+ }
190
+ function generateAstroConfig() {
191
+ return {
192
+ path: 'astro.config.mjs',
193
+ content: `import { defineConfig } from 'astro/config';
194
+
195
+ // https://astro.build/config
196
+ export default defineConfig({});
197
+ `,
198
+ };
199
+ }
92
200
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/generators/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAoB;IAC5C,MAAM,QAAQ,GAAG;QACf,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,UAAU;YAC5B,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC;YACtC,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,gCAAgC,EAAE,IAAI;YACtC,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,UAAU;YACf,WAAW,EAAE,IAAI;SAClB;QACD,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;QACxC,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC;KAClC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;CAejB,CAAC;IAEA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,IAAI;QACV,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;;;;;;;;;;;;CAYZ;KACE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/generators/config.ts"],"names":[],"mappings":"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"}