@auto-engineer/cli 0.5.18 → 0.5.20

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @auto-engineer/cli
2
2
 
3
+ ## 0.5.20
4
+
5
+ ### Patch Changes
6
+
7
+ - split node-only commands into subpath export to restore browser compatibility
8
+ - Updated dependencies
9
+ - @auto-engineer/flowlang@0.5.7
10
+
3
11
  ## 0.5.17
4
12
 
5
13
  ### Patch Changes
@@ -0,0 +1,5 @@
1
+ import { Command } from 'commander';
2
+ import type { Analytics } from '../utils/analytics';
3
+ import { Config } from '../utils/config';
4
+ export declare const createCheckLintCommand: (config: Config, analytics: Analytics) => Command;
5
+ //# sourceMappingURL=check-lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-lint.d.ts","sourceRoot":"","sources":["../../../src/commands/check-lint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkEzC,eAAO,MAAM,sBAAsB,WAAY,MAAM,aAAa,SAAS,KAAG,OA6C7E,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { Command } from 'commander';
2
+ import path from 'path';
3
+ import { createOutput } from '../utils/terminal.js';
4
+ import { handleError } from '../utils/errors.js';
5
+ const determineTargetDirectory = (directoryArg, options) => {
6
+ let targetDirectory = './server';
7
+ if (directoryArg !== undefined && directoryArg !== null && directoryArg.trim() !== '') {
8
+ targetDirectory = directoryArg;
9
+ }
10
+ else if (options?.directory !== undefined && options.directory !== null && options.directory.trim() !== '') {
11
+ targetDirectory = options.directory;
12
+ }
13
+ return path.resolve(targetDirectory);
14
+ };
15
+ const handleLintCheck = async (resolvedDirectory, scope, fix, output, analytics) => {
16
+ output.info(`🎨 Running ESLint on: ${resolvedDirectory}`);
17
+ output.info(` Scope: ${scope}`);
18
+ if (fix) {
19
+ output.info(` Auto-fix: enabled`);
20
+ }
21
+ // Dynamic import to avoid circular dependency issues
22
+ const { handleCheckLintCommand } = await import('@auto-engineer/backend-checks');
23
+ const checkCommand = {
24
+ type: 'CheckLint',
25
+ data: {
26
+ targetDirectory: resolvedDirectory,
27
+ scope,
28
+ fix,
29
+ },
30
+ timestamp: new Date(),
31
+ requestId: `check-lint-${Date.now()}`,
32
+ correlationId: `check-lint-${Date.now()}`,
33
+ };
34
+ const result = await handleCheckLintCommand(checkCommand);
35
+ if (result.type === 'LintCheckPassed') {
36
+ output.success('✅ Lint check passed');
37
+ output.info(` Files checked: ${result.data.filesChecked}`);
38
+ if (result.data.filesFixed !== undefined) {
39
+ output.info(` Files fixed: ${result.data.filesFixed}`);
40
+ }
41
+ await analytics.track({ command: 'check:lint:complete', success: true });
42
+ }
43
+ else {
44
+ output.error(`❌ Lint check failed`);
45
+ output.error(` Errors: ${result.data.errorCount}`);
46
+ output.error(` Warnings: ${result.data.warningCount}`);
47
+ if (result.data.filesWithIssues.length > 0) {
48
+ output.error(` Files with issues: ${result.data.filesWithIssues.join(', ')}`);
49
+ }
50
+ if (result.data.errors) {
51
+ output.error(` Details:\n${result.data.errors.substring(0, 500)}`);
52
+ }
53
+ await analytics.track({ command: 'check:lint:failed', success: false });
54
+ process.exit(1);
55
+ }
56
+ };
57
+ export const createCheckLintCommand = (config, analytics) => {
58
+ const output = createOutput(config);
59
+ const command = new Command('check:lint');
60
+ command
61
+ .description('Run ESLint checks on backend TypeScript code')
62
+ .argument('[directory]', 'Path to the directory to lint (defaults to ./server)')
63
+ .option('-d, --directory <path>', 'Target directory path (alternative to argument)')
64
+ .option('-s, --scope <scope>', 'Lint scope: "slice" (target dir only) or "project" (entire project)', 'slice')
65
+ .option('-f, --fix', 'Automatically fix problems where possible')
66
+ .action(async (directoryArg, options) => {
67
+ try {
68
+ await analytics.track({ command: 'check:lint:start', success: true });
69
+ const resolvedDirectory = determineTargetDirectory(directoryArg, options);
70
+ const scope = options?.scope === 'project' ? 'project' : 'slice';
71
+ const fix = Boolean(options?.fix);
72
+ await handleLintCheck(resolvedDirectory, scope, fix, output, analytics);
73
+ }
74
+ catch (error) {
75
+ await analytics.track({ command: 'check:lint:error', success: false });
76
+ handleError(error);
77
+ process.exit(1);
78
+ }
79
+ });
80
+ command.addHelpText('after', `
81
+ Examples:
82
+ $ auto check:lint
83
+ $ auto check:lint ./server
84
+ $ auto check:lint --directory ./backend
85
+ $ auto check:lint ./server --fix
86
+ $ auto check:lint ./server --scope project --fix
87
+
88
+ Notes:
89
+ - By default lints only the specified directory (slice scope)
90
+ - Use --scope project to lint the entire project
91
+ - Use --fix to automatically fix problems where possible
92
+ - Exit code 0 on success, 1 on failure
93
+ `);
94
+ return command;
95
+ };
96
+ //# sourceMappingURL=check-lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-lint.js","sourceRoot":"","sources":["../../../src/commands/check-lint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Command } from 'commander';
2
+ import type { Analytics } from '../utils/analytics';
3
+ import { Config } from '../utils/config';
4
+ export declare const createCheckTestsCommand: (config: Config, analytics: Analytics) => Command;
5
+ //# sourceMappingURL=check-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-tests.d.ts","sourceRoot":"","sources":["../../../src/commands/check-tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA2DzC,eAAO,MAAM,uBAAuB,WAAY,MAAM,aAAa,SAAS,KAAG,OA0C9E,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { Command } from 'commander';
2
+ import path from 'path';
3
+ import { createOutput } from '../utils/terminal.js';
4
+ import { handleError } from '../utils/errors.js';
5
+ const determineTargetDirectory = (directoryArg, options) => {
6
+ let targetDirectory = './server';
7
+ if (directoryArg !== undefined && directoryArg !== null && directoryArg.trim() !== '') {
8
+ targetDirectory = directoryArg;
9
+ }
10
+ else if (options?.directory !== undefined && options.directory !== null && options.directory.trim() !== '') {
11
+ targetDirectory = options.directory;
12
+ }
13
+ return path.resolve(targetDirectory);
14
+ };
15
+ const handleTestsCheck = async (resolvedDirectory, scope, output, analytics) => {
16
+ output.info(`🧪 Running tests on: ${resolvedDirectory}`);
17
+ output.info(` Scope: ${scope}`);
18
+ // Dynamic import to avoid circular dependency issues
19
+ const { handleCheckTestsCommand } = await import('@auto-engineer/backend-checks');
20
+ const checkCommand = {
21
+ type: 'CheckTests',
22
+ data: {
23
+ targetDirectory: resolvedDirectory,
24
+ scope,
25
+ },
26
+ timestamp: new Date(),
27
+ requestId: `check-tests-${Date.now()}`,
28
+ correlationId: `check-tests-${Date.now()}`,
29
+ };
30
+ const result = await handleCheckTestsCommand(checkCommand);
31
+ if (result.type === 'TestsCheckPassed') {
32
+ output.success('✅ All tests passed');
33
+ output.info(` Tests run: ${result.data.testsRun}`);
34
+ output.info(` Tests passed: ${result.data.testsPassed}`);
35
+ await analytics.track({ command: 'check:tests:complete', success: true });
36
+ }
37
+ else {
38
+ output.error(`❌ Tests failed`);
39
+ output.error(` Tests run: ${result.data.testsRun}`);
40
+ output.error(` Tests failed: ${result.data.testsFailed}`);
41
+ if (result.data.failedTests.length > 0) {
42
+ output.error(` Failed files: ${result.data.failedTests.join(', ')}`);
43
+ }
44
+ if (result.data.errors) {
45
+ output.error(` Errors:\n${result.data.errors.substring(0, 500)}`);
46
+ }
47
+ await analytics.track({ command: 'check:tests:failed', success: false });
48
+ process.exit(1);
49
+ }
50
+ };
51
+ export const createCheckTestsCommand = (config, analytics) => {
52
+ const output = createOutput(config);
53
+ const command = new Command('check:tests');
54
+ command
55
+ .description('Run tests on backend code using Vitest')
56
+ .argument('[directory]', 'Path to the directory to test (defaults to ./server)')
57
+ .option('-d, --directory <path>', 'Target directory path (alternative to argument)')
58
+ .option('-s, --scope <scope>', 'Test scope: "slice" (target dir only) or "project" (entire project)', 'slice')
59
+ .action(async (directoryArg, options) => {
60
+ try {
61
+ await analytics.track({ command: 'check:tests:start', success: true });
62
+ const resolvedDirectory = determineTargetDirectory(directoryArg, options);
63
+ const scope = options?.scope === 'project' ? 'project' : 'slice';
64
+ await handleTestsCheck(resolvedDirectory, scope, output, analytics);
65
+ }
66
+ catch (error) {
67
+ await analytics.track({ command: 'check:tests:error', success: false });
68
+ handleError(error);
69
+ process.exit(1);
70
+ }
71
+ });
72
+ command.addHelpText('after', `
73
+ Examples:
74
+ $ auto check:tests
75
+ $ auto check:tests ./server
76
+ $ auto check:tests --directory ./backend
77
+ $ auto check:tests ./server --scope project
78
+
79
+ Notes:
80
+ - By default runs tests only in the specified directory (slice scope)
81
+ - Use --scope project to run all project tests
82
+ - Uses Vitest as the test runner
83
+ - Exit code 0 on success, 1 on failure
84
+ `);
85
+ return command;
86
+ };
87
+ //# sourceMappingURL=check-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-tests.js","sourceRoot":"","sources":["../../../src/commands/check-tests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Command } from 'commander';
2
+ import type { Analytics } from '../utils/analytics';
3
+ import { Config } from '../utils/config';
4
+ export declare const createCheckTypesCommand: (config: Config, analytics: Analytics) => Command;
5
+ //# sourceMappingURL=check-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-types.d.ts","sourceRoot":"","sources":["../../../src/commands/check-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAwDzC,eAAO,MAAM,uBAAuB,WAAY,MAAM,aAAa,SAAS,KAAG,OAyC9E,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { Command } from 'commander';
2
+ import path from 'path';
3
+ import { createOutput } from '../utils/terminal.js';
4
+ import { handleError } from '../utils/errors.js';
5
+ const determineTargetDirectory = (directoryArg, options) => {
6
+ let targetDirectory = './server';
7
+ if (directoryArg !== undefined && directoryArg !== null && directoryArg.trim() !== '') {
8
+ targetDirectory = directoryArg;
9
+ }
10
+ else if (options?.directory !== undefined && options.directory !== null && options.directory.trim() !== '') {
11
+ targetDirectory = options.directory;
12
+ }
13
+ return path.resolve(targetDirectory);
14
+ };
15
+ const handleTypeCheck = async (resolvedDirectory, scope, output, analytics) => {
16
+ output.info(`🔍 Running TypeScript type check on: ${resolvedDirectory}`);
17
+ output.info(` Scope: ${scope}`);
18
+ // Dynamic import to avoid circular dependency issues
19
+ const { handleCheckTypesCommand } = await import('@auto-engineer/backend-checks');
20
+ const checkCommand = {
21
+ type: 'CheckTypes',
22
+ data: {
23
+ targetDirectory: resolvedDirectory,
24
+ scope,
25
+ },
26
+ timestamp: new Date(),
27
+ requestId: `check-types-${Date.now()}`,
28
+ correlationId: `check-types-${Date.now()}`,
29
+ };
30
+ const result = await handleCheckTypesCommand(checkCommand);
31
+ if (result.type === 'TypeCheckPassed') {
32
+ output.success('✅ Type check passed');
33
+ output.info(` Checked ${result.data.checkedFiles} files`);
34
+ await analytics.track({ command: 'check:types:complete', success: true });
35
+ }
36
+ else {
37
+ output.error(`❌ Type check failed`);
38
+ if (result.data.failedFiles.length > 0) {
39
+ output.error(` Failed files: ${result.data.failedFiles.join(', ')}`);
40
+ }
41
+ if (result.data.errors) {
42
+ output.error(` Errors:\n${result.data.errors.substring(0, 500)}`);
43
+ }
44
+ await analytics.track({ command: 'check:types:failed', success: false });
45
+ process.exit(1);
46
+ }
47
+ };
48
+ export const createCheckTypesCommand = (config, analytics) => {
49
+ const output = createOutput(config);
50
+ const command = new Command('check:types');
51
+ command
52
+ .description('Run TypeScript type checking on backend code')
53
+ .argument('[directory]', 'Path to the directory to check (defaults to ./server)')
54
+ .option('-d, --directory <path>', 'Target directory path (alternative to argument)')
55
+ .option('-s, --scope <scope>', 'Check scope: "slice" (target dir only) or "project" (entire project)', 'slice')
56
+ .action(async (directoryArg, options) => {
57
+ try {
58
+ await analytics.track({ command: 'check:types:start', success: true });
59
+ const resolvedDirectory = determineTargetDirectory(directoryArg, options);
60
+ const scope = options?.scope === 'project' ? 'project' : 'slice';
61
+ await handleTypeCheck(resolvedDirectory, scope, output, analytics);
62
+ }
63
+ catch (error) {
64
+ await analytics.track({ command: 'check:types:error', success: false });
65
+ handleError(error);
66
+ process.exit(1);
67
+ }
68
+ });
69
+ command.addHelpText('after', `
70
+ Examples:
71
+ $ auto check:types
72
+ $ auto check:types ./server
73
+ $ auto check:types --directory ./backend
74
+ $ auto check:types ./server --scope project
75
+
76
+ Notes:
77
+ - By default checks only the specified directory (slice scope)
78
+ - Use --scope project to check the entire project
79
+ - Exit code 0 on success, 1 on failure
80
+ `);
81
+ return command;
82
+ };
83
+ //# sourceMappingURL=check-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-types.js","sourceRoot":"","sources":["../../../src/commands/check-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Command } from 'commander';
2
+ import { Config } from '../utils/config';
3
+ import { Analytics } from '../utils/analytics';
4
+ export declare const createCopyExampleCommand: (config: Config, analytics: Analytics) => Command;
5
+ //# sourceMappingURL=copy-example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-example.d.ts","sourceRoot":"","sources":["../../../src/commands/copy-example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,eAAO,MAAM,wBAAwB,WAAY,MAAM,aAAa,SAAS,KAAG,OAyD/E,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { Command } from 'commander';
2
+ import { createOutput } from '../utils/terminal.js';
3
+ import { handleError } from '../utils/errors.js';
4
+ export const createCopyExampleCommand = (config, analytics) => {
5
+ const output = createOutput(config);
6
+ const command = new Command('copy:example');
7
+ command
8
+ .description('Copy a starter template to the current directory')
9
+ .argument('<starter-name>', 'Name of the starter to copy (shadcn-starter or mui-starter)')
10
+ .option('--directory <path>', 'Target directory (defaults to current directory)')
11
+ .action(async (starterName, options) => {
12
+ try {
13
+ await analytics.track({ command: 'copy:example:start', success: true });
14
+ const targetDirectory = options.directory ?? process.cwd();
15
+ output.info(`Copying starter "${starterName}" to ${targetDirectory}/.auto/${starterName}...`);
16
+ // Import the handler
17
+ const { handleCopyExampleCommand } = await import('@auto-engineer/react-graphql-generator');
18
+ const copyCommand = {
19
+ type: 'CopyExample',
20
+ data: {
21
+ starterName,
22
+ targetDir: targetDirectory,
23
+ },
24
+ timestamp: new Date(),
25
+ requestId: `copy-example-${Date.now()}`,
26
+ };
27
+ const result = await handleCopyExampleCommand(copyCommand);
28
+ if (result.type === 'ExampleCopied') {
29
+ output.success(`✅ Starter "${starterName}" copied successfully to ${result.data.targetDir}`);
30
+ output.info('');
31
+ output.info('Next steps:');
32
+ output.info(`1. Navigate to the starter: cd ${result.data.targetDir}`);
33
+ output.info('2. Install dependencies: npm install');
34
+ output.info('3. Start development: npm run dev');
35
+ await analytics.track({ command: 'copy:example', success: true });
36
+ }
37
+ else {
38
+ output.error(`❌ Failed to copy starter: ${result.data.error}`);
39
+ await analytics.track({ command: 'copy:example', success: false, errorCode: result.data.error });
40
+ process.exit(1);
41
+ }
42
+ }
43
+ catch (error) {
44
+ await analytics.track({
45
+ command: 'copy:example',
46
+ success: false,
47
+ errorCode: error instanceof Error ? error.message : String(error),
48
+ });
49
+ handleError(error instanceof Error ? error : new Error(String(error)));
50
+ }
51
+ });
52
+ return command;
53
+ };
54
+ //# sourceMappingURL=copy-example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-example.js","sourceRoot":"","sources":["../../../src/commands/copy-example.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export const createCreateExampleCommand = (config, analytics) => {
14
14
  const targetDirectory = options.directory ?? process.cwd();
15
15
  output.info(`Creating example "${exampleName}" in ${targetDirectory}...`);
16
16
  // Import the handler
17
- const { handleCreateExampleCommand } = await import('@auto-engineer/flowlang/commands/create-example');
17
+ const { handleCreateExampleCommand } = await import('@auto-engineer/flowlang');
18
18
  const createCommand = {
19
19
  type: 'CreateExample',
20
20
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"create-example.js","sourceRoot":"","sources":["../../../src/commands/create-example.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-example.js","sourceRoot":"","sources":["../../../src/commands/create-example.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -11,6 +11,7 @@ import { handleError } from './utils/errors.js';
11
11
  import { createOutput, supportsColor } from './utils/terminal.js';
12
12
  import { Analytics } from './utils/analytics.js';
13
13
  import { createCreateExampleCommand } from './commands/create-example.js';
14
+ import { createCopyExampleCommand } from './commands/copy-example.js';
14
15
  import { createExportSchemaCommand } from './commands/export-schema.js';
15
16
  import { createGenerateServerCommand } from './commands/generate-server.js';
16
17
  import { createGenerateGQLSchemaCommand } from './commands/generate-gql-schema.js';
@@ -20,6 +21,9 @@ import { createGenerateIACommand } from './commands/generate-ia.js';
20
21
  import { createGenerateClientCommand } from './commands/generate-client.js';
21
22
  import { createImplementClientCommand } from './commands/implement-client.js';
22
23
  import { createCheckClientCommand } from './commands/check-client.js';
24
+ import { createCheckTypesCommand } from './commands/check-types.js';
25
+ import { createCheckTestsCommand } from './commands/check-tests.js';
26
+ import { createCheckLintCommand } from './commands/check-lint.js';
23
27
  const VERSION = process.env.npm_package_version ?? '0.1.2';
24
28
  const checkNodeVersion = () => {
25
29
  const nodeVersion = process.version;
@@ -79,6 +83,7 @@ const setupProgram = (config) => {
79
83
  const program = createCLI();
80
84
  const analytics = new Analytics(config);
81
85
  program.addCommand(createCreateExampleCommand(config, analytics));
86
+ program.addCommand(createCopyExampleCommand(config, analytics));
82
87
  program.addCommand(createExportSchemaCommand(config, analytics));
83
88
  program.addCommand(createGenerateServerCommand(config, analytics));
84
89
  program.addCommand(createGenerateGQLSchemaCommand(config, analytics));
@@ -88,27 +93,77 @@ const setupProgram = (config) => {
88
93
  program.addCommand(createGenerateClientCommand(config, analytics));
89
94
  program.addCommand(createImplementClientCommand(config, analytics));
90
95
  program.addCommand(createCheckClientCommand(config, analytics));
96
+ program.addCommand(createCheckTypesCommand(config, analytics));
97
+ program.addCommand(createCheckTestsCommand(config, analytics));
98
+ program.addCommand(createCheckLintCommand(config, analytics));
91
99
  program.addHelpText('after', `
100
+ Commands:
101
+
102
+ ${chalk.cyan('🎯 Flow Development')}
103
+ create:example <name> Current options: ['shopping-assistant']
104
+ export:schema <context> <flows> Export flow schemas to context directory
105
+
106
+ ${chalk.cyan('⚙️ Backend Generation')}
107
+ generate:server <schema> <dest> Generate server from schema.json
108
+ implement:server <server-dir> AI implements server TODOs and tests
109
+
110
+ ${chalk.cyan('🎨 Design System & Frontend')}
111
+ import:design-system <src> <mode> [filter] Import Figma design system
112
+ generate:ia <context> <flows...> Generate Information Architecture
113
+ generate:client <starter> <client> <ia> <gql> [vars] Generate React client app
114
+ implement:client <client> <context> <principles> <design> AI implements client
115
+
116
+ ${chalk.cyan('✅ Validation & Testing')}
117
+ check:types <directory> TypeScript type checking
118
+ check:tests <directory> Run Vitest test suites
119
+ check:lint <directory> [--fix] ESLint with optional auto-fix
120
+ check:client <client-dir> Full frontend validation suite
121
+
92
122
  Examples:
93
123
 
94
- $ auto-engineer create:example shopping-assistant
95
- $ auto-engineer export:schema --directory .context/flows
96
- $ auto-engineer generate:server .context/schema.json --destination .
97
- $ auto-engineer generate:gql-schema ./server
98
- $ auto-engineer implement:server ./server
99
- $ auto-engineer import:design-system ./design-system ./.context
100
- $ auto-engineer generate:ia ./.context ./flows/*.flow.ts
101
- $ auto-engineer generate:client ./starter ./design-system ./client ./ia-schema.json ./schema.graphql
102
- $ auto-engineer implement:client ./client ./.context ./preferences.md ./design-system.md
124
+ ${chalk.gray('# Complete flow from scratch')}
125
+ $ mkdir shopping-assistant && cd shopping-assistant
126
+ $ auto create:example shopping-assistant
127
+ $ cd shopping-assistant && pnpm install
128
+ $ auto export:schema ./.context ./flows
129
+
130
+ ${chalk.gray('# Generate and implement backend')}
131
+ $ auto generate:server .context/schema.json .
132
+ $ auto implement:server ./server
133
+ $ auto check:types ./server
134
+ $ auto check:tests ./server
135
+
136
+ ${chalk.gray('# Import design system and generate frontend (Shadcn)')}
137
+ $ auto import:design-system ./.context WITH_COMPONENT_SETS ./shadcn-filter.ts
138
+ $ auto generate:ia ./.context ./flows/*.flow.ts
139
+ $ auto generate:client ./shadcn-starter ./client ./auto-ia.json ./schema.graphql ./figma-vars.json
140
+ $ auto implement:client ./client ./.context ./design-principles.md ./design-system.md
141
+
142
+ ${chalk.gray('# Run validation checks')}
143
+ $ auto check:types ./server --scope project
144
+ $ auto check:tests ./server
145
+ $ auto check:lint ./server --fix
146
+ $ auto check:client ./client
103
147
 
104
148
  Environment Variables:
105
- DEBUG=auto-engineer Enable debug mode
106
- NO_COLOR=1 Disable colored output
107
- OUTPUT_FORMAT=json Set output format
108
- AUTO_ENGINEER_API_TOKEN=<token> Set API token
109
- AUTO_ENGINEER_ANALYTICS=false Disable analytics (enabled by default)
149
+ ${chalk.gray('AI Providers (need at least one):')}
150
+ ANTHROPIC_API_KEY Anthropic Claude API key
151
+ OPENAI_API_KEY OpenAI API key
152
+ GEMINI_API_KEY Google Gemini API key
153
+ XAI_API_KEY X.AI Grok API key
154
+
155
+ ${chalk.gray('Debugging & Configuration:')}
156
+ DEBUG=* Enable all debug output
157
+ DEBUG=auto-engineer:* Enable auto-engineer debug only
158
+ NO_COLOR=1 Disable colored output
159
+ AUTO_ENGINEER_ANALYTICS=false Disable usage analytics
160
+
161
+ Tips:
162
+ • Use DEBUG=* to troubleshoot command issues, then narrow the debug scope down to specific command(s)
163
+ • Run 'pnpm install' after create:example
164
+ • Ensure servers are running before check:client
110
165
 
111
- For more information, visit: https://github.com/SamHatoum/auto-engineer
166
+ For docs & support: https://github.com/SamHatoum/auto-engineer
112
167
  `);
113
168
  return program;
114
169
  };
@@ -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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"}