A PHP git hook manager that runs automated code quality checks on commits to enforce team standards.
GrumPHP is a composer plugin that integrates with git hooks to automatically run code quality tests on committed changes. It prevents commits that fail configured checks, helping teams maintain consistent code quality and best practices without manual intervention.
Development teams using PHP and Git who want to enforce code quality standards automatically during the commit process, such as those working on shared codebases where consistent practices are critical.
Developers choose GrumPHP for its seamless git hook integration, extensive configurable tasks, and ability to auto-fix issues, reducing manual code review burden and ensuring team-agreed standards are consistently applied.
A PHP code-quality tool
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically registers pre-commit and commit-msg hooks upon installation, ensuring code validation happens seamlessly without manual intervention, as highlighted in the installation notes.
Comes with a wide range of built-in tasks for tools like PHPCS and PHPUnit, and supports easy activation or deactivation through a YAML configuration file, reducing setup effort.
Runs validation tasks in parallel with configurable workers (up to 32), significantly reducing check times for large codebases, as mentioned in the parallel processing feature.
Includes a fixer that can automatically correct code style issues during commits, saving developer time and enforcing standards without manual fixes, per the built-in fixer capability.
By default, GrumPHP overwrites existing git hooks without warning, which can disrupt custom workflows unless backups are made, as cautioned in the installation section.
Tightly integrated with PHP and Composer, making it unsuitable for multilingual projects or those not using these tools, limiting its broader applicability.
The YAML configuration has numerous options and parameters, which can be overwhelming for teams new to code quality tools or with simpler needs, as seen in the detailed configuration docs.