createProject function

void createProject({
  1. required String name,
  2. required String version,
  3. String? framework,
})

Implementation

void createProject({
  required String name,
  required String version,
  String? framework,
}) {
  print('📦 Creating Dartstream project: $name');

  final projectDir = getProjectDir(name);

  // Check if directory exists
  if (projectDir.existsSync()) {
    print('❌ Project "$name" already exists.');
    return;
  }

  projectDir.createSync();

  // Create standard project structure
  _createProjectStructure(projectDir.path);

  // Generate framework-specific files
  if (framework != null) {
    _generateFrameworkFiles(projectDir.path, framework, name, version);
  } else {
    _generateBasicFiles(projectDir.path, name, version);
  }

  // Save initial configuration
  saveProjectConfig(
    name: name,
    content: {
      'name': name,
      'version': version,
      'framework': framework ?? 'dart_web',
      'created': DateTime.now().toIso8601String(),
    },
  );

  print('✅ Project created successfully!');
}