Composer Integration
FastForward DevTools is exposed through both a Composer plugin and a dedicated console application.
Startup Chain
bin/dev-toolsloadsbin/dev-tools.php.bin/dev-tools.phpprefers the consumer project'svendor/autoload.phpand falls back to the package autoloader.bin/dev-tools.phpstartsFastForward\DevTools\Console\DevToolsand appends--no-plugins.FastForward\DevTools\Console\DevTools::create()builds the shared container fromFastForward\DevTools\ServiceProvider\DevToolsServiceProvider.FastForward\DevTools\Console\CommandLoader\DevToolsCommandLoaderlazily discovers#[AsCommand]classes from the command namespace.FastForward\DevTools\Composer\Capability\DevToolsCommandProviderlater exposes that same command set to Composer.
Composer Plugin Classes
| Class | Purpose |
|---|---|
FastForward\DevTools\Composer\Plugin
|
Registers the command provider and runs dev-tools:sync
after
Composer install and update. |
FastForward\DevTools\Composer\Capability\DevToolsCommandProvider
|
Instantiates and returns the available command classes. |
FastForward\DevTools\Console\DevTools
|
Console application used by the local binary. |
Why --no-plugins
Is Appended
The local binary already knows which commands it needs. Appending
--no-plugins
keeps the standalone application predictable and avoids
pulling unrelated Composer plugins into the command runtime.