@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
package/dist/src/index.js CHANGED
@@ -1,29 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
3
  import chalk from 'chalk';
4
- import gradient from 'gradient-string';
5
- import figlet from 'figlet';
6
4
  import * as dotenv from 'dotenv';
7
5
  import * as path from 'path';
8
6
  import * as fs from 'fs';
9
7
  import { loadConfig, validateConfig } from './utils/config.js';
10
8
  import { handleError } from './utils/errors.js';
11
- import { createOutput, supportsColor } from './utils/terminal.js';
9
+ import { createOutput } from './utils/terminal.js';
12
10
  import { Analytics } from './utils/analytics.js';
13
- import { createCreateExampleCommand } from './commands/create-example.js';
14
- import { createCopyExampleCommand } from './commands/copy-example.js';
15
- import { createExportSchemaCommand } from './commands/export-schema.js';
16
- import { createGenerateServerCommand } from './commands/generate-server.js';
17
- import { createGenerateGQLSchemaCommand } from './commands/generate-gql-schema.js';
18
- import { createImplementServerCommand } from './commands/implement-server.js';
19
- import { createImportDesignSystemCommand } from './commands/import-design-system.js';
20
- import { createGenerateIACommand } from './commands/generate-ia.js';
21
- import { createGenerateClientCommand } from './commands/generate-client.js';
22
- import { createImplementClientCommand } from './commands/implement-client.js';
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';
11
+ import { PluginLoader } from './plugin-loader.js';
27
12
  const VERSION = process.env.npm_package_version ?? '0.1.2';
28
13
  const checkNodeVersion = () => {
29
14
  const nodeVersion = process.version;
@@ -72,80 +57,255 @@ const createCLI = () => {
72
57
  .option('--project-path <path>', 'Project path to work with');
73
58
  return program;
74
59
  };
75
- const displayBanner = (config) => {
76
- if (config.output === 'text' && supportsColor(config) && process.stdout.isTTY) {
77
- const asciiText = figlet.textSync('AutoEngineer', { font: 'Slant' });
78
- console.log(chalk.bgBlack(gradient(['#F44B4B', '#FF9C1A', '#F9F871', '#4CD964', '#4BC6F4'])(asciiText)));
79
- console.log();
60
+ const commandMappers = {
61
+ 'create:example': (args) => ({ name: args[0], destination: args[1] }),
62
+ 'export:schema': (args) => ({ contextDir: args[0], flowsDir: args[1] }),
63
+ 'generate:server': (args) => ({ schemaPath: args[0], destination: args[1] }),
64
+ 'implement:server': (args) => ({ serverDirectory: args[0] }),
65
+ 'implement:slice': (args) => ({ serverDir: args[0], sliceName: args[1] }),
66
+ 'generate:client': (args) => ({
67
+ starterDir: args[0],
68
+ targetDir: args[1],
69
+ iaSchemaPath: args[2],
70
+ gqlSchemaPath: args[3],
71
+ figmaVariablesPath: args[4],
72
+ }),
73
+ 'implement:client': (args) => ({
74
+ projectDir: args[0],
75
+ iaSchemeDir: args[1],
76
+ designSystemPath: args[3] ?? args[2],
77
+ }),
78
+ 'check:types': (args, options) => ({
79
+ targetDirectory: args[0],
80
+ fix: options.fix ?? false,
81
+ scope: options.scope,
82
+ }),
83
+ 'check:tests': (args, options) => ({
84
+ targetDirectory: args[0],
85
+ scope: options.scope,
86
+ }),
87
+ 'check:lint': (args, options) => ({
88
+ targetDirectory: args[0],
89
+ fix: options.fix ?? false,
90
+ scope: options.scope,
91
+ }),
92
+ 'check:client': (args) => ({ clientDir: args[0] }),
93
+ 'import:design-system': (args) => ({
94
+ outputDir: args[0],
95
+ strategy: args[1],
96
+ filterPath: args[2],
97
+ }),
98
+ 'generate:ia': (args) => ({
99
+ outputDir: args[0],
100
+ // Handle variadic arguments - args[1] might be an array if variadic
101
+ flowFiles: Array.isArray(args[1]) ? args[1] : args.slice(1),
102
+ }),
103
+ 'copy:example': (args) => ({ exampleName: args[0], destination: args[1] }),
104
+ };
105
+ const prepareCommandData = (alias, args, options) => {
106
+ const mapper = commandMappers[alias];
107
+ if (mapper !== undefined) {
108
+ return mapper(args, options);
80
109
  }
110
+ // Default handling for unknown commands
111
+ const baseData = {};
112
+ args.forEach((arg, index) => {
113
+ if (arg !== '') {
114
+ baseData[`arg${index + 1}`] = arg;
115
+ }
116
+ });
117
+ Object.keys(options).forEach((key) => {
118
+ if (options[key] !== undefined && key !== '_') {
119
+ baseData[key] = options[key];
120
+ }
121
+ });
122
+ return baseData;
81
123
  };
82
- const setupProgram = (config) => {
124
+ const setupProgram = async (config) => {
83
125
  const program = createCLI();
84
126
  const analytics = new Analytics(config);
85
- program.addCommand(createCreateExampleCommand(config, analytics));
86
- program.addCommand(createCopyExampleCommand(config, analytics));
87
- program.addCommand(createExportSchemaCommand(config, analytics));
88
- program.addCommand(createGenerateServerCommand(config, analytics));
89
- program.addCommand(createGenerateGQLSchemaCommand(config, analytics));
90
- program.addCommand(createImplementServerCommand(config, analytics));
91
- program.addCommand(createImportDesignSystemCommand(config, analytics));
92
- program.addCommand(createGenerateIACommand(config, analytics));
93
- program.addCommand(createGenerateClientCommand(config, analytics));
94
- program.addCommand(createImplementClientCommand(config, analytics));
95
- program.addCommand(createCheckClientCommand(config, analytics));
96
- program.addCommand(createCheckTypesCommand(config, analytics));
97
- program.addCommand(createCheckTestsCommand(config, analytics));
98
- program.addCommand(createCheckLintCommand(config, analytics));
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
-
122
- Examples:
123
-
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
147
-
148
- Environment Variables:
127
+ const output = createOutput(config);
128
+ const loadedCommands = new Map();
129
+ // Configure help to be minimal since we add our own
130
+ program.configureHelp({
131
+ sortSubcommands: true,
132
+ subcommandTerm: (cmd) => cmd.name(),
133
+ // Hide the Commands section
134
+ formatHelp: (cmd, helper) => {
135
+ const termWidth = helper.padWidth(cmd, helper);
136
+ const helpWidth = helper.helpWidth ?? 80;
137
+ const itemIndentWidth = 2;
138
+ const itemSeparatorWidth = 2;
139
+ function formatItem(term, description) {
140
+ if (description !== '') {
141
+ const fullText = `${term.padEnd(termWidth + itemSeparatorWidth)}${description}`;
142
+ return helper.wrap(fullText, helpWidth - itemIndentWidth, termWidth + itemSeparatorWidth);
143
+ }
144
+ return term;
145
+ }
146
+ function formatList(textArray) {
147
+ return textArray.join('\n').replace(/^/gm, ' '.repeat(itemIndentWidth));
148
+ }
149
+ const output = [];
150
+ // Usage
151
+ const commandUsage = helper.commandUsage(cmd);
152
+ output.push('Usage: ' + commandUsage, '');
153
+ // Description
154
+ const commandDescription = helper.commandDescription(cmd);
155
+ if (commandDescription !== '') {
156
+ output.push(commandDescription, '');
157
+ }
158
+ // Options
159
+ const optionList = helper.visibleOptions(cmd).map((option) => {
160
+ return formatItem(helper.optionTerm(option), helper.optionDescription(option));
161
+ });
162
+ if (optionList.length > 0) {
163
+ output.push('Options:', formatList(optionList), '');
164
+ }
165
+ // Skip the Commands section - we'll add our own
166
+ return output.join('\n');
167
+ },
168
+ });
169
+ // Check for auto.config.ts or auto.config.js file
170
+ let configPath = path.resolve(process.cwd(), 'auto.config.ts');
171
+ let hasPluginConfig = fs.existsSync(configPath);
172
+ if (!hasPluginConfig) {
173
+ configPath = path.resolve(process.cwd(), 'auto.config.js');
174
+ hasPluginConfig = fs.existsSync(configPath);
175
+ }
176
+ if (!hasPluginConfig) {
177
+ output.error('No auto.config.ts or auto.config.js found. Please create one with your required plugins.');
178
+ output.info('Example auto.config.js:');
179
+ console.log(`
180
+ export default {
181
+ plugins: [
182
+ '@auto-engineer/flowlang',
183
+ '@auto-engineer/emmett-generator',
184
+ '@auto-engineer/server-implementer',
185
+ // Add more plugins as needed
186
+ ]
187
+ };`);
188
+ process.exit(1);
189
+ }
190
+ // Use plugin system
191
+ output.info('Loading plugins from auto.config.ts...');
192
+ try {
193
+ const pluginLoader = new PluginLoader();
194
+ const commands = await pluginLoader.loadPlugins(configPath);
195
+ // Store loaded commands for dynamic help generation
196
+ commands.forEach((command, alias) => {
197
+ loadedCommands.set(alias, command);
198
+ });
199
+ // Register CLI commands that will dispatch through the message bus
200
+ for (const [alias, command] of commands.entries()) {
201
+ // Parse the command alias to get parts for commander
202
+ const parts = alias.split(':');
203
+ const primaryCommand = parts[0];
204
+ const subCommand = parts.slice(1).join(':');
205
+ let cmd;
206
+ if (subCommand) {
207
+ // Create as subcommand (e.g., "create:example" becomes "create example")
208
+ cmd = new Command(`${primaryCommand}:${subCommand}`);
209
+ }
210
+ else {
211
+ // Single command
212
+ cmd = new Command(primaryCommand);
213
+ }
214
+ cmd.description(command.description);
215
+ // Add arguments from the command manifest
216
+ if (command.args) {
217
+ command.args.forEach((arg) => {
218
+ // Handle variadic arguments (e.g., flows...)
219
+ const isVariadic = arg.name.endsWith('...');
220
+ const argName = isVariadic ? arg.name : arg.name;
221
+ const argString = arg.required === true ? `<${argName}>` : `[${argName}]`;
222
+ cmd.argument(argString, arg.description ?? '');
223
+ });
224
+ }
225
+ // Add options from the command manifest
226
+ if (command.options) {
227
+ command.options.forEach((opt) => {
228
+ cmd.option(opt.name, opt.description ?? '');
229
+ });
230
+ }
231
+ cmd.action(async (...args) => {
232
+ try {
233
+ await analytics.track({ command: alias, success: true });
234
+ // Extract arguments and options
235
+ // Commander passes: [...args, command, options]
236
+ // For variadic, all extra args are collected into an array
237
+ const cmdArgs = args.slice(0, -2); // Last two are command and options
238
+ const options = args[args.length - 1];
239
+ // Debug logging
240
+ if (process.env.DEBUG !== undefined && process.env.DEBUG.includes('cli:')) {
241
+ console.error('DEBUG cli: Raw args:', args);
242
+ console.error('DEBUG cli: Command args:', cmdArgs);
243
+ }
244
+ // Filter out empty strings but keep arrays (for variadic args)
245
+ const nonEmptyArgs = cmdArgs.filter((arg) => {
246
+ if (typeof arg === 'string')
247
+ return arg !== '';
248
+ if (Array.isArray(arg))
249
+ return true;
250
+ return false;
251
+ });
252
+ // Prepare command data based on the command type
253
+ const commandData = prepareCommandData(alias, nonEmptyArgs, options);
254
+ if (process.env.DEBUG !== undefined && process.env.DEBUG.includes('cli:')) {
255
+ console.error('DEBUG cli: Prepared command data:', commandData);
256
+ }
257
+ // Execute through the plugin loader which will dispatch via message bus
258
+ await pluginLoader.executeCommand(alias, commandData);
259
+ await analytics.track({ command: alias, success: true });
260
+ }
261
+ catch (error) {
262
+ await analytics.track({ command: alias, success: false });
263
+ handleError(error);
264
+ }
265
+ });
266
+ program.addCommand(cmd);
267
+ }
268
+ const pluginCount = pluginLoader.getLoadedPluginCount();
269
+ output.success(`Loaded ${commands.size} commands from ${pluginCount} plugins`);
270
+ }
271
+ catch (error) {
272
+ output.error('Failed to load plugins');
273
+ console.error(error);
274
+ process.exit(1);
275
+ }
276
+ // Generate dynamic help text from loaded commands
277
+ const generateDynamicHelp = () => {
278
+ const categories = new Map();
279
+ // Group commands by category
280
+ loadedCommands.forEach((command, alias) => {
281
+ const category = command.category ?? 'Other Commands';
282
+ if (!categories.has(category)) {
283
+ categories.set(category, []);
284
+ }
285
+ categories.get(category).push({ alias, command });
286
+ });
287
+ const helpText = [];
288
+ helpText.push('\nCommands:\n');
289
+ // Build help text for each category
290
+ categories.forEach((commands, category) => {
291
+ helpText.push(`\n ${chalk.cyan(category)}\n`);
292
+ commands.forEach(({ alias, command }) => {
293
+ const usage = command.usage ?? alias;
294
+ const description = command.description ?? 'No description available';
295
+ // Calculate padding for alignment
296
+ const padding = ' '.repeat(Math.max(0, 60 - usage.length));
297
+ helpText.push(` ${usage}${padding}${description}\n`);
298
+ // Add examples indented under the command
299
+ if (command.examples && command.examples.length > 0) {
300
+ command.examples.forEach((example) => {
301
+ helpText.push(` ${chalk.gray(example)}\n`);
302
+ });
303
+ }
304
+ });
305
+ });
306
+ // Add environment variables section
307
+ helpText.push(`
308
+ \nEnvironment Variables:
149
309
  ${chalk.gray('AI Providers (need at least one):')}
150
310
  ANTHROPIC_API_KEY Anthropic Claude API key
151
311
  OPENAI_API_KEY OpenAI API key
@@ -159,12 +319,14 @@ Environment Variables:
159
319
  AUTO_ENGINEER_ANALYTICS=false Disable usage analytics
160
320
 
161
321
  Tips:
162
- • Use DEBUG=* to troubleshoot command issues, then narrow the debug scope down to specific command(s)
322
+ • Use DEBUG=* to troubleshoot command issues
163
323
  • Run 'pnpm install' after create:example
164
- Ensure servers are running before check:client
324
+ Commands available depend on plugins in auto.config.ts
165
325
 
166
- For docs & support: https://github.com/SamHatoum/auto-engineer
167
- `);
326
+ For docs & support: https://github.com/SamHatoum/auto-engineer\n`);
327
+ return helpText.join('');
328
+ };
329
+ program.addHelpText('after', generateDynamicHelp());
168
330
  return program;
169
331
  };
170
332
  const loadEnvFile = () => {
@@ -209,8 +371,7 @@ const main = async () => {
209
371
  });
210
372
  validateConfig(config);
211
373
  createOutput(config);
212
- displayBanner(config);
213
- const fullProgram = setupProgram(config);
374
+ const fullProgram = await setupProgram(config);
214
375
  await fullProgram.parseAsync(process.argv);
215
376
  }
216
377
  catch (error) {
@@ -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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"}
@@ -0,0 +1,21 @@
1
+ export interface CommandDefinition {
2
+ handler: () => Promise<unknown>;
3
+ description: string;
4
+ usage?: string;
5
+ examples?: string[];
6
+ args?: Array<{
7
+ name: string;
8
+ description: string;
9
+ required?: boolean;
10
+ }>;
11
+ options?: Array<{
12
+ name: string;
13
+ description: string;
14
+ }>;
15
+ }
16
+ export interface CliManifest {
17
+ category: string;
18
+ commands: Record<string, CommandDefinition>;
19
+ }
20
+ export declare const CLI_MANIFEST: CliManifest;
21
+ //# sourceMappingURL=manifest-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-types.d.ts","sourceRoot":"","sources":["../../src/manifest-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,YAAY,EAAS,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const CLI_MANIFEST = {}; // Type-only export
2
+ //# sourceMappingURL=manifest-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-types.js","sourceRoot":"","sources":["../../src/manifest-types.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,YAAY,GAAG,EAAiB,CAAC,CAAC,mBAAmB"}
@@ -0,0 +1,49 @@
1
+ export interface CliCommand {
2
+ handler: () => Promise<unknown>;
3
+ description: string;
4
+ package: string;
5
+ usage?: string;
6
+ examples?: string[];
7
+ args?: Array<{
8
+ name: string;
9
+ description: string;
10
+ required?: boolean;
11
+ }>;
12
+ options?: Array<{
13
+ name: string;
14
+ description: string;
15
+ }>;
16
+ category?: string;
17
+ }
18
+ export interface PluginConfig {
19
+ plugins: string[];
20
+ aliases?: Record<string, unknown>;
21
+ }
22
+ export declare class PluginLoader {
23
+ private commands;
24
+ private conflicts;
25
+ private loadedPlugins;
26
+ private messageBus;
27
+ loadConfig?: (configPath: string) => Promise<PluginConfig>;
28
+ importPlugin?: (packageName: string) => Promise<unknown>;
29
+ constructor();
30
+ private loadConfigFile;
31
+ private loadPlugin;
32
+ private processPlugin;
33
+ private findMatchingCandidate;
34
+ private processConflictResolution;
35
+ private processStringAlias;
36
+ private processHandlerAlias;
37
+ private processFunctionAlias;
38
+ private processCustomAlias;
39
+ private processCustomAliases;
40
+ private reportConflicts;
41
+ loadPlugins(configPath: string): Promise<Map<string, CliCommand>>;
42
+ getLoadedPluginCount(): number;
43
+ private registerCommand;
44
+ executeCommand(commandAlias: string, data: unknown): Promise<void>;
45
+ getCommands(): Map<string, CliCommand>;
46
+ getConflicts(): Map<string, string[]>;
47
+ }
48
+ export declare function loadPlugins(configPath: string): Promise<Map<string, CliCommand>>;
49
+ //# sourceMappingURL=plugin-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../src/plugin-loader.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAa;IAGxB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;;YAMlD,cAAc;YA8Bd,UAAU;YAwBV,aAAa;YA4Cb,qBAAqB;YAuBrB,yBAAyB;IAsCvC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,kBAAkB;YAiBZ,oBAAoB;IAWlC,OAAO,CAAC,eAAe;IAkCjB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAkDvE,oBAAoB,IAAI,MAAM;YAIhB,eAAe;IAmFvB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAItC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAGtC;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAGtF"}