One component in an application that does not use the framework, which is what the components are for and is easy to forget.
// symfony/console, in a Laravel application, for one
// standalone binary that must not boot the framework
$application = new Application('td-migrate', '2.1.0');
$application->add(new MigrateCommand($connection));
$application->run();
// 4 MB of vendor, no container, and it starts in 12ms
// against 380ms for the framework's console.
A migration tool that must run when the application cannot boot — during a partial deploy, against a database at an unknown schema version — needs to not depend on the application. The component gives an argument parser and a help screen for four megabytes, and the alternative is writing one badly.