execute method

Future<void> execute()

Execute the init command

Implementation

Future<void> execute() async {
  try {
    CliUtils.printHeader();
    CliUtils.printInfo('Initializing AI Translation Generator...');
    CliUtils.printSeparator();

    // Check if config already exists
    if (_configService.configExists()) {
      CliUtils.printWarning('Configuration file already exists.');
      CliUtils.printInfo(
        'Current directory: ${_configService.getCurrentDirectory()}',
      );
      return;
    }

    // Create default configuration
    CliUtils.printInfo('Creating default configuration file...');
    await _configService.createDefaultConfig();

    CliUtils.printSuccess('Configuration file created successfully!');
    CliUtils.printInfo('File: ai_translation_generator.yaml');
    stdout.writeln();
    CliUtils.printSeparator();
    stdout.writeln();

    CliUtils.printInfo('Next steps:');
    stdout.writeln();
    CliUtils.printColored(
      '1. Edit ai_translation_generator.yaml to add your strings',
      color: 'cyan',
    );
    CliUtils.printColored(
      '2. Run "aitranslation generate" to start translation',
      color: 'cyan',
    );
    stdout.writeln();
  } catch (e) {
    CliUtils.printError('Failed to initialize: ${e.toString()}');
    exit(1);
  }
}