start method
Starts the initialization wizard and collects project configuration.
Returns the resulting InitConfig based on the user's selections.
Implementation
Future<InitConfig> start() async {
LoggerService.section('FKIT Project Initialization');
final projectName = ProjectStep().collect();
final featureDir = FeatureStep().collect();
final useFvm = ToolingStep().collect();
final platforms = PlatformStep().collect();
final flavors = FlavorStep(platforms).collect();
final testerGroup = FirebaseStep().collect();
final localization = LocalizationStep().collect();
final generator = GeneratorStep().collect();
return InitConfig(
version: FkitVersion.current,
projectName: projectName,
useFvm: useFvm,
android: platforms.android,
ios: platforms.ios,
web: platforms.web,
flavoringEnabled: flavors.enabled,
defaultFlavor: flavors.defaultFlavor,
flavors: flavors.flavors,
localizationEnabled: localization.enabled,
arbDir: localization.arbDir,
outputDir: localization.outputDir,
outputFile: localization.outputFile,
defaultLocale: localization.defaultLocale,
locales: localization.locales,
debugInfo: './debug-info',
obfuscate: true,
mainEntry: 'lib/main.dart',
testerGroup: testerGroup,
featureDir: featureDir,
defaultTemplate: generator.defaultTemplate,
);
}