boot method

  1. @override
Future<void> boot(
  1. ContainerInterface container
)
override

Called after all providers are registered (for initialization).

Implementation

@override
Future<void> boot(ContainerInterface container) async {
  final envSystem = container.resolve<EnvInterface>();
  envSystem.loadFromFile('.env');

  final config = container.resolve<ConfigInterface>() as ConfigSystem;
  config.setEnvironment(envSystem.getOrDefault('APP_ENV', 'development'));

  final logger = container.resolve<Logger>();
  final queue = container.resolve<QueueManager>();

  await _loadConfigsFromAppConfig(config, logger);
  _ensureDatabaseConfigFromEnv(envSystem, config);

  try {
    queue.loadFromConfig();
  } catch (e) {
    logger.warning(
      '⚠️ Queue not configured. Queue-related commands may fail. ($e)',
    );
  }

  logger.info('✅ CLI services initialized');
}