execute method

  1. @override
Future<void> execute()
override

execute command

Implementation

@override
Future<void> execute() async {
  final readmeFile = File('README.md');

  if (readmeFile.existsSync()) {
    final menu = Menu(
      ['Yes', 'No'],
      title: 'README.md already exists. Overwrite?',
    );
    final result = menu.choose();
    if (result.index != 0) {
      LogService.info('Cancelled README generation.');
      return;
    }
  }

  final projectName = _getProjectName();
  final description = ask('Project description (press Enter for default):').trim();
  final finalDescription = description.isEmpty
      ? 'A Flutter application built with GetX architecture and RGBM CLI.'
      : description;

  final sdkVersions = _getSdkVersions();
  final readmeContent = _generateReadmeTemplate(projectName, finalDescription, sdkVersions);
  readmeFile.writeAsStringSync(readmeContent);
  LogService.success('Generated README.md successfully.');
}