c33s/composer-construction-kit-installer
Composer plugin for C33s Construction Kit: detects installed packages with the c33s-building-blocks extra and writes a list of blocks to {$appDir}/config/config/c33s_construction_kit.composer.yml for use by c33s/construction-kit-bundle.
C33sConstructionKitBundle), not Laravel. While Laravel can use Symfony bundles via symfony/flex, this plugin’s core functionality—auto-registering "building blocks" in a composer.yml config file—is Symfony-centric and may not align with Laravel’s autoloading/dependency injection (DI) container or configuration paradigms.post-update-cmd), which is compatible with Laravel’s Composer integration but may introduce unexpected side effects (e.g., writing to config/ directory, which Laravel typically avoids for dynamic files).c33s/construction-kit-bundle, adding vendor lock-in and potential maintenance overhead if the bundle evolves.config/ directory is not a standard location for dynamically generated files (typically uses config/c33s_construction_kit.php or cached config).Bundle autoloading, which Laravel lacks natively.{$appDir}/config/config/c33s_construction_kit.composer.yml may clash with Laravel’s config/ structure.AppKernel.php (deprecated) or config/bundles.php (Symfony 4+). Laravel has no equivalent.post-update-cmd script may interfere with Laravel’s post-update-cmd or post-install-cmd scripts.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Symfony-Specific Logic | High | Abstract bundle registration into a Laravel-compatible layer (e.g., custom service provider). |
| Config File Collisions | Medium | Override file path in plugin config or use Laravel’s config_cache. |
| DI Container Issues | High | Manually load Symfony bundles via Bundle::registerBundles() in a Laravel event listener. |
| Plugin Conflicts | Medium | Test with other Composer plugins (e.g., laravel/installer). |
| Maintenance Overhead | Medium | Monitor for updates to c33s/construction-kit-bundle. |
composer.json extras)?.composer.yml file? Will it be merged into Laravel’s config system, or ignored?config/)? Is there a manual override?c33s/construction-kit-bundle (Symfony-specific).Bundle class and Kernel (not natively supported in Laravel).symfony/dependency-injection and symfony/http-kernel as standalone libraries (if bundles are modular).composer.json extras can be parsed manually (alternative to the plugin).config_cache to merge .composer.yml into PHP config.composer.json for c33s-building-blocks extras.composer require --dev c33s/composer-construction-kit-installer).composer update to verify .composer.yml generation.AppServiceProvider (temporary).extra.c33s-construction-kit-path in composer.json)..composer.yml into Laravel’s config.| Component | Compatibility Status | Notes |
|---|---|---|
| Composer 2.x | ✅ High | Plugin supports Composer 2.x. |
| PHP 8.0+ | ✅ High | No PHP version conflicts. |
| Laravel 8/9/10 | ⚠️ Medium | Symfony bundles may require manual DI container setup. |
| Symfony Bundles | ❌ Low | Not natively supported; requires workarounds. |
| Other Composer Plugins | ⚠️ Medium | Risk of script execution conflicts (e.g., post-update-cmd). |
composer.json with type: "composer-plugin".extra keys (e.g., c33s-construction-kit-path: "config/c33s_kit.php").composer dump-autoload to ensure autoloading works.storage/logs/laravel.log..composer.yml file existence.c33s/construction-kit-bundle evolves.composer.json and monitor for updates.symfony/dependency-injection may increase bundle size.ContainerInterface implementations).composer update; no runtime overhead..composer.yml into Laravel’s config may add <100ms to boot time.config/ directory is writable (may need storage:link adjustments).| Failure Scenario | Impact | Recovery Strategy |
|---|---|---|
| Plugin Fails to Write Config | Broken bundle registration | Fallback to manual composer run-script execution. |
| Symfony Bundle DI Errors | Application crashes | Isolate bundles in a separate micro-service or use Laravel’s `make:provider |
How can I help you explore Laravel packages today?