run method

Future<void> run(
  1. List<String> arguments
)

Runs the create command with the provided arguments.

Parses CLI arguments, validates input, optionally switches Flutter versions, and creates a new project from a given template.

Implementation

Future<void> run(List<String> arguments) async {
  final parser = _buildParser();
  final results = parser.parse(arguments);

  if (results['help'] as bool) {
    _printUsage(parser);
    return;
  }

  if (results.rest.isEmpty) {
    logger.err('Please provide a project name');
    _printUsage(parser);
    exit(1);
  }

  final projectName = results.rest.first;
  final templatePath = results['template'] as String?;
  final orgId = results['org'] as String;
  final appName = results['app-name'] as String?;
  final flutterVersion = results['flutter-version'] as String?;

  await _validateInputs(templatePath, projectName);
  await _handleFlutterVersion(flutterVersion);
  await _createProject(projectName, templatePath!, orgId, appName);
}