Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Grumphp Laravel Package

phpro/grumphp

GrumPHP is a Composer plugin that installs Git hooks to run quality checks (tests, linters, code style) on staged changes before you commit. If tasks fail, the commit is blocked—helping teams enforce standards and improve code quality automatically.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Enforce Code Quality as a Team Standard: Adopt GrumPHP to institutionalize coding standards (e.g., PSR-12, PHPStan, PHPUnit) and prevent regressions by blocking non-compliant commits. Aligns with engineering best practices and reduces technical debt.
  • Shift-Left Quality Assurance: Integrate pre-commit hooks to catch issues early (e.g., syntax errors, security vulnerabilities) before code reaches CI/CD, reducing flaky tests and deployment failures.
  • Customizable Workflows: Build vs. buy decision—GrumPHP’s modular tasks (e.g., phpunit, psalm, phpcs) allow tailored configurations (e.g., team-specific rules) without reinventing wheel. Extensible via events/middleware for unique needs (e.g., Slack notifications on failures).
  • Onboarding & Knowledge Sharing: Use GrumPHP to automate "best practice" enforcement (e.g., docblock standards, naming conventions) and reduce repetitive code reviews for new hires.
  • CI/CD Pipeline Optimization: Offload pre-commit checks to developers’ machines, reducing CI/CD load and speeding up feedback loops. Complements tools like GitHub Actions or Jenkins.
  • Legacy Code Modernization: Gradually introduce stricter checks (e.g., phpstan:level 5) via GrumPHP to improve codebase health without breaking workflows immediately.

When to Consider This Package

  • Avoid if:
    • Your team lacks Git/command-line familiarity (GrumPHP requires local setup and CLI interaction).
    • You prioritize post-commit checks (e.g., CI-only validation) over pre-commit enforcement.
    • Your project uses non-PHP languages (though tasks like eslint exist for multi-language repos).
    • You need fine-grained pull request-level checks (GrumPHP operates at commit time; pair with GitHub/GitLab merge request tools).
    • Your infrastructure restricts git hooks (e.g., shared hosting, some corporate environments).
  • Look Elsewhere if:
    • You need real-time IDE integration (consider PHPStorm inspections or VSCode extensions).
    • Your stack relies on monorepos with complex dependency graphs (GrumPHP works per-repo; explore robo or make for broader scope).
    • You require advanced static analysis (e.g., deep symbolic execution) beyond PHPStan/Psalm (complement with tools like InstaWP or Snyk).
    • Your team prefers visual feedback over CLI output (pair with tools like SonarQube for dashboards).

How to Pitch It (Stakeholders)

For Executives:

*"GrumPHP is a force multiplier for our engineering team—it automates 80% of the repetitive code quality checks that currently slow down development. By blocking bad commits before they’re merged, we’ll:

  • Reduce bugs in production by 30%+ (industry benchmarks show pre-commit hooks catch ~40% of issues).
  • Cut CI/CD costs by shifting checks to developers’ machines, freeing up cloud resources.
  • Accelerate onboarding by enforcing consistent standards, so new hires write production-ready code from day one.
  • Future-proof our tech stack with modular, extensible rules that adapt as our codebase grows.

It’s a low-risk, high-reward investment—like adding a spellchecker to your IDE, but for the entire codebase. We’ll pilot it in [Team X] with measurable KPIs (e.g., reduced merge conflicts, faster PR cycles) before rolling it out company-wide."*


For Engineering Leaders:

*"GrumPHP lets us codify our coding standards and enforce them automatically, without manual reviews. Key wins:

  • Pre-commit hooks catch issues like:
    • Syntax errors (PHP syntax, YAML validation).
    • Security flaws (e.g., hardcoded secrets via securitychecker task).
    • Style violations (PSR-12, team-specific rules).
  • Customizable: We can start with basic checks (e.g., phpcs, phpunit) and ramp up to stricter rules (e.g., phpstan:level 5) over time.
  • Extensible: Need to add a custom rule? We can write a task or hook into events to integrate with our tools (e.g., Slack alerts, Jira tickets).
  • CI/CD synergy: Reduces redundant checks in pipelines (e.g., skip phpunit in CI if GrumPHP already ran it).
  • Developer experience: No more ‘it works on my machine’—every commit is validated locally.

Implementation plan:

  1. Pilot: Enable in [Repo A] with basic tasks (phpcs, phpunit) and monitor failure rates.
  2. Iterate: Add tasks like psalm, securitychecker, or custom rules based on team feedback.
  3. Scale: Roll out to other repos, with opt-outs for legacy codebases.
  4. Maintain: Dedicate 10% of a backend engineer’s time to update rules and troubleshoot edge cases.

Alternatives considered:

  • Manual reviews: Scalable but error-prone and slow.
  • CI-only checks: Too late—costs more to fix issues post-merge.
  • Custom scripts: Reinventing the wheel; GrumPHP is battle-tested with 4K+ stars.

Let’s start with a 2-week trial in [Repo A] to validate the impact."*


For Developers:

*"GrumPHP is like a co-pilot for your code:

  • No more ‘oops’ commits: It catches typos, style issues, and logic errors before you even push.
  • Faster feedback: Fix problems locally instead of waiting for CI or code reviews.
  • Consistency: Everyone follows the same rules (e.g., PSR-12, docblock standards).
  • Easy setup: Just run composer require --dev phpro/grumphp and it hooks into Git. Configure it once in grumphp.yml and forget it.

What it checks by default:

Task Purpose
phpcs PSR-12 compliance
phpunit Unit tests pass
phplint Syntax errors
composer_normalize composer.json formatting
git_blacklist Block sensitive data (passwords, API keys)

Pro tip: Use grumphp run to test changes before committing, or bypass hooks with git commit --no-verify (temporarily).

Need more? Add tasks like:

tasks:
    psalm:
        level: 5
        ignore_errors: true
    securitychecker:
        level: 10
```"*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope