create-auto-app 0.13.3 → 0.15.0

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/src/index.js CHANGED
@@ -1,29 +1,16 @@
1
1
  #!/usr/bin/env node
2
- import { program } from 'commander';
3
- import inquirer from 'inquirer';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { generateId } from '@auto-engineer/id';
4
5
  import chalk from 'chalk';
5
- import ora from 'ora';
6
+ import { program } from 'commander';
6
7
  import { execa } from 'execa';
7
8
  import fs from 'fs-extra';
8
- import path from 'path';
9
- import { fileURLToPath } from 'url';
10
- import { generateId } from '@auto-engineer/id';
9
+ import inquirer from 'inquirer';
10
+ import ora from 'ora';
11
11
  const __filename = fileURLToPath(import.meta.url);
12
12
  const __dirname = path.dirname(__filename);
13
- const AUTO_ENGINEER_PACKAGES = [
14
- '@auto-engineer/message-bus',
15
- '@auto-engineer/server-checks',
16
- '@auto-engineer/design-system-importer',
17
- '@auto-engineer/server-generator-apollo-emmett',
18
- '@auto-engineer/narrative',
19
- '@auto-engineer/frontend-checks',
20
- '@auto-engineer/frontend-implementer',
21
- '@auto-engineer/component-implementer',
22
- '@auto-engineer/information-architect',
23
- '@auto-engineer/frontend-generator-react-graphql',
24
- '@auto-engineer/server-implementer',
25
- ];
26
- const MINIMAL_PACKAGES = ['@auto-engineer/narrative', '@auto-engineer/server-generator-apollo-emmett'];
13
+ const DEFAULT_TEMPLATE = 'kanban-todo';
27
14
  async function detectPackageManager() {
28
15
  try {
29
16
  await execa('pnpm', ['--version']);
@@ -48,55 +35,81 @@ async function getLatestVersion(packageName) {
48
35
  return 'latest';
49
36
  }
50
37
  }
38
+ function extractAutoEngineerPackages(pkg) {
39
+ const packages = new Set();
40
+ const deps = pkg.dependencies;
41
+ const devDeps = pkg.devDependencies;
42
+ if (deps !== undefined) {
43
+ for (const name of Object.keys(deps)) {
44
+ if (name.startsWith('@auto-engineer/')) {
45
+ packages.add(name);
46
+ }
47
+ }
48
+ }
49
+ if (devDeps !== undefined) {
50
+ for (const name of Object.keys(devDeps)) {
51
+ if (name.startsWith('@auto-engineer/')) {
52
+ packages.add(name);
53
+ }
54
+ }
55
+ }
56
+ return Array.from(packages);
57
+ }
58
+ async function collectAllAutoEngineerPackages(targetDir) {
59
+ const packages = new Set();
60
+ const packageJsonPaths = [
61
+ path.join(targetDir, 'package.json'),
62
+ path.join(targetDir, 'client', 'package.json'),
63
+ path.join(targetDir, 'server', 'package.json'),
64
+ ];
65
+ for (const pkgPath of packageJsonPaths) {
66
+ if (await fs.pathExists(pkgPath)) {
67
+ const pkg = (await fs.readJson(pkgPath));
68
+ for (const name of extractAutoEngineerPackages(pkg)) {
69
+ packages.add(name);
70
+ }
71
+ }
72
+ }
73
+ return Array.from(packages);
74
+ }
51
75
  async function getLatestVersions(packages) {
52
76
  const spinner = ora('Fetching latest package versions...').start();
53
77
  const versions = {};
54
78
  await Promise.all(packages.map(async (pkg) => {
55
79
  versions[pkg] = await getLatestVersion(pkg);
56
80
  }));
57
- // Always include CLI
58
- versions['@auto-engineer/cli'] = await getLatestVersion('@auto-engineer/cli');
59
81
  spinner.succeed('Package versions fetched');
60
82
  return versions;
61
83
  }
84
+ function applyVersionsToDeps(deps, versions) {
85
+ if (deps === undefined) {
86
+ return;
87
+ }
88
+ for (const [pkg, version] of Object.entries(versions)) {
89
+ if (deps[pkg] !== undefined) {
90
+ deps[pkg] = version;
91
+ }
92
+ }
93
+ }
94
+ async function updatePackageJsonName(pkgPath, name) {
95
+ if (!(await fs.pathExists(pkgPath))) {
96
+ return;
97
+ }
98
+ const pkg = (await fs.readJson(pkgPath));
99
+ pkg.name = name;
100
+ await fs.writeJson(pkgPath, pkg, { spaces: 2 });
101
+ }
62
102
  async function updatePackageVersions(targetDir, projectName, versions) {
63
103
  const rootPackageJsonPath = path.join(targetDir, 'package.json');
64
- const clientPackageJsonPath = path.join(targetDir, 'client', 'package.json');
65
- const serverPackageJsonPath = path.join(targetDir, 'server', 'package.json');
66
- // Update root package.json
67
104
  if (await fs.pathExists(rootPackageJsonPath)) {
68
105
  const rootPkg = (await fs.readJson(rootPackageJsonPath));
69
- // Update dependencies
70
- if (rootPkg.dependencies !== undefined) {
71
- for (const [pkg, version] of Object.entries(versions)) {
72
- if (rootPkg.dependencies[pkg] !== undefined) {
73
- rootPkg.dependencies[pkg] = version;
74
- }
75
- }
76
- }
77
- // Update devDependencies
78
- if (rootPkg.devDependencies !== undefined) {
79
- for (const [pkg, version] of Object.entries(versions)) {
80
- if (rootPkg.devDependencies[pkg] !== undefined) {
81
- rootPkg.devDependencies[pkg] = version;
82
- }
83
- }
84
- }
106
+ applyVersionsToDeps(rootPkg.dependencies, versions);
107
+ applyVersionsToDeps(rootPkg.devDependencies, versions);
85
108
  rootPkg.name = projectName;
86
109
  await fs.writeJson(rootPackageJsonPath, rootPkg, { spaces: 2 });
87
110
  }
88
- // Update client package.json if exists
89
- if (await fs.pathExists(clientPackageJsonPath)) {
90
- const clientPkg = (await fs.readJson(clientPackageJsonPath));
91
- clientPkg.name = `${projectName}-client`;
92
- await fs.writeJson(clientPackageJsonPath, clientPkg, { spaces: 2 });
93
- }
94
- // Update server package.json if exists
95
- if (await fs.pathExists(serverPackageJsonPath)) {
96
- const serverPkg = (await fs.readJson(serverPackageJsonPath));
97
- serverPkg.name = `${projectName}-server`;
98
- await fs.writeJson(serverPackageJsonPath, serverPkg, { spaces: 2 });
99
- }
111
+ await updatePackageJsonName(path.join(targetDir, 'client', 'package.json'), `${projectName}-client`);
112
+ await updatePackageJsonName(path.join(targetDir, 'server', 'package.json'), `${projectName}-server`);
100
113
  }
101
114
  async function installDependencies(targetDir, packageManager) {
102
115
  const spinner = ora('Installing dependencies...').start();
@@ -160,8 +173,8 @@ async function createFromTemplate(templatePath, targetDir, projectName, template
160
173
  if (!(await fs.pathExists(workspaceYamlPath))) {
161
174
  await fs.writeFile(workspaceYamlPath, "packages:\n - '*'\n");
162
175
  }
163
- // Get latest versions for all packages
164
- const packagesToCheck = [...AUTO_ENGINEER_PACKAGES];
176
+ // Scan template for all @auto-engineer packages and get their latest versions
177
+ const packagesToCheck = await collectAllAutoEngineerPackages(targetDir);
165
178
  const versions = await getLatestVersions(packagesToCheck);
166
179
  await replaceTemplateFileId(targetDir);
167
180
  // Update package versions
@@ -230,24 +243,8 @@ async function getAvailableTemplates() {
230
243
  }
231
244
  return templates;
232
245
  }
233
- async function handleTemplateCreation(template, preset, targetDir, projectName, packageManager) {
234
- if (template !== undefined) {
235
- const templatePath = path.join(__dirname, '../..', 'templates', template);
236
- if (await fs.pathExists(templatePath)) {
237
- await createFromTemplate(templatePath, targetDir, projectName, template);
238
- }
239
- else {
240
- console.log(chalk.yellow(`Template not found at ${templatePath}, creating minimal project...`));
241
- await createMinimalProject(targetDir, projectName, preset || 'minimal', packageManager);
242
- }
243
- }
244
- else {
245
- // Create project based on preset
246
- await createMinimalProject(targetDir, projectName, preset || 'minimal', packageManager);
247
- }
248
- }
249
246
  async function createProject(options) {
250
- const { name, template, preset, packageManager, installDeps } = options;
247
+ const { name, template, packageManager, installDeps } = options;
251
248
  const targetDir = path.resolve(process.cwd(), name === '.' ? process.cwd() : name);
252
249
  const projectName = name === '.' ? path.basename(process.cwd()) : name;
253
250
  // Prepare directory
@@ -256,8 +253,15 @@ async function createProject(options) {
256
253
  process.exit(0);
257
254
  }
258
255
  console.log(chalk.blue(`\nCreating Auto Engineer project in ${chalk.bold(targetDir)}\n`));
259
- // Handle template or preset creation
260
- await handleTemplateCreation(template, preset, targetDir, projectName, packageManager);
256
+ // Create from template
257
+ const templatePath = path.join(__dirname, '../..', 'templates', template);
258
+ if (await fs.pathExists(templatePath)) {
259
+ await createFromTemplate(templatePath, targetDir, projectName, template);
260
+ }
261
+ else {
262
+ console.error(chalk.red(`Template "${template}" not found at ${templatePath}`));
263
+ process.exit(1);
264
+ }
261
265
  // Install dependencies if requested
262
266
  if (installDeps) {
263
267
  await installDependencies(targetDir, packageManager);
@@ -265,83 +269,6 @@ async function createProject(options) {
265
269
  // Success message
266
270
  printSuccessMessage(name, packageManager, installDeps);
267
271
  }
268
- async function createMinimalProject(targetDir, projectName, preset, packageManager) {
269
- // Determine which packages to include
270
- const packagesToInclude = preset === 'full' ? AUTO_ENGINEER_PACKAGES : MINIMAL_PACKAGES;
271
- // Get latest versions
272
- const versions = await getLatestVersions(packagesToInclude);
273
- // Generate package.json
274
- const packageJson = {
275
- name: projectName,
276
- version: '0.1.0',
277
- private: true,
278
- scripts: {
279
- dev: 'auto dev',
280
- build: 'auto build',
281
- test: 'auto test',
282
- },
283
- devDependencies: versions,
284
- };
285
- // Write package.json
286
- await fs.writeJson(path.join(targetDir, 'package.json'), packageJson, { spaces: 2 });
287
- // Create auto.config.ts
288
- const plugins = Object.keys(versions)
289
- .filter((pkg) => pkg !== '@auto-engineer/cli')
290
- .map((pkg) => ` '${pkg}',`)
291
- .join('\n');
292
- const autoConfig = `export default {
293
- plugins: [
294
- ${plugins}
295
- ],
296
- };
297
- `;
298
- await fs.writeFile(path.join(targetDir, 'auto.config.ts'), autoConfig);
299
- // Create basic directory structure
300
- await fs.ensureDir(path.join(targetDir, 'flows'));
301
- await fs.ensureDir(path.join(targetDir, '.context'));
302
- // Create .gitignore
303
- const gitignore = `node_modules
304
- dist
305
- .tmp
306
- .env.local
307
- *.log
308
- .next
309
- .turbo
310
- `;
311
- await fs.writeFile(path.join(targetDir, '.gitignore'), gitignore);
312
- // Create README.md
313
- const readme = `# ${projectName}
314
-
315
- An Auto Engineer project.
316
-
317
- ## Getting Started
318
-
319
- \`\`\`bash
320
- # Install dependencies
321
- ${packageManager} install
322
-
323
- # Install Auto and start it
324
- ${packageManager} install -g @auto-engineer/cli@latest
325
- auto
326
-
327
- # Start the client and server in development mode
328
- ${packageManager} run start
329
- \`\`\`
330
-
331
- ## Available Commands
332
-
333
- - \`auto generate:server\` - Generate server from flows
334
- - \`auto generate:client\` - Generate client application
335
- - \`auto check:frontend\` - Run frontend checks
336
- - \`auto check:server\` - Run server checks
337
-
338
- ## Learn More
339
-
340
- Visit [Auto Engineer Documentation](https://github.com/solguru310/auto-engineer) to learn more.
341
- `;
342
- await fs.writeFile(path.join(targetDir, 'README.md'), readme);
343
- }
344
- // TODO also make this install the global cli if not present
345
272
  async function main() {
346
273
  // Get available templates for help text
347
274
  const availableTemplates = await getAvailableTemplates();
@@ -351,8 +278,7 @@ async function main() {
351
278
  .description('Create a new Auto Engineer application')
352
279
  .version('0.1.0')
353
280
  .argument('[project-name]', 'Name of the project (use "." for current directory)')
354
- .option('-t, --template <template>', `Project template (${templateNames})`)
355
- .option('-p, --preset <preset>', 'Package preset (minimal, full)', 'full')
281
+ .option('-t, --template <template>', `Project template (${templateNames})`, DEFAULT_TEMPLATE)
356
282
  .option('--no-install', 'Skip dependency installation')
357
283
  .option('--use-npm', 'Use npm as package manager')
358
284
  .option('--use-yarn', 'Use yarn as package manager')
@@ -367,11 +293,6 @@ async function main() {
367
293
  name: `${template.displayName} - ${template.description}`,
368
294
  value: template.name,
369
295
  }));
370
- const setupChoices = [
371
- ...templateChoices,
372
- { name: 'Create minimal project (just essentials)', value: 'minimal' },
373
- { name: 'Create full project (all packages)', value: 'full' },
374
- ];
375
296
  const answers = (await inquirer.prompt([
376
297
  {
377
298
  type: 'input',
@@ -389,13 +310,18 @@ async function main() {
389
310
  return true;
390
311
  },
391
312
  },
392
- {
393
- type: 'list',
394
- name: 'setupType',
395
- message: 'How would you like to set up your project?',
396
- choices: setupChoices,
397
- default: availableTemplates.length > 0 ? availableTemplates[0].name : 'minimal',
398
- },
313
+ // Only ask for template if there are multiple options
314
+ ...(templateChoices.length > 1
315
+ ? [
316
+ {
317
+ type: 'list',
318
+ name: 'template',
319
+ message: 'Which template would you like to use?',
320
+ choices: templateChoices,
321
+ default: DEFAULT_TEMPLATE,
322
+ },
323
+ ]
324
+ : []),
399
325
  {
400
326
  type: 'confirm',
401
327
  name: 'installDeps',
@@ -404,15 +330,7 @@ async function main() {
404
330
  },
405
331
  ]));
406
332
  projectName = answers.name;
407
- const selectedTemplate = availableTemplates.find((t) => t.name === answers.setupType);
408
- if (selectedTemplate) {
409
- options.template = selectedTemplate.name;
410
- options.preset = undefined;
411
- }
412
- else {
413
- options.template = undefined;
414
- options.preset = answers.setupType;
415
- }
333
+ options.template = answers.template ?? DEFAULT_TEMPLATE;
416
334
  options.install = answers.installDeps;
417
335
  }
418
336
  // Detect package manager
@@ -431,8 +349,7 @@ async function main() {
431
349
  }
432
350
  const projectOptions = {
433
351
  name: projectName,
434
- template: typeof options.template === 'string' ? options.template : undefined,
435
- preset: options.preset,
352
+ template: options.template,
436
353
  packageManager,
437
354
  installDeps: options.install !== false,
438
355
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-auto-app",
3
- "version": "0.13.3",
3
+ "version": "0.15.0",
4
4
  "description": "Create Auto Engineer apps with no configuration",
5
5
  "type": "module",
6
6
  "bin": {
@@ -33,7 +33,7 @@
33
33
  "fs-extra": "^11.2.0",
34
34
  "inquirer": "^9.2.15",
35
35
  "ora": "^8.0.1",
36
- "@auto-engineer/id": "0.13.3"
36
+ "@auto-engineer/id": "0.15.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/fs-extra": "^11.0.4",
@@ -50,8 +50,6 @@
50
50
  "copy-templates": "tsx scripts/copy-templates.ts",
51
51
  "build": "npm run copy-templates && tsc && chmod +x dist/src/index.js",
52
52
  "test": "vitest run --reporter=dot",
53
- "type-check": "tsc --noEmit",
54
- "lint": "eslint 'src/**/*.ts' --max-warnings 0 --config ../../eslint.config.ts --ignore-pattern 'templates/**'",
55
- "format": "prettier --write \"**/*.{js,ts,json,md,yml,yaml}\" --ignore-path ../../.prettierignore --log-level warn"
53
+ "type-check": "tsc --noEmit"
56
54
  }
57
55
  }
@@ -0,0 +1,161 @@
1
+ # Support Files
2
+
3
+ Shared design system assets for Auto Engineer examples.
4
+
5
+ ---
6
+
7
+ ## Purpose
8
+
9
+ This directory provides pre-configured design system files that other examples copy into their `.context/` directories. These files are consumed by the `@auto-engineer/design-system-importer` package and frontend generation plugins.
10
+
11
+ ---
12
+
13
+ ## Directory Structure
14
+
15
+ ```
16
+ support-files/
17
+ ├── .env.example # Environment variable template
18
+ └── .context/
19
+ ├── design-system.md # Component documentation
20
+ ├── figma-file.json # Figma design tokens (~44MB)
21
+ └── shadcn-filter.ts # Component filtering logic
22
+ ```
23
+
24
+ ---
25
+
26
+ ## File Descriptions
27
+
28
+ ### .env.example
29
+
30
+ Template for Auto Engineer environment variables:
31
+
32
+ ```bash
33
+ # AI Provider Keys
34
+ ANTHROPIC_API_KEY=
35
+ OPENAI_API_KEY=
36
+ GEMINI_API_KEY=
37
+ XAI_API_KEY=
38
+
39
+ # Defaults
40
+ DEFAULT_AI_PROVIDER=anthropic
41
+ DEFAULT_AI_MODEL=claude-sonnet-4-20250514
42
+
43
+ # Debug
44
+ DEBUG=auto:*
45
+ ```
46
+
47
+ ### .context/design-system.md
48
+
49
+ Generated markdown listing 55+ shadcn/ui components:
50
+
51
+ | Category | Components |
52
+ |----------|------------|
53
+ | Form | button, checkbox, input, select, switch, textarea, slider |
54
+ | Layout | accordion, card, dialog, drawer, sheet, tabs, separator |
55
+ | Navigation | breadcrumb, menubar, navigation-menu, pagination |
56
+ | Data | avatar, badge, calendar, data-table, table |
57
+ | Feedback | alert, alert-dialog, progress, skeleton, toast, tooltip |
58
+
59
+ ### .context/figma-file.json
60
+
61
+ Raw Figma API export containing design tokens:
62
+
63
+ - **Spacing**: `spacing/0`, `spacing/px`, `spacing/1`...`spacing/96`
64
+ - **Dimensions**: `w-0`, `h-0`, `h-px`, `w-full`, `h-screen`
65
+ - **Scopes**: GAP, WIDTH_HEIGHT configurations
66
+
67
+ ### .context/shadcn-filter.ts
68
+
69
+ Filter function for processing Figma components during import:
70
+
71
+ **Excludes:**
72
+ - Generic names: `image`, `slot`, `logo`, `icon`
73
+ - Internal components: `toolbar`, `stepper`, `sidebar`
74
+
75
+ **Includes:**
76
+ - Valid component names (1-3 words, alphabetic)
77
+ - `INSTANCE` type components
78
+ - Hierarchy depth ≤ 3
79
+
80
+ **Transforms:**
81
+ - Converts to lowercase kebab-case
82
+ - Deduplicates and sorts
83
+
84
+ ---
85
+
86
+ ## Usage
87
+
88
+ ### Copying to a Project
89
+
90
+ From another example directory:
91
+
92
+ ```bash
93
+ rm -rf .context && mkdir .context && cp ../support-files/.context/* ./.context
94
+ ```
95
+
96
+ The `kanban-todo` example includes this in its clean script:
97
+
98
+ ```bash
99
+ pnpm clean # Runs the copy automatically
100
+ ```
101
+
102
+ ### Using with Design System Importer
103
+
104
+ ```bash
105
+ auto import:design-system \
106
+ --output-dir=./.context \
107
+ --strategy=WITH_COMPONENT_SETS \
108
+ --filter-path=./shadcn-filter.ts
109
+ ```
110
+
111
+ ### Pipeline Integration
112
+
113
+ In `auto.config.ts`, reference these files:
114
+
115
+ ```typescript
116
+ .on('IAGenerated')
117
+ .emit('GenerateClient', () => ({
118
+ figmaVariablesPath: resolvePath('./.context/figma-file.json'),
119
+ }))
120
+
121
+ .emit('ImplementComponent', (c) => ({
122
+ designSystemPath: resolvePath('./.context/design-system.md'),
123
+ }))
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Regenerating Files
129
+
130
+ To regenerate from a Figma source:
131
+
132
+ ```bash
133
+ # Set credentials
134
+ export FIGMA_PERSONAL_TOKEN=your-token
135
+ export FIGMA_FILE_ID=your-file-id
136
+
137
+ # Run importer
138
+ auto import:design-system \
139
+ --output-dir=./.context \
140
+ --strategy=WITH_ALL_FIGMA_INSTANCES \
141
+ --filter-path=./shadcn-filter.ts
142
+ ```
143
+
144
+ **Import Strategies:**
145
+
146
+ | Strategy | Description |
147
+ |----------|-------------|
148
+ | `WITH_COMPONENTS` | Individual components only |
149
+ | `WITH_COMPONENT_SETS` | Component sets (default) |
150
+ | `WITH_ALL_FIGMA_INSTANCES` | Full document traversal |
151
+
152
+ ---
153
+
154
+ ## Related Packages
155
+
156
+ | Package | Relationship |
157
+ |---------|--------------|
158
+ | `@auto-engineer/design-system-importer` | Consumes filter, produces design-system.md |
159
+ | `@auto-engineer/frontend-generator-react-graphql` | Uses figma-file.json for tokens |
160
+ | `@auto-engineer/component-implementer` | Uses design-system.md for constraints |
161
+ | `@auto-engineer/information-architect` | References component list for IA |