@auto-engineer/cli 0.5.20 → 0.6.1

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 (71) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +10 -0
  3. package/README.md +185 -151
  4. package/dist/src/index.js +254 -93
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/manifest-types.d.ts +21 -0
  7. package/dist/src/manifest-types.d.ts.map +1 -0
  8. package/dist/src/manifest-types.js +2 -0
  9. package/dist/src/manifest-types.js.map +1 -0
  10. package/dist/src/plugin-loader.d.ts +49 -0
  11. package/dist/src/plugin-loader.d.ts.map +1 -0
  12. package/dist/src/plugin-loader.js +383 -0
  13. package/dist/src/plugin-loader.js.map +1 -0
  14. package/dist/tsconfig.tsbuildinfo +1 -1
  15. package/package.json +29 -28
  16. package/dist/src/commands/check-client.d.ts +0 -6
  17. package/dist/src/commands/check-client.d.ts.map +0 -1
  18. package/dist/src/commands/check-client.js +0 -69
  19. package/dist/src/commands/check-client.js.map +0 -1
  20. package/dist/src/commands/check-lint.d.ts +0 -5
  21. package/dist/src/commands/check-lint.d.ts.map +0 -1
  22. package/dist/src/commands/check-lint.js +0 -96
  23. package/dist/src/commands/check-lint.js.map +0 -1
  24. package/dist/src/commands/check-tests.d.ts +0 -5
  25. package/dist/src/commands/check-tests.d.ts.map +0 -1
  26. package/dist/src/commands/check-tests.js +0 -87
  27. package/dist/src/commands/check-tests.js.map +0 -1
  28. package/dist/src/commands/check-types.d.ts +0 -5
  29. package/dist/src/commands/check-types.d.ts.map +0 -1
  30. package/dist/src/commands/check-types.js +0 -83
  31. package/dist/src/commands/check-types.js.map +0 -1
  32. package/dist/src/commands/copy-example.d.ts +0 -5
  33. package/dist/src/commands/copy-example.d.ts.map +0 -1
  34. package/dist/src/commands/copy-example.js +0 -54
  35. package/dist/src/commands/copy-example.js.map +0 -1
  36. package/dist/src/commands/create-example.d.ts +0 -5
  37. package/dist/src/commands/create-example.d.ts.map +0 -1
  38. package/dist/src/commands/create-example.js +0 -60
  39. package/dist/src/commands/create-example.js.map +0 -1
  40. package/dist/src/commands/export-schema.d.ts +0 -5
  41. package/dist/src/commands/export-schema.d.ts.map +0 -1
  42. package/dist/src/commands/export-schema.js +0 -49
  43. package/dist/src/commands/export-schema.js.map +0 -1
  44. package/dist/src/commands/generate-client.d.ts +0 -5
  45. package/dist/src/commands/generate-client.d.ts.map +0 -1
  46. package/dist/src/commands/generate-client.js +0 -77
  47. package/dist/src/commands/generate-client.js.map +0 -1
  48. package/dist/src/commands/generate-gql-schema.d.ts +0 -5
  49. package/dist/src/commands/generate-gql-schema.d.ts.map +0 -1
  50. package/dist/src/commands/generate-gql-schema.js +0 -57
  51. package/dist/src/commands/generate-gql-schema.js.map +0 -1
  52. package/dist/src/commands/generate-ia.d.ts +0 -5
  53. package/dist/src/commands/generate-ia.d.ts.map +0 -1
  54. package/dist/src/commands/generate-ia.js +0 -54
  55. package/dist/src/commands/generate-ia.js.map +0 -1
  56. package/dist/src/commands/generate-server.d.ts +0 -5
  57. package/dist/src/commands/generate-server.d.ts.map +0 -1
  58. package/dist/src/commands/generate-server.js +0 -50
  59. package/dist/src/commands/generate-server.js.map +0 -1
  60. package/dist/src/commands/implement-client.d.ts +0 -5
  61. package/dist/src/commands/implement-client.d.ts.map +0 -1
  62. package/dist/src/commands/implement-client.js +0 -70
  63. package/dist/src/commands/implement-client.js.map +0 -1
  64. package/dist/src/commands/implement-server.d.ts +0 -5
  65. package/dist/src/commands/implement-server.d.ts.map +0 -1
  66. package/dist/src/commands/implement-server.js +0 -69
  67. package/dist/src/commands/implement-server.js.map +0 -1
  68. package/dist/src/commands/import-design-system.d.ts +0 -5
  69. package/dist/src/commands/import-design-system.d.ts.map +0 -1
  70. package/dist/src/commands/import-design-system.js +0 -62
  71. package/dist/src/commands/import-design-system.js.map +0 -1
@@ -1,60 +0,0 @@
1
- import { Command } from 'commander';
2
- import { createOutput } from '../utils/terminal.js';
3
- import { handleError } from '../utils/errors.js';
4
- export const createCreateExampleCommand = (config, analytics) => {
5
- const output = createOutput(config);
6
- const command = new Command('create:example');
7
- command
8
- .description('Create an example project')
9
- .argument('<example-name>', 'Name of the example to create')
10
- .option('--directory <path>', 'Target directory (defaults to current directory)')
11
- .action(async (exampleName, options) => {
12
- try {
13
- await analytics.track({ command: 'create:example:start', success: true });
14
- const targetDirectory = options.directory ?? process.cwd();
15
- output.info(`Creating example "${exampleName}" in ${targetDirectory}...`);
16
- // Import the handler
17
- const { handleCreateExampleCommand } = await import('@auto-engineer/flowlang');
18
- const createCommand = {
19
- type: 'CreateExample',
20
- data: {
21
- exampleName,
22
- targetDirectory,
23
- },
24
- timestamp: new Date(),
25
- requestId: `create-example-${Date.now()}`,
26
- };
27
- // TODO use the bus
28
- const result = await handleCreateExampleCommand(createCommand);
29
- if (result.type === 'ExampleCreated') {
30
- output.success(`✅ Example "${exampleName}" created successfully!`);
31
- // output.info('');
32
- // output.info('Files created:');
33
- // result.data.filesCreated.forEach((file: string) => {
34
- // output.info(` - ${file}`);
35
- // });
36
- output.info('');
37
- output.info('Next steps:');
38
- output.info('1. Review the generated files');
39
- output.info('2. Install dependencies: npm install');
40
- output.info('3. Start development: npm run dev');
41
- await analytics.track({ command: 'create:example', success: true });
42
- }
43
- else {
44
- output.error(`❌ Failed to create example: ${result.data.error}`);
45
- await analytics.track({ command: 'create:example', success: false, errorCode: result.data.error });
46
- process.exit(1);
47
- }
48
- }
49
- catch (error) {
50
- await analytics.track({
51
- command: 'create:example',
52
- success: false,
53
- errorCode: error instanceof Error ? error.message : String(error),
54
- });
55
- handleError(error instanceof Error ? error : new Error(String(error)));
56
- }
57
- });
58
- return command;
59
- };
60
- //# sourceMappingURL=create-example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-example.js","sourceRoot":"","sources":["../../../src/commands/create-example.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Command } from 'commander';
2
- import { Config } from '../utils/config';
3
- import { Analytics } from '../utils/analytics';
4
- export declare const createExportSchemaCommand: (config: Config, analytics: Analytics) => Command;
5
- //# sourceMappingURL=export-schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export-schema.d.ts","sourceRoot":"","sources":["../../../src/commands/export-schema.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,yBAAyB,WAAY,MAAM,aAAa,SAAS,KAAG,OAoDhF,CAAC"}
@@ -1,49 +0,0 @@
1
- import { Command } from 'commander';
2
- import { createOutput } from '../utils/terminal.js';
3
- import { handleError } from '../utils/errors.js';
4
- export const createExportSchemaCommand = (config, analytics) => {
5
- const output = createOutput(config);
6
- const command = new Command('export:schema');
7
- command
8
- .description('Export flow schema to .context/schema.json')
9
- .option('--directory <path>', 'Target directory (defaults to current directory)')
10
- .action(async (options) => {
11
- try {
12
- await analytics.track({ command: 'export:schema:start', success: true });
13
- const directory = options.directory ?? process.cwd();
14
- output.info(`Exporting flow schema from ${directory}/flows...`);
15
- // Import dynamically to avoid TypeScript module resolution issues
16
- const { handleExportSchemaCommand } = await import('@auto-engineer/flowlang');
17
- const exportCommand = {
18
- type: 'ExportSchema',
19
- data: {
20
- directory,
21
- },
22
- timestamp: new Date(),
23
- requestId: `export-schema-${Date.now()}`,
24
- };
25
- // TODO use the bus
26
- const result = await handleExportSchemaCommand(exportCommand);
27
- if (result.type === 'SchemaExported') {
28
- output.success(`✅ Flow schema exported successfully!`);
29
- output.info(`Schema written to: ${result.data.outputPath}`);
30
- await analytics.track({ command: 'export:schema', success: true });
31
- }
32
- else {
33
- output.error(`❌ Failed to export schema: ${result.data.error}`);
34
- await analytics.track({ command: 'export:schema', success: false, errorCode: result.data.error });
35
- process.exit(1);
36
- }
37
- }
38
- catch (error) {
39
- await analytics.track({
40
- command: 'export:schema',
41
- success: false,
42
- errorCode: error instanceof Error ? error.message : String(error),
43
- });
44
- handleError(error instanceof Error ? error : new Error(String(error)));
45
- }
46
- });
47
- return command;
48
- };
49
- //# sourceMappingURL=export-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"export-schema.js","sourceRoot":"","sources":["../../../src/commands/export-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAc,EAAE,SAAoB,EAAW,EAAE;IACzF,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAE7C,OAAO;SACJ,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,oBAAoB,EAAE,kDAAkD,CAAC;SAChF,MAAM,CAAC,KAAK,EAAE,OAA+B,EAAE,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAErD,MAAM,CAAC,IAAI,CAAC,8BAA8B,SAAS,WAAW,CAAC,CAAC;YAEhE,kEAAkE;YAClE,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAE9E,MAAM,aAAa,GAAG;gBACpB,IAAI,EAAE,cAAuB;gBAC7B,IAAI,EAAE;oBACJ,SAAS;iBACV;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE;aACzC,CAAC;YAEF,mBAAmB;YACnB,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAE9D,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAE5D,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChE,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,eAAe;gBACxB,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAClE,CAAC,CAAC;YACH,WAAW,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- import { Command } from 'commander';
2
- import { Config } from '../utils/config';
3
- import { Analytics } from '../utils/analytics';
4
- export declare const createGenerateClientCommand: (config: Config, analytics: Analytics) => Command;
5
- //# sourceMappingURL=generate-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-client.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-client.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;AAM/C,eAAO,MAAM,2BAA2B,WAAY,MAAM,aAAa,SAAS,KAAG,OA2FlF,CAAC"}
@@ -1,77 +0,0 @@
1
- import { Command } from 'commander';
2
- import { createOutput } from '../utils/terminal.js';
3
- import { handleError } from '../utils/errors.js';
4
- import * as path from 'path';
5
- import createDebug from 'debug';
6
- const debug = createDebug('cli:generate-client');
7
- export const createGenerateClientCommand = (config, analytics) => {
8
- const output = createOutput(config);
9
- const command = new Command('generate:client');
10
- command
11
- .description('Generate client application from IA schema and GraphQL schema')
12
- .argument('<starterDir>', 'Path to the starter template directory')
13
- .argument('<targetDir>', 'Target directory for the generated client')
14
- .argument('<iaSchemaPath>', 'Path to the IA schema JSON file')
15
- .argument('<gqlSchemaPath>', 'Path to the GraphQL schema file')
16
- .argument('<figmaVariablesPath>', 'Path to the Figma variables file')
17
- .action(async (starterDir, targetDir, iaSchemaPath, gqlSchemaPath, figmaVariablesPath) => {
18
- debug('Command started with args - starter: %s, target: %s, ia: %s, gql: %s, figma: %s', starterDir, targetDir, iaSchemaPath, gqlSchemaPath, figmaVariablesPath);
19
- try {
20
- await analytics.track({ command: 'generate:client:start', success: true });
21
- debug('Analytics tracked');
22
- // Resolve paths
23
- const resolvedStarterDir = path.resolve(starterDir);
24
- const resolvedTargetDir = path.resolve(targetDir);
25
- const resolvedIASchemaPath = path.resolve(iaSchemaPath);
26
- const resolvedGQLSchemaPath = path.resolve(gqlSchemaPath);
27
- debug('Paths resolved');
28
- output.info(`Generating client application`);
29
- output.info(`Starter template: ${resolvedStarterDir}`);
30
- output.info(`Target directory: ${resolvedTargetDir}`);
31
- output.info(`IA schema: ${resolvedIASchemaPath}`);
32
- output.info(`GraphQL schema: ${resolvedGQLSchemaPath}`);
33
- output.info(`Figma Variables: ${figmaVariablesPath}`);
34
- // Import the handler
35
- debug('Importing react-graphql-generator handler');
36
- const { handleGenerateClientCommand } = await import('@auto-engineer/react-graphql-generator');
37
- debug('Handler imported successfully');
38
- const generateCommand = {
39
- type: 'GenerateClient',
40
- data: {
41
- starterDir: resolvedStarterDir,
42
- targetDir: resolvedTargetDir,
43
- iaSchemaPath: resolvedIASchemaPath,
44
- gqlSchemaPath: resolvedGQLSchemaPath,
45
- figmaVariablesPath: figmaVariablesPath,
46
- },
47
- timestamp: new Date(),
48
- requestId: `generate-client-${Date.now()}`,
49
- };
50
- debug('Calling handleGenerateClientCommand with request ID: %s', generateCommand.requestId);
51
- const result = await handleGenerateClientCommand(generateCommand);
52
- debug('Command handler returned result type: %s', result.type);
53
- if (result.type === 'ClientGenerated') {
54
- debug('Client generation successful');
55
- output.success(`✅ Client generated at: ${result.data.targetDir}`);
56
- await analytics.track({ command: 'generate:client', success: true });
57
- debug('Success analytics tracked');
58
- }
59
- else {
60
- debug('Client generation failed: %s', result.data.error);
61
- output.error(`❌ Failed to generate client: ${result.data.error}`);
62
- await analytics.track({ command: 'generate:client', success: false, errorCode: result.data.error });
63
- debug('Failure analytics tracked, exiting with code 1');
64
- process.exit(1);
65
- }
66
- }
67
- catch (error) {
68
- debug('Exception caught: %O', error);
69
- await analytics.track({ command: 'generate:client', success: false, errorCode: 'exception' });
70
- handleError(error instanceof Error ? error : new Error(String(error)));
71
- debug('Error handled, exiting with code 1');
72
- process.exit(1);
73
- }
74
- });
75
- return command;
76
- };
77
- //# sourceMappingURL=generate-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-client.js","sourceRoot":"","sources":["../../../src/commands/generate-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Command } from 'commander';
2
- import { Config } from '../utils/config';
3
- import { Analytics } from '../utils/analytics';
4
- export declare const createGenerateGQLSchemaCommand: (config: Config, analytics: Analytics) => Command;
5
- //# sourceMappingURL=generate-gql-schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-gql-schema.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-gql-schema.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;AAK/C,eAAO,MAAM,8BAA8B,WAAY,MAAM,aAAa,SAAS,KAAG,OAwDrF,CAAC"}
@@ -1,57 +0,0 @@
1
- import { Command } from 'commander';
2
- import { createOutput } from '../utils/terminal.js';
3
- import { handleError } from '../utils/errors.js';
4
- import { execa } from 'execa';
5
- import * as path from 'path';
6
- import { existsSync } from 'fs';
7
- export const createGenerateGQLSchemaCommand = (config, analytics) => {
8
- const output = createOutput(config);
9
- const command = new Command('generate:gql-schema');
10
- command
11
- .description('Generate GraphQL schema from server resolvers')
12
- .argument('<serverPath>', 'Path to the server directory')
13
- .action(async (serverPath) => {
14
- try {
15
- await analytics.track({ command: 'generate:gql-schema:start', success: true });
16
- const absServerPath = path.resolve(serverPath);
17
- // Check if server directory exists
18
- if (!existsSync(absServerPath)) {
19
- output.error(`❌ Server directory not found: ${absServerPath}`);
20
- await analytics.track({ command: 'generate:gql-schema', success: false, errorCode: 'server_not_found' });
21
- process.exit(1);
22
- }
23
- // Check if generate-schema script exists
24
- const schemaScriptPath = path.join(absServerPath, 'scripts', 'generate-schema.ts');
25
- if (!existsSync(schemaScriptPath)) {
26
- output.error(`❌ GraphQL schema generation script not found at: ${schemaScriptPath}`);
27
- output.info('Please ensure the server was generated with generate:server command first');
28
- await analytics.track({ command: 'generate:gql-schema', success: false, errorCode: 'script_not_found' });
29
- process.exit(1);
30
- }
31
- output.info(`🔄 Generating GraphQL schema from: ${absServerPath}`);
32
- try {
33
- // Run the schema generation script
34
- await execa('npx', ['tsx', 'scripts/generate-schema.ts'], {
35
- cwd: absServerPath,
36
- stdio: 'inherit',
37
- });
38
- output.success(`✅ GraphQL schema generated successfully`);
39
- await analytics.track({ command: 'generate:gql-schema', success: true });
40
- }
41
- catch (execError) {
42
- output.error(`❌ Failed to generate GraphQL schema`);
43
- if (execError instanceof Error) {
44
- output.error(execError.message);
45
- }
46
- await analytics.track({ command: 'generate:gql-schema', success: false, errorCode: 'generation_failed' });
47
- process.exit(1);
48
- }
49
- }
50
- catch (error) {
51
- await analytics.track({ command: 'generate:gql-schema', success: false, errorCode: 'exception' });
52
- handleError(error instanceof Error ? error : new Error(String(error)));
53
- }
54
- });
55
- return command;
56
- };
57
- //# sourceMappingURL=generate-gql-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-gql-schema.js","sourceRoot":"","sources":["../../../src/commands/generate-gql-schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Command } from 'commander';
2
- import { Config } from '../utils/config';
3
- import { Analytics } from '../utils/analytics';
4
- export declare const createGenerateIACommand: (config: Config, analytics: Analytics) => Command;
5
- //# sourceMappingURL=generate-ia.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-ia.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-ia.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;AAG/C,eAAO,MAAM,uBAAuB,WAAY,MAAM,aAAa,SAAS,KAAG,OAwD9E,CAAC"}
@@ -1,54 +0,0 @@
1
- import { Command } from 'commander';
2
- import { createOutput } from '../utils/terminal.js';
3
- import { handleError } from '../utils/errors.js';
4
- import * as path from 'path';
5
- export const createGenerateIACommand = (config, analytics) => {
6
- const output = createOutput(config);
7
- const command = new Command('generate:ia');
8
- command
9
- .description('Generate Information Architecture schema from flow files')
10
- .argument('<outputDir>', 'Output directory for the IA schema')
11
- .argument('[flowFiles...]', 'Flow files to process')
12
- .action(async (outputDir, flowFiles) => {
13
- try {
14
- await analytics.track({ command: 'generate:ia:start', success: true });
15
- if (flowFiles.length === 0) {
16
- output.error('❌ No flow files provided');
17
- process.exit(1);
18
- }
19
- // Resolve paths
20
- const resolvedOutputDir = path.resolve(outputDir);
21
- const resolvedFlowFiles = flowFiles.map((f) => path.resolve(f));
22
- output.info(`Generating IA schema from ${flowFiles.length} flow file(s)`);
23
- output.info(`Output directory: ${resolvedOutputDir}`);
24
- // Import the handler
25
- const { handleGenerateIACommand } = await import('@auto-engineer/information-architect');
26
- const generateCommand = {
27
- type: 'GenerateIA',
28
- data: {
29
- outputDir: resolvedOutputDir,
30
- flowFiles: resolvedFlowFiles,
31
- },
32
- timestamp: new Date(),
33
- requestId: `generate-ia-${Date.now()}`,
34
- };
35
- const result = await handleGenerateIACommand(generateCommand);
36
- if (result.type === 'IAGenerated') {
37
- output.success(`✅ IA schema generated at: ${result.data.outputPath}`);
38
- await analytics.track({ command: 'generate:ia', success: true });
39
- }
40
- else {
41
- output.error(`❌ Failed to generate IA schema: ${result.data.error}`);
42
- await analytics.track({ command: 'generate:ia', success: false, errorCode: result.data.error });
43
- process.exit(1);
44
- }
45
- }
46
- catch (error) {
47
- await analytics.track({ command: 'generate:ia', success: false, errorCode: 'exception' });
48
- handleError(error instanceof Error ? error : new Error(String(error)));
49
- process.exit(1);
50
- }
51
- });
52
- return command;
53
- };
54
- //# sourceMappingURL=generate-ia.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-ia.js","sourceRoot":"","sources":["../../../src/commands/generate-ia.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Command } from 'commander';
2
- import { Config } from '../utils/config';
3
- import { Analytics } from '../utils/analytics';
4
- export declare const createGenerateServerCommand: (config: Config, analytics: Analytics) => Command;
5
- //# sourceMappingURL=generate-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-server.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-server.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,2BAA2B,WAAY,MAAM,aAAa,SAAS,KAAG,OAmDlF,CAAC"}
@@ -1,50 +0,0 @@
1
- import { Command } from 'commander';
2
- import { createOutput } from '../utils/terminal.js';
3
- import { handleError } from '../utils/errors.js';
4
- export const createGenerateServerCommand = (config, analytics) => {
5
- const output = createOutput(config);
6
- const command = new Command('generate:server');
7
- command
8
- .description('Generate server implementation from schema.json into ./server')
9
- .argument('<schemaPath>', 'Path to .context/schema.json')
10
- .option('--destination <path>', 'Destination project root (default: current directory)')
11
- .action(async (schemaPath, options) => {
12
- try {
13
- await analytics.track({ command: 'generate:server:start', success: true });
14
- const destination = options.destination ?? process.cwd();
15
- output.info(`Generating server from schema: ${schemaPath}`);
16
- output.info(`Destination: ${destination}`);
17
- // Import the handler
18
- const { handleGenerateServerCommand } = await import('@auto-engineer/emmett-generator');
19
- const generateCommand = {
20
- type: 'GenerateServer',
21
- data: {
22
- schemaPath,
23
- destination,
24
- },
25
- timestamp: new Date(),
26
- requestId: `generate-server-${Date.now()}`,
27
- };
28
- const result = await handleGenerateServerCommand(generateCommand);
29
- if (result.type === 'ServerGenerated') {
30
- output.success(`✅ Server generated at: ${result.data.serverDir}`);
31
- const schemaOut = result.data.contextSchemaGraphQL;
32
- if (typeof schemaOut === 'string' && schemaOut.length > 0) {
33
- output.info(`GraphQL schema: ${schemaOut}`);
34
- }
35
- await analytics.track({ command: 'generate:server', success: true });
36
- }
37
- else {
38
- output.error(`❌ Failed to generate server: ${result.data.error}`);
39
- await analytics.track({ command: 'generate:server', success: false, errorCode: result.data.error });
40
- process.exit(1);
41
- }
42
- }
43
- catch (error) {
44
- await analytics.track({ command: 'generate:server', success: false, errorCode: 'exception' });
45
- handleError(error instanceof Error ? error : new Error(String(error)));
46
- }
47
- });
48
- return command;
49
- };
50
- //# sourceMappingURL=generate-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-server.js","sourceRoot":"","sources":["../../../src/commands/generate-server.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Command } from 'commander';
2
- import { Config } from '../utils/config';
3
- import { Analytics } from '../utils/analytics';
4
- export declare const createImplementClientCommand: (config: Config, analytics: Analytics) => Command;
5
- //# sourceMappingURL=implement-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"implement-client.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-client.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;AAM/C,eAAO,MAAM,4BAA4B,WAAY,MAAM,aAAa,SAAS,KAAG,OA+EnF,CAAC"}
@@ -1,70 +0,0 @@
1
- import { Command } from 'commander';
2
- import { createOutput } from '../utils/terminal.js';
3
- import { handleError } from '../utils/errors.js';
4
- import * as path from 'path';
5
- import createDebug from 'debug';
6
- const debug = createDebug('cli:implement-client');
7
- export const createImplementClientCommand = (config, analytics) => {
8
- const output = createOutput(config);
9
- const command = new Command('implement:client');
10
- command
11
- .description('Use AI to implement the client application based on IA schema')
12
- .argument('<projectDir>', 'Client project directory to implement')
13
- .argument('<iaSchemeDir>', 'Directory containing the IA schema')
14
- .argument('<designSystemPath>', 'Path to design system markdown file')
15
- .action(async (projectDir, iaSchemeDir, designSystemPath) => {
16
- debug('Command started with args - projectDir: %s, iaSchemeDir: %s, designSystemPath: %s', projectDir, iaSchemeDir, designSystemPath);
17
- try {
18
- await analytics.track({ command: 'implement:client:start', success: true });
19
- debug('Analytics tracked');
20
- // Resolve paths
21
- const resolvedProjectDir = path.resolve(projectDir);
22
- const resolvedIASchemeDir = path.resolve(iaSchemeDir);
23
- const resolvedDesignSystemPath = path.resolve(designSystemPath);
24
- debug('Resolved paths - project: %s, IA: %s, design: %s', resolvedProjectDir, resolvedIASchemeDir, resolvedDesignSystemPath);
25
- output.info(`Implementing client application`);
26
- output.info(`Project directory: ${resolvedProjectDir}`);
27
- output.info(`IA schema directory: ${resolvedIASchemeDir}`);
28
- output.info(`Design system: ${resolvedDesignSystemPath}`);
29
- // Import the handler
30
- debug('Importing frontend-implementation handler');
31
- const { handleImplementClientCommand } = await import('@auto-engineer/frontend-implementation');
32
- debug('Handler imported successfully');
33
- const implementCommand = {
34
- type: 'ImplementClient',
35
- data: {
36
- projectDir: resolvedProjectDir,
37
- iaSchemeDir: resolvedIASchemeDir,
38
- designSystemPath: resolvedDesignSystemPath,
39
- },
40
- timestamp: new Date(),
41
- requestId: `implement-client-${Date.now()}`,
42
- };
43
- debug('Calling handleImplementClientCommand with request ID: %s', implementCommand.requestId);
44
- const result = await handleImplementClientCommand(implementCommand);
45
- debug('Command handler returned result type: %s', result.type);
46
- if (result.type === 'ClientImplemented') {
47
- debug('Client implementation successful');
48
- output.success(`✅ Client implemented successfully at: ${result.data.projectDir}`);
49
- await analytics.track({ command: 'implement:client', success: true });
50
- debug('Success analytics tracked');
51
- }
52
- else {
53
- debug('Client implementation failed: %s', result.data.error);
54
- output.error(`❌ Failed to implement client: ${result.data.error}`);
55
- await analytics.track({ command: 'implement:client', success: false, errorCode: result.data.error });
56
- debug('Failure analytics tracked, exiting with code 1');
57
- process.exit(1);
58
- }
59
- }
60
- catch (error) {
61
- debug('Exception caught: %O', error);
62
- await analytics.track({ command: 'implement:client', success: false, errorCode: 'exception' });
63
- handleError(error instanceof Error ? error : new Error(String(error)));
64
- debug('Error handled, exiting with code 1');
65
- process.exit(1);
66
- }
67
- });
68
- return command;
69
- };
70
- //# sourceMappingURL=implement-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"implement-client.js","sourceRoot":"","sources":["../../../src/commands/implement-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,MAAM,KAAK,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAc,EAAE,SAAoB,EAAW,EAAE;IAC5F,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEhD,OAAO;SACJ,WAAW,CAAC,+DAA+D,CAAC;SAC5E,QAAQ,CAAC,cAAc,EAAE,uCAAuC,CAAC;SACjE,QAAQ,CAAC,eAAe,EAAE,oCAAoC,CAAC;SAC/D,QAAQ,CAAC,oBAAoB,EAAE,qCAAqC,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,WAAmB,EAAE,gBAAwB,EAAE,EAAE;QAClF,KAAK,CACH,mFAAmF,EACnF,UAAU,EACV,WAAW,EACX,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAE3B,gBAAgB;YAChB,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAChE,KAAK,CACH,kDAAkD,EAClD,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,CACzB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,sBAAsB,kBAAkB,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,wBAAwB,mBAAmB,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,kBAAkB,wBAAwB,EAAE,CAAC,CAAC;YAE1D,qBAAqB;YACrB,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACnD,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;YAChG,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAEvC,MAAM,gBAAgB,GAAG;gBACvB,IAAI,EAAE,iBAA0B;gBAChC,IAAI,EAAE;oBACJ,UAAU,EAAE,kBAAkB;oBAC9B,WAAW,EAAE,mBAAmB;oBAChC,gBAAgB,EAAE,wBAAwB;iBAC3C;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE;aAC5C,CAAC;YAEF,KAAK,CAAC,0DAA0D,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;YACpE,KAAK,CAAC,0CAA0C,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAE/D,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBACxC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAC1C,MAAM,CAAC,OAAO,CAAC,yCAAyC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAClF,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,kCAAkC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7D,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnE,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACrG,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YACrC,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/F,WAAW,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvE,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- import { Command } from 'commander';
2
- import type { Analytics } from '../utils/analytics';
3
- import { Config } from '../utils/config';
4
- export declare const createImplementServerCommand: (config: Config, analytics: Analytics) => Command;
5
- //# sourceMappingURL=implement-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"implement-server.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-server.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;AAiDzC,eAAO,MAAM,4BAA4B,WAAY,MAAM,aAAa,SAAS,KAAG,OAgCnF,CAAC"}
@@ -1,69 +0,0 @@
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 determineServerDirectory = (serverDirectoryArg, options) => {
6
- let serverDirectory = './server';
7
- if (serverDirectoryArg !== undefined && serverDirectoryArg !== null && serverDirectoryArg.trim() !== '') {
8
- serverDirectory = serverDirectoryArg;
9
- }
10
- else if (options?.directory !== undefined && options.directory !== null && options.directory.trim() !== '') {
11
- serverDirectory = options.directory;
12
- }
13
- return path.resolve(serverDirectory);
14
- };
15
- const handleServerImplementation = async (resolvedDirectory, output, analytics) => {
16
- output.info(`🚀 Implementing server flows in: ${resolvedDirectory}`);
17
- // Dynamic import to avoid circular dependency issues
18
- const { handleImplementServerCommand } = await import('@auto-engineer/server-implementer');
19
- const implementCommand = {
20
- type: 'ImplementServer',
21
- data: {
22
- serverDirectory: resolvedDirectory,
23
- },
24
- timestamp: new Date(),
25
- requestId: `implement-server-${Date.now()}`,
26
- correlationId: `implement-server-${Date.now()}`,
27
- };
28
- const result = await handleImplementServerCommand(implementCommand);
29
- if (result.type === 'ServerImplemented') {
30
- output.success('✅ Server implementation completed successfully');
31
- if (result.data.flowsImplemented > 0) {
32
- output.info(` ${result.data.flowsImplemented} flows implemented`);
33
- }
34
- await analytics.track({ command: 'implement:server:complete', success: true });
35
- }
36
- else {
37
- output.error(`❌ Server implementation failed: ${result.data.error}`);
38
- await analytics.track({ command: 'implement:server:failed', success: false });
39
- process.exit(1);
40
- }
41
- };
42
- export const createImplementServerCommand = (config, analytics) => {
43
- const output = createOutput(config);
44
- const command = new Command('implement:server');
45
- command
46
- .description('Implement server flows using AI')
47
- .argument('[server-directory]', 'Path to the server directory (defaults to ./server)')
48
- .option('-d, --directory <path>', 'Server directory path (alternative to argument)')
49
- .action(async (serverDirectoryArg, options) => {
50
- try {
51
- await analytics.track({ command: 'implement:server:start', success: true });
52
- const resolvedDirectory = determineServerDirectory(serverDirectoryArg, options);
53
- await handleServerImplementation(resolvedDirectory, output, analytics);
54
- }
55
- catch (error) {
56
- await analytics.track({ command: 'implement:server:error', success: false });
57
- handleError(error);
58
- process.exit(1);
59
- }
60
- });
61
- command.addHelpText('after', `
62
- Examples:
63
- $ auto-engineer implement:server
64
- $ auto-engineer implement:server ./my-server
65
- $ auto-engineer implement:server --directory ./backend/server
66
- `);
67
- return command;
68
- };
69
- //# sourceMappingURL=implement-server.js.map