pluswerk/grumphp-config
Dev-only Composer package that generates a ready-to-use GrumPHP setup for your project: creates grumphp.yml, rector.php, phpstan.neon and phpstan-baseline.neon, and pulls in project-specific resources when needed. Customize via the generated grumphp.yml.
Strengths:
phpunit, pint, or artisan tasks).Gaps:
route:list or migrate:status). The original gaps (e.g., missing Laravel-native tooling overlap) persist.vendor/ exclusions).composer require --dev).schedule:run or migration validation.| Risk Area | Severity (Updated) | Mitigation Strategy |
|---|---|---|
| Tooling conflicts | High | Audit grumphp.yml post-install and override conflicting rules (e.g., Pint vs. CS-Fixer). Monitor for undocumented strictness changes in PR #112. |
| PHPStan false positives | Medium | Use phpstan-baseline.neon and extend with Laravel’s phpstan/extension-installer. Test with Laravel’s dynamic properties/magic methods. |
| Performance overhead | Medium | Explicitly configure parallel execution in grumphp.yml (e.g., parallel: true). Exclude vendor/ from scans. |
| Laravel-specific gaps | High | Supplement with custom tasks (e.g., laravel-telescope:check) or third-party packages (e.g., spatie/laravel-phpstan-rules). |
| Undocumented changes | Medium | Test in a staging environment before full adoption. Compare outputs with 10.2.7. |
| Dependency bloat | Low | No changes; remains dev-only. |
grumphp.yml to avoid future conflicts, even if the backport doesn’t introduce new ones?phpstan-baseline.neon?artisan optimize, route:list) via GrumPHP’s tasks section, even if not included in this release?execute command.phpstan/extension-installer).grumphp.yml to avoid duplication.spatie/laravel-rector for Laravel-specific rules.grumphp.yml for TYPO3 rules to remove.composer require --dev pluswerk/grumphp-config@10.2.8
grumphp.yml to:
phpunit, artisan optimize).--parallel for performance.phpstan.neon with Laravel rules:
includes:
- vendor/phpstan/extension-installer/src/PhpStan/ExtensionInstaller/Neon/LaravelNeonLoader.php
tasks:
phpunit: ~
artisan:
config:cache
route:list
| Component | Compatibility Notes |
|---|---|
| Laravel Framework | ✅ Confirmed compatible (PHP 8.5+). No breaking changes in release notes. |
| Laravel Breeze/Pjet | ✅ Works if using PHP 8.5+. |
| Lumen/Octane | ⚠️ May need TYPO3 rules removed; test custom tasks. |
| Pint | ⚠️ Override PHP-CS-Fixer in grumphp.yml to avoid duplication. |
| PHPStan | ✅ Extend with phpstan/extension-installer for Laravel rules. |
| Rector | ✅ Use spatie/laravel-rector for Laravel-specific rules. |
| DDEV | ✅ Built-in DDEV environment detection. |
| Monorepos | ❌ Not optimized; may require per-project config overrides. |
composer.json (dev dependencies will be added).composer require --dev pluswerk/grumphp-config@10.2.8.grumphp.yml to:
phpunit, artisan optimize).parallel: true).grumphp run to catch undocumented strictness changes.--parallel and exclude vendor/.phpstan.neon and baseline them.How can I help you explore Laravel packages today?