@swovohq/fuel 0.2.2-alpha.91 → 0.2.2-alpha.93

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 (36) hide show
  1. package/README.md +107 -11
  2. package/dist/bin/fuel.js +61 -0
  3. package/dist/bin/fuel.js.map +1 -1
  4. package/dist/commands/generate-module.d.ts +7 -0
  5. package/dist/commands/generate-module.d.ts.map +1 -0
  6. package/dist/commands/generate-module.js +180 -0
  7. package/dist/commands/generate-module.js.map +1 -0
  8. package/dist/generators/module/index.d.ts +7 -0
  9. package/dist/generators/module/index.d.ts.map +1 -0
  10. package/dist/generators/module/index.js +86 -0
  11. package/dist/generators/module/index.js.map +1 -0
  12. package/dist/generators/module/register.d.ts +4 -0
  13. package/dist/generators/module/register.d.ts.map +1 -0
  14. package/dist/generators/module/register.js +124 -0
  15. package/dist/generators/module/register.js.map +1 -0
  16. package/dist/generators/module/render.d.ts +10 -0
  17. package/dist/generators/module/render.d.ts.map +1 -0
  18. package/dist/generators/module/render.js +19 -0
  19. package/dist/generators/module/render.js.map +1 -0
  20. package/dist/generators/module/skill.d.ts +3 -0
  21. package/dist/generators/module/skill.d.ts.map +1 -0
  22. package/dist/generators/module/skill.js +223 -0
  23. package/dist/generators/module/skill.js.map +1 -0
  24. package/dist/generators/module/templates/api.d.ts +14 -0
  25. package/dist/generators/module/templates/api.d.ts.map +1 -0
  26. package/dist/generators/module/templates/api.js +363 -0
  27. package/dist/generators/module/templates/api.js.map +1 -0
  28. package/dist/generators/module/templates/types-pkg.d.ts +7 -0
  29. package/dist/generators/module/templates/types-pkg.d.ts.map +1 -0
  30. package/dist/generators/module/templates/types-pkg.js +56 -0
  31. package/dist/generators/module/templates/types-pkg.js.map +1 -0
  32. package/dist/generators/module/templates/web.d.ts +16 -0
  33. package/dist/generators/module/templates/web.d.ts.map +1 -0
  34. package/dist/generators/module/templates/web.js +573 -0
  35. package/dist/generators/module/templates/web.js.map +1 -0
  36. package/package.json +1 -1
package/README.md CHANGED
@@ -23,6 +23,14 @@ fuel create:app my-app
23
23
  fuel create:app my-app -m billing,documents
24
24
  ```
25
25
 
26
+ ### Add a new module to an existing project
27
+
28
+ ```bash
29
+ cd my-app
30
+ fuel generate:module dashboard # full-stack CRUD scaffold
31
+ fuel g:m analytics --admin # include admin controller variant
32
+ ```
33
+
26
34
  ### Full ECS provisioning (scaffold + cloud infra)
27
35
 
28
36
  ```bash
@@ -39,17 +47,18 @@ fuel infra:deploy --config fuel.yml # Step 2: provision infrastructure
39
47
 
40
48
  ## Commands
41
49
 
42
- | Command | Description |
43
- | --------------------------- | ---------------------------------------------------------------- |
44
- | `fuel list:modules` | List available modules |
45
- | `fuel config:verify <path>` | Validate `fuel.yml` and run preflight checks |
46
- | `fuel create:app <name>` | Scaffold a new app from the monorepo template |
47
- | `fuel infra:init` | Generate `fuel.yml` and `.fuel-credentials` interactively |
48
- | `fuel auth:init` | Generate `.fuel-credentials` interactively (credentials only) |
49
- | `fuel infra:deploy` | Run or resume infrastructure provisioning |
50
- | `fuel infra:pull` | Pull `fuel.yml` from AWS Secrets Manager for an existing project |
51
- | `fuel infra:destroy` | Tear down all provisioned cloud resources |
52
- | `fuel migrate:init` | Generate and run database migrations |
50
+ | Command | Description |
51
+ | ------------------------------ | ------------------------------------------------------------------ |
52
+ | `fuel list:modules` | List available modules |
53
+ | `fuel config:verify <path>` | Validate `fuel.yml` and run preflight checks |
54
+ | `fuel create:app <name>` | Scaffold a new app from the monorepo template |
55
+ | `fuel generate:module <name>` | Generate a full-stack CRUD module in an existing project |
56
+ | `fuel infra:init` | Generate `fuel.yml` and `.fuel-credentials` interactively |
57
+ | `fuel auth:init` | Generate `.fuel-credentials` interactively (credentials only) |
58
+ | `fuel infra:deploy` | Run or resume infrastructure provisioning |
59
+ | `fuel infra:pull` | Pull `fuel.yml` from AWS Secrets Manager for an existing project |
60
+ | `fuel infra:destroy` | Tear down all provisioned cloud resources |
61
+ | `fuel migrate:init` | Generate and run database migrations |
53
62
 
54
63
  ## `create:app`
55
64
 
@@ -227,6 +236,93 @@ fuel migrate:init [options]
227
236
  | `-p, --path <path>` | Path to project root |
228
237
  | `--skip-commit` | Skip the git commit after migrations |
229
238
 
239
+ ## `generate:module`
240
+
241
+ Generates a full-stack CRUD module inside an existing Fuel project. Run from your project root (or pass `--path`).
242
+
243
+ ```bash
244
+ fuel generate:module <name> [options]
245
+ fuel g:m <name> [options] # alias
246
+ ```
247
+
248
+ | Flag | Description |
249
+ |---|---|
250
+ | `--admin` | Also generate admin controller and module files |
251
+ | `-p, --path <path>` | Path to project root (defaults to current directory) |
252
+ | `--dry-run` | Preview files that would be generated without writing anything |
253
+
254
+ **What it generates** (example: `fuel generate:module dashboard`):
255
+
256
+ *API layer* — `apps/api/src/dashboard/`
257
+
258
+ | File | Contents |
259
+ |---|---|
260
+ | `dashboard.module.ts` | NestJS `@Module` — registers entity, service, repository, controller |
261
+ | `dashboard.controller.ts` | `GET /dashboard`, `GET /dashboard/:id`, `POST`, `PUT /dashboard/:id`, `DELETE /dashboard/:id` |
262
+ | `dashboard.service.ts` | Business logic delegating to repository, typed exception throws |
263
+ | `dashboard.repository.ts` | TypeORM data access with paginated `findAll` and CRUD |
264
+ | `entities/dashboard-item.entity.ts` | TypeORM entity: `id`, `name`, `organizationId`, timestamps |
265
+ | `dto/create-dashboard.dto.ts` | `class-validator` + `@ApiProperty` DTO |
266
+ | `dto/update-dashboard.dto.ts` | `PartialType(CreateDashboardDto)` |
267
+ | `dto/dashboard-list-query.dto.ts` | Pagination + search + sort query params |
268
+ | `exceptions/dashboard-exceptions.ts` | `DashboardItemNotFoundException` |
269
+
270
+ *Web layer* — `apps/web/src/`
271
+
272
+ | File | Contents |
273
+ |---|---|
274
+ | `api/dashboard.ts` | Typed fetch functions: `Get/Create/Update/DeleteDashboardItemEndpoint` |
275
+ | `hooks/dashboard/use-dashboard-items.ts` | `useQuery` list hook with pagination/search/sort |
276
+ | `hooks/dashboard/use-create-dashboard-item.ts` | `useMutation` + cache invalidation |
277
+ | `hooks/dashboard/use-delete-dashboard-item.ts` | `useMutation` + cache invalidation |
278
+ | `components/dashboard/dashboard-context.tsx` | TanStack Table + `useQueryState` (nuqs) context |
279
+ | `components/dashboard/dashboard-table.tsx` | Client component consuming context |
280
+ | `components/dashboard/create-dashboard-item-drawer.tsx` | `react-hook-form` + `zod` create form |
281
+ | `components/dashboard/index.ts` | Barrel exports |
282
+ | `app/(dashboard)/dashboard/page.tsx` | Next.js server component page |
283
+ | `app/(dashboard)/dashboard/layout.tsx` | Layout wrapper |
284
+ | `app/(dashboard)/dashboard/dashboard-client-layout.tsx` | Client layout with `ContextProvider` |
285
+
286
+ *Types package* — `packages/types/dashboard/` (`package.json`, `tsconfig.json`, `src/types.ts`, `src/index.ts`)
287
+
288
+ **Auto-registration**: the new NestJS module is automatically imported and added to `apps/api/src/app.module.ts`.
289
+
290
+ **After generating**, run migrations:
291
+
292
+ ```bash
293
+ yarn workspace api database:migration:generate
294
+ yarn workspace api database:migration:run
295
+ ```
296
+
297
+ **Examples:**
298
+
299
+ ```bash
300
+ fuel generate:module dashboard # generate a dashboard module
301
+ fuel g:m analytics --admin # include admin controller + module
302
+ fuel generate:module audit-log --dry-run # preview without writing files
303
+ fuel generate:module reports -p ./my-app # run from outside the project
304
+ ```
305
+
306
+ ### AI-First Workflow with Claude Code
307
+
308
+ Every `generate:module` run also writes (or updates) a skill guide at
309
+ `.claude/skills/fuel-module/SKILL.md` inside your project.
310
+
311
+ Open Claude Code from your project root and invoke the skill:
312
+
313
+ ```text
314
+ /fuel-module
315
+ ```
316
+
317
+ The skill teaches your AI agent:
318
+ - The exact purpose of every generated file
319
+ - The Fuel module architectural patterns (NestJS + Next.js)
320
+ - How to add endpoints, form fields, and table columns
321
+ - How to wire up the design system Drawer for the create form
322
+
323
+ The skill is updated automatically each time you add a new module, so it always
324
+ reflects the full list of Fuel-generated modules in your project.
325
+
230
326
  ## Configuration Schema
231
327
 
232
328
  `fuel.yml` includes a JSON Schema reference for editor autocompletion. When using VS Code with the [YAML extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml), you get autocomplete, validation, and inline documentation automatically.
package/dist/bin/fuel.js CHANGED
@@ -39,6 +39,7 @@ const fs = __importStar(require("fs-extra"));
39
39
  const path = __importStar(require("path"));
40
40
  const config_verify_1 = require("../commands/config-verify");
41
41
  const create_app_1 = require("../commands/create-app");
42
+ const generate_module_1 = require("../commands/generate-module");
42
43
  const infra_deploy_1 = require("../commands/infra-deploy");
43
44
  const infra_destroy_1 = require("../commands/infra-destroy");
44
45
  const infra_init_1 = require("../commands/infra-init");
@@ -506,5 +507,65 @@ To re-provision after destroying:
506
507
  process.exit(1);
507
508
  }
508
509
  });
510
+ program
511
+ .command('generate:module <name>')
512
+ .alias('g:m')
513
+ .description('Generate a new full-stack CRUD module in an existing Fuel project.\n\n' +
514
+ ' Scaffolds the NestJS API layer (module, controller, service, repository,\n' +
515
+ ' entity, DTOs, exceptions), the Next.js web layer (context, table, drawer,\n' +
516
+ ' hooks, API endpoints, page/layout), and a types package entry.\n\n' +
517
+ ' Auto-registers the new NestJS module in apps/api/src/app.module.ts and\n' +
518
+ ' writes an AI-first skill guide to .claude/skills/fuel-module/SKILL.md so\n' +
519
+ ' your AI agent (Claude Code) understands the generated code from day one.')
520
+ .option('--admin', 'Also generate admin controller and admin module files.')
521
+ .option('-p, --path <path>', 'Path to the project root. Defaults to the current directory.')
522
+ .option('--dry-run', 'Preview files that would be generated without writing anything.')
523
+ .addHelpText('after', `
524
+ What it generates (example: fuel generate:module dashboard):
525
+
526
+ API (apps/api/src/dashboard/)
527
+ dashboard.module.ts NestJS @Module
528
+ dashboard.controller.ts GET / GET /:id / POST / PUT /:id / DELETE /:id
529
+ dashboard.service.ts Business logic
530
+ dashboard.repository.ts TypeORM data access
531
+ entities/dashboard-item.entity.ts
532
+ dto/create-dashboard.dto.ts
533
+ dto/update-dashboard.dto.ts
534
+ dto/dashboard-list-query.dto.ts
535
+ exceptions/dashboard-exceptions.ts
536
+
537
+ Web (apps/web/src/)
538
+ api/dashboard.ts Typed fetch functions
539
+ hooks/dashboard/ use-dashboard-items, use-create-*, use-delete-*
540
+ components/dashboard/ context, table, drawer, index
541
+ app/(dashboard)/dashboard/ page, layout, client-layout
542
+
543
+ Types (packages/types/dashboard/)
544
+ src/types.ts DashboardItem interface
545
+ src/index.ts
546
+ package.json + tsconfig.json
547
+
548
+ AI Skill (.claude/skills/fuel-module/SKILL.md)
549
+ Invoke with /fuel-module in Claude Code for module-aware AI guidance.
550
+
551
+ Examples:
552
+ fuel generate:module dashboard Generate a dashboard module
553
+ fuel g:m analytics --admin Include admin controller + module
554
+ fuel generate:module audit-log --dry-run Preview without writing files
555
+ fuel generate:module reports -p ./my-app Run from outside the project`)
556
+ .action(async (name, opts) => {
557
+ try {
558
+ await (0, generate_module_1.generateModule)(name, {
559
+ admin: opts.admin,
560
+ path: opts.path,
561
+ dryRun: opts.dryRun,
562
+ });
563
+ process.exit(0);
564
+ }
565
+ catch (error) {
566
+ console.error(`\n Error: ${error instanceof Error ? error.message : String(error)}\n`);
567
+ process.exit(1);
568
+ }
569
+ });
509
570
  program.parse();
510
571
  //# sourceMappingURL=fuel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fuel.js","sourceRoot":"","sources":["../../src/bin/fuel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fuel.js","sourceRoot":"","sources":["../../src/bin/fuel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface GenerateModuleOptions {
2
+ admin?: boolean;
3
+ path?: string;
4
+ dryRun?: boolean;
5
+ }
6
+ export declare function generateModule(rawName: string, options: GenerateModuleOptions): Promise<void>;
7
+ //# sourceMappingURL=generate-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-module.d.ts","sourceRoot":"","sources":["../../src/commands/generate-module.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAiCD,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Lf"}
@@ -0,0 +1,180 @@
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.generateModule = generateModule;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const fs = __importStar(require("fs-extra"));
42
+ const path = __importStar(require("path"));
43
+ const module_1 = require("../generators/module");
44
+ const register_1 = require("../generators/module/register");
45
+ const render_1 = require("../generators/module/render");
46
+ const skill_1 = require("../generators/module/skill");
47
+ function validateName(name) {
48
+ const normalized = name
49
+ .toLowerCase()
50
+ .replace(/[^a-z0-9-]/g, '-')
51
+ .replace(/-+/g, '-')
52
+ .replace(/^-+|-+$/g, '');
53
+ if (!normalized || !/^[a-z]/.test(normalized)) {
54
+ throw new Error(`Invalid module name: "${name}". Use lowercase letters, numbers, and hyphens (e.g. "dashboard", "audit-log").`);
55
+ }
56
+ return normalized;
57
+ }
58
+ async function assertFuelAppLayout(projectRoot) {
59
+ const required = [
60
+ path.join(projectRoot, 'apps', 'api', 'src', 'app.module.ts'),
61
+ path.join(projectRoot, 'apps', 'web', 'src'),
62
+ path.join(projectRoot, 'packages', 'types'),
63
+ ];
64
+ for (const p of required) {
65
+ if (!(await fs.pathExists(p))) {
66
+ throw new Error(`"${projectRoot}" does not look like a Fuel app (missing ${path.relative(projectRoot, p)}). Run this command from your Fuel project root or pass --path.`);
67
+ }
68
+ }
69
+ }
70
+ async function generateModule(rawName, options) {
71
+ const kebab = validateName(rawName);
72
+ const vars = (0, render_1.toModuleVars)(kebab);
73
+ const projectRoot = options.path
74
+ ? path.resolve(options.path)
75
+ : process.cwd();
76
+ const hasPackageJson = await fs.pathExists(path.join(projectRoot, 'package.json'));
77
+ if (!hasPackageJson) {
78
+ throw new Error(`No package.json found at "${projectRoot}". Run this command from your project root or pass --path.`);
79
+ }
80
+ await assertFuelAppLayout(projectRoot);
81
+ const apiModuleDir = path.join(projectRoot, 'apps', 'api', 'src', vars.kebab);
82
+ const completionMarker = path.join(apiModuleDir, '.fuel-module.json');
83
+ const inProgressMarker = path.join(apiModuleDir, '.fuel-module.lock.json');
84
+ if (await fs.pathExists(apiModuleDir)) {
85
+ if (await fs.pathExists(completionMarker)) {
86
+ console.warn(chalk_1.default.yellow(`\n Warning: "${vars.kebab}" already exists at ${path.relative(projectRoot, apiModuleDir)}. Skipping.\n`));
87
+ return;
88
+ }
89
+ // The directory exists but generation never completed. Only resume when
90
+ // it's ours to resume — an in-progress manifest for this same module —
91
+ // so an unrelated pre-existing directory of the same name is never
92
+ // silently overwritten.
93
+ if (!(await fs.pathExists(inProgressMarker))) {
94
+ throw new Error(`"${path.relative(projectRoot, apiModuleDir)}" already exists and was not created by this generator (no in-progress manifest found). Remove it or choose a different module name.`);
95
+ }
96
+ const inProgress = await fs.readJson(inProgressMarker);
97
+ if (inProgress.module !== vars.kebab) {
98
+ throw new Error(`"${path.relative(projectRoot, apiModuleDir)}" contains an in-progress manifest for a different module ("${inProgress.module}"). Remove it or choose a different module name.`);
99
+ }
100
+ }
101
+ const files = (0, module_1.buildModuleFiles)(projectRoot, vars, !!options.admin);
102
+ if (options.dryRun) {
103
+ console.log(chalk_1.default.cyan('\n Dry run — files that would be generated:\n'));
104
+ for (const f of files) {
105
+ console.log(chalk_1.default.dim(` ${path.relative(projectRoot, f.filePath)}`));
106
+ }
107
+ console.log(chalk_1.default.cyan(`\n app.module.ts would be patched to register ${vars.pascal}Module`));
108
+ if (options.admin) {
109
+ console.log(chalk_1.default.cyan(` app.module.ts would be patched to register Admin${vars.pascal}Module`));
110
+ }
111
+ console.log(chalk_1.default.cyan(`\n .claude/skills/fuel-module/SKILL.md would be created/updated\n`));
112
+ return;
113
+ }
114
+ // Claim ownership of the module directory before writing anything, so a
115
+ // pre-existing unrelated directory of the same name is never mistaken for
116
+ // an incomplete prior run on a later invocation.
117
+ await fs.ensureDir(apiModuleDir);
118
+ await fs.writeJson(inProgressMarker, { module: vars.kebab, admin: !!options.admin, startedAt: new Date().toISOString() }, { spaces: 2 });
119
+ // Write generated files
120
+ for (const { filePath, content } of files) {
121
+ await fs.ensureDir(path.dirname(filePath));
122
+ await fs.writeFile(filePath, content, 'utf-8');
123
+ }
124
+ // Patch app.module.ts — fatal on failure: a module that isn't wired into
125
+ // app.module.ts won't actually load, so silently continuing here would
126
+ // report success for a module that doesn't work.
127
+ await (0, register_1.registerInAppModule)(projectRoot, vars, !!options.admin);
128
+ // Add the generated types package as a web dependency. Best-effort: the
129
+ // web layer's import will fail to resolve until this is added, but a
130
+ // missing/reshaped apps/web/package.json is easy to patch by hand.
131
+ let webTypesRegistered = true;
132
+ try {
133
+ await (0, register_1.registerWebTypesDependency)(projectRoot, vars);
134
+ }
135
+ catch (err) {
136
+ webTypesRegistered = false;
137
+ console.warn(chalk_1.default.yellow(`\n Warning: Could not add @fuel/${vars.kebab}-types to apps/web/package.json: ${err instanceof Error ? err.message : String(err)}`));
138
+ console.warn(chalk_1.default.yellow(` Add "@fuel/${vars.kebab}-types": "*" to apps/web/package.json dependencies manually.\n`));
139
+ }
140
+ // Write/update Claude Code skill
141
+ await (0, skill_1.updateSkill)(projectRoot, vars, !!options.admin);
142
+ // Mark this module's generation as complete so a later re-run can tell a
143
+ // finished module apart from one that failed partway through and resume.
144
+ // Skipped when the web types dependency failed to register: leaving the
145
+ // marker absent lets a re-run retry that step instead of reporting a
146
+ // fully successful generation that still needs manual follow-up.
147
+ if (webTypesRegistered) {
148
+ await fs.writeJson(completionMarker, {
149
+ module: vars.kebab,
150
+ admin: !!options.admin,
151
+ generatedAt: new Date().toISOString(),
152
+ }, { spaces: 2 });
153
+ }
154
+ else {
155
+ console.warn(chalk_1.default.yellow(` Re-run "fuel generate:module ${vars.kebab}" after fixing apps/web/package.json to finish registration.\n`));
156
+ }
157
+ // Success output
158
+ const rel = (p) => path.relative(projectRoot, p);
159
+ const apiDir = path.join(projectRoot, 'apps', 'api', 'src', vars.kebab);
160
+ console.log(webTypesRegistered
161
+ ? chalk_1.default.green(`\n ✓ ${files.length} files generated for module "${vars.kebab}"\n`)
162
+ : chalk_1.default.yellow(`\n ⚠ ${files.length} files generated for module "${vars.kebab}" (with warnings)\n`));
163
+ console.log(chalk_1.default.dim(` API ${rel(apiDir)}/`));
164
+ console.log(chalk_1.default.dim(` Web apps/web/src/components/${vars.kebab}/`));
165
+ console.log(chalk_1.default.dim(` apps/web/src/hooks/${vars.kebab}/`));
166
+ console.log(chalk_1.default.dim(` apps/web/src/app/(dashboard)/${vars.kebab}/`));
167
+ console.log(chalk_1.default.dim(` Types packages/types/${vars.kebab}/`));
168
+ if (options.admin) {
169
+ console.log(chalk_1.default.dim(` Admin ${rel(apiDir)}/admin-${vars.kebab}.module.ts`));
170
+ }
171
+ console.log(chalk_1.default.dim(` Skill .claude/skills/fuel-module/SKILL.md`));
172
+ console.log(chalk_1.default.bold('\n Next steps:\n'));
173
+ console.log(chalk_1.default.dim(` 1. Generate a migration yarn workspace api database:migration:generate`));
174
+ console.log(chalk_1.default.dim(` 2. Run migrations yarn workspace api database:migration:run`));
175
+ console.log(chalk_1.default.dim(` 3. Add business logic apps/api/src/${vars.kebab}/${vars.kebab}.service.ts`));
176
+ console.log(chalk_1.default.dim(` 4. Extend the UI apps/web/src/components/${vars.kebab}/`));
177
+ console.log(chalk_1.default.dim(` 5. AI guidance in Claude /fuel-module`));
178
+ console.log('');
179
+ }
180
+ //# sourceMappingURL=generate-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-module.js","sourceRoot":"","sources":["../../src/commands/generate-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type ModuleVars } from './render';
2
+ export interface FileEntry {
3
+ filePath: string;
4
+ content: string;
5
+ }
6
+ export declare function buildModuleFiles(projectRoot: string, vars: ModuleVars, withAdmin: boolean): FileEntry[];
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/module/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AAKlD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,OAAO,GACjB,SAAS,EAAE,CAuDb"}
@@ -0,0 +1,86 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.buildModuleFiles = buildModuleFiles;
37
+ const path = __importStar(require("path"));
38
+ const render_1 = require("./render");
39
+ const api_1 = require("./templates/api");
40
+ const web_1 = require("./templates/web");
41
+ const types_pkg_1 = require("./templates/types-pkg");
42
+ function buildModuleFiles(projectRoot, vars, withAdmin) {
43
+ const r = (tmpl) => (0, render_1.render)(tmpl, vars);
44
+ const api = path.join(projectRoot, 'apps', 'api', 'src', vars.kebab);
45
+ const web = path.join(projectRoot, 'apps', 'web', 'src');
46
+ const types = path.join(projectRoot, 'packages', 'types', vars.kebab);
47
+ const files = [
48
+ // API — module
49
+ { filePath: path.join(api, `${vars.kebab}.module.ts`), content: r(api_1.apiTemplates.module) },
50
+ { filePath: path.join(api, `${vars.kebab}.controller.ts`), content: r(api_1.apiTemplates.controller) },
51
+ { filePath: path.join(api, `${vars.kebab}.service.ts`), content: r(api_1.apiTemplates.service) },
52
+ { filePath: path.join(api, `${vars.kebab}.repository.ts`), content: r(api_1.apiTemplates.repository) },
53
+ { filePath: path.join(api, 'entities', `${vars.kebab}-item.entity.ts`), content: r(api_1.apiTemplates.entity) },
54
+ { filePath: path.join(api, 'dto', `create-${vars.kebab}.dto.ts`), content: r(api_1.apiTemplates.dtoCreate) },
55
+ { filePath: path.join(api, 'dto', `update-${vars.kebab}.dto.ts`), content: r(api_1.apiTemplates.dtoUpdate) },
56
+ { filePath: path.join(api, 'dto', `${vars.kebab}-list-query.dto.ts`), content: r(api_1.apiTemplates.dtoListQuery) },
57
+ { filePath: path.join(api, 'exceptions', `${vars.kebab}-exceptions.ts`), content: r(api_1.apiTemplates.exceptions) },
58
+ // Web — API layer
59
+ { filePath: path.join(web, 'api', `${vars.kebab}.ts`), content: r(web_1.webTemplates.apiEndpoints) },
60
+ // Web — hooks
61
+ { filePath: path.join(web, 'hooks', vars.kebab, `use-${vars.kebab}-items.ts`), content: r(web_1.webTemplates.useItemsHook) },
62
+ { filePath: path.join(web, 'hooks', vars.kebab, `use-create-${vars.kebab}-item.ts`), content: r(web_1.webTemplates.useCreateHook) },
63
+ { filePath: path.join(web, 'hooks', vars.kebab, `use-update-${vars.kebab}-item.ts`), content: r(web_1.webTemplates.useUpdateHook) },
64
+ { filePath: path.join(web, 'hooks', vars.kebab, `use-delete-${vars.kebab}-item.ts`), content: r(web_1.webTemplates.useDeleteHook) },
65
+ // Web — components
66
+ { filePath: path.join(web, 'components', vars.kebab, `${vars.kebab}-context.tsx`), content: r(web_1.webTemplates.context) },
67
+ { filePath: path.join(web, 'components', vars.kebab, `${vars.kebab}-table.tsx`), content: r(web_1.webTemplates.table) },
68
+ { filePath: path.join(web, 'components', vars.kebab, `create-${vars.kebab}-item-drawer.tsx`), content: r(web_1.webTemplates.createDrawer) },
69
+ { filePath: path.join(web, 'components', vars.kebab, `update-${vars.kebab}-item-drawer.tsx`), content: r(web_1.webTemplates.updateDrawer) },
70
+ { filePath: path.join(web, 'components', vars.kebab, 'index.ts'), content: r(web_1.webTemplates.index) },
71
+ // Web — pages
72
+ { filePath: path.join(web, 'app', '(dashboard)', vars.kebab, 'page.tsx'), content: r(web_1.webTemplates.page) },
73
+ { filePath: path.join(web, 'app', '(dashboard)', vars.kebab, 'layout.tsx'), content: r(web_1.webTemplates.layout) },
74
+ { filePath: path.join(web, 'app', '(dashboard)', vars.kebab, `${vars.kebab}-client-layout.tsx`), content: r(web_1.webTemplates.clientLayout) },
75
+ // Types package
76
+ { filePath: path.join(types, 'package.json'), content: r(types_pkg_1.typesPkgTemplates.packageJson) },
77
+ { filePath: path.join(types, 'tsconfig.json'), content: r(types_pkg_1.typesPkgTemplates.tsconfig) },
78
+ { filePath: path.join(types, 'src', 'index.ts'), content: r(types_pkg_1.typesPkgTemplates.srcIndex) },
79
+ { filePath: path.join(types, 'src', 'types.ts'), content: r(types_pkg_1.typesPkgTemplates.srcTypes) },
80
+ ];
81
+ if (withAdmin) {
82
+ files.push({ filePath: path.join(api, `admin-${vars.kebab}.controller.ts`), content: r(api_1.apiTemplates.adminController) }, { filePath: path.join(api, `admin-${vars.kebab}.module.ts`), content: r(api_1.apiTemplates.adminModule) });
83
+ }
84
+ return files;
85
+ }
86
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/module/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ModuleVars } from './render';
2
+ export declare function registerInAppModule(projectRoot: string, vars: ModuleVars, withAdmin: boolean): Promise<void>;
3
+ export declare function registerWebTypesDependency(projectRoot: string, vars: ModuleVars): Promise<void>;
4
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/generators/module/register.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAoFf;AAiBD,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAwBf"}