run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<void> run() async {
final packages = argResults!.rest;
if (packages.isEmpty) {
print('❌ No packages specified');
printUsage();
exit(1);
}
final isDev = argResults!['dev'] == true;
print('📦 Adding packages: ${packages.join(', ')}${isDev ? ' (dev dependencies)' : ''}');
await _addPackages(packages, isDev);
}