createFeature method
Create a feature with Bloc + Presentation + Domain + Data layers
Implementation
void createFeature(String projectName, String featureName) {
final base = '$projectName/lib/features/$featureName';
// Folders
final folders = [
'$base/presentation/bloc',
'$base/presentation/view',
'$base/domain/entities',
'$base/domain/repositories',
'$base/domain/usecases',
'$base/data/models',
'$base/data/repositories',
'$base/data/datasources',
];
for (final f in folders) Directory(f).createSync(recursive: true);
// Create Bloc files
_createBloc(base, featureName);
// Domain files
_createDomainFiles(base, featureName);
// Data files
_createDataFiles(base, featureName);
// Presentation view
_createPresentationView(base, featureName);
print('✅ Feature $featureName created!');
}