phpro/grumphp-shim
A lightweight Composer shim that provides GrumPHP as a single PHAR, so you can run code quality checks via vendor/bin/grumphp.phar without installing all of GrumPHP's dependencies yourself. Ideal for fast, simple Git hook automation.
Architecture fit
vendor/bin/grumphp.phar, so it slots into existing Laravel/PHP repos without touching application runtime, autoloading, or the production dependency graph. It is a --dev install only.composer update conflicts.v2.25.0 → GrumPHP v2.25.0), which is a genuine governance win: upgrade planning, CVE triage, and config compatibility can all be reasoned about against upstream release notes.Integration feasibility
.grumphp.yml/grumphp.yml files carry over unchanged, so teams already on GrumPHP migrate with a dependency swap and a binary rename in scripts and hooks.git:init writes absolute paths into .git/hooks/*, and the recorded path will reference grumphp.phar rather than grumphp. That must be verified per repo, and hooks re-initialized after adoption or the gate silently does nothing.Technical risk
composer remove.vendor/ dependency scans. Organizations with binary-artifact allowlists or SBOM requirements will need an exception or an allowlist entry, and that review is a schedule risk, not a technical one.Key questions
phar extension enabled and not policy-restricted across our CI images and developer machines (macOS/Linux/Windows/WSL)?Stack fit
composer scripts calling tools directly, or in non-PHP repos.Migration path
phpro/grumphp with phpro/grumphp-shim in require-dev, keep the config file untouched, rename binary references in composer.json scripts and CI steps to vendor/bin/grumphp.phar.git:init (or the equivalent hook installer) and confirm the committed hook invokes the .phar path; test a deliberately failing commit to prove the gate blocks.Compatibility
.grumphp.yml is honored, so task definitions, ignore lists, and per-task options carry over. Custom tasks that assume a composer-installed autoloader path are the one category to spot-check.vendor/bin/grumphp.phar resolves (Windows .bat proxies).Sequencing
composer script alias; document bypass policy (--no-verify exceptions and their review).Recommendation: adopt as a tactical, dev-only, low-commitment dependency with a pilot gate — not as a platform standard until adoption friction and artifact-review cost are measured. The asymmetric risk profile (trivial rollback, no production exposure) justifies trying it; the thin ecosystem signal justifies not mandating it in one move.
Maintenance
Support
composer update and the gate becomes decorative.Scaling
vendor/ and the PHAR download; measure before/after pipeline duration rather than assuming a saving.Failure modes
phar extension missing or disabled, or an image that blocks binary execution. Detect in the spike, not in week 5.--no-verify under deadline pressure. Needs an explicit policy and, if it matters, CI enforcement of the same rules as the backstop.Ramp-up
How can I help you explore Laravel packages today?