phpro/grumphp-shim
Provides a bundled GrumPHP PHAR so you can run GrumPHP without installing all its dependencies. Install via Composer and run vendor/bin/grumphp.phar run. Links to the main phpro/grumphp repo for options and release notes.
composer.json, making it ideal for:
.grumphp.yml, allowing teams to tailor it to Laravel-specific needs (e.g., enforcing laravel-pint rules).composer require --dev phpro/grumphp-shim) and minimal configuration (.grumphp.yml). No global installs or complex routing.composer.json scripts and reference in .git/hooks/pre-commit.post-merge hooks for branch-specific checks.grumphp --cache) to speed up repeated runs.vendor/bin/grumphp.phar.laravel-pint for code formatting.pest for testing.phpunit for unit tests..grumphp.yml.grumphp --verbose > grumphp.log) and document troubleshooting steps for the team.phpunit, phpstan) may conflict with Laravel’s versions..grumphp.yml and test in a staging environment.phpunit: ^9.5 in GrumPHP but Laravel’s project uses phpunit: ^8.5.grumphp --cache) and exclude slow tasks (e.g., phpstan) from pre-commit..grumphp.yml).ext-gmp for PHPUnit).laravel-pint, pest) or augment them? If augmenting, how will overlaps (e.g., duplicate linting) be managed?laravel-pint run via GrumPHP or as a standalone Composer script?.grumphp.yml be version-controlled and shared across the team? Will it be project-specific or centralized (e.g., in a monorepo)?phpstan, security-checker) will run in pre-commit vs. CI? How will caching be configured?.grumphp.yml and GrumPHP’s underlying dependencies? How will version upgrades be managed?# .grumphp.yml (Laravel-specific)
tasks:
laravel-pint: ~
pest: ~
phpcs:
standard: PSR12
whitelist_patterns: ["/^src/"]
phpstan:
level: 5
configuration: phpstan.neon
pest or phpunit tasks.phpcs (PSR-12), phpstan.laravel-pint.security-checker or roave/security-advisories.composer require --dev phpro/grumphp-shim
.grumphp.yml with core tasks (e.g., phpcs, pest).composer.json scripts:
"scripts": {
"grumphp": "vendor/bin/grumphp.phar run"
}
composer grumphp
.git/hooks/pre-commit:
#!/bin/sh
composer grumphp
composer.json:
"scripts": {
"post-merge": "grumphp run --git-previous-commit=HEAD~1"
}
- name: Run GrumPHP
run: composer grumphp
- name: Cache GrumPHP
uses: actions/cache@v3
with:
path: ~/.cache/grumphp
key: ${{ runner.os }}-grumphp-${{ hashFiles('**/composer.lock') }}
.grumphp.yml across the codebase (e.g., via templates or shared configs).platform-check task).laravel-pint, pest, phpunit, phpcs..grumphp.yml (e.g., security-checker, roave/security-advisories).How can I help you explore Laravel packages today?