PHPackages                             creatuity/magento-quality-tools - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. creatuity/magento-quality-tools

ActiveLibrary[Testing &amp; Quality](/categories/testing)

creatuity/magento-quality-tools
===============================

The composer package basing on GrumPHP tool with pre-defined configuration for Magento projects

v1.0.1(3y ago)14.7k[3 issues](https://github.com/creatuity/magento-quality-tools/issues)PHP ^7.2.0 || ^8.1.0

Since Jul 27Pushed 1y ago2 watchersCompare

[ Source](https://github.com/creatuity/magento-quality-tools)[ Packagist](https://packagist.org/packages/creatuity/magento-quality-tools)[ RSS](/packages/creatuity-magento-quality-tools/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (12)Versions (10)Used By (0)

GRUMPHP
=======

[](#grumphp)

Installation
------------

[](#installation)

```
composer require --dev creatuity/magento-quality-tools
```

DO NOT create a `grumphp.yml` file in the root directory when you will be prompted

Add the following to your `composer.json`

```
  "extra": {
    "grumphp": {
            "config-default-path": "vendor/creatuity/magento-quality-tools/src/grumphp.yml"
        }
  }
```

According to the issue with Magento Coding Standard package it's also needed to add this to your `composer.json` file

```
 "scripts": {
        "post-install-cmd": [
            "([ $COMPOSER_DEV_MODE -eq 0 ] || vendor/bin/phpcs --config-set installed_paths ../../magento/magento-coding-standard/,../../phpcompatibility/php-compatibility)"
        ]
    },
```

and run `composer install` to apply the changes.

Usage
-----

[](#usage)

- Make sure that your changes are in GIT staging area.
- When you want to commit your changes, type.

```
./vendor/bin/grumphp git:pre-commit
```

to run tasks defined in `grumphp.yml` **only** on the code from the commit. This command will be also run when you try to do a commit - it uses git pre-commit hook.

Built-in tasks
--------------

[](#built-in-tasks)

This package has pre-defined configuration of `grumphp.yml` file, thanks for that you can install and just use it. Currently, the package contains these tasks :

- [**jsonlint**](https://github.com/phpro/grumphp/blob/master/doc/tasks/jsonlint.md)
- [**xmllint**](https://github.com/phpro/grumphp/blob/master/doc/tasks/xmllint.md)
- [**phplint**](https://github.com/phpro/grumphp/blob/master/doc/tasks/phplint.md)
- [**yamllint**](https://github.com/phpro/grumphp/blob/master/doc/tasks/yamllint.md)
- [**composer**](https://github.com/phpro/grumphp/blob/master/doc/tasks/composer.md)
- [**phpcs**](https://github.com/phpro/grumphp/blob/master/doc/tasks/phpcs.md)
- [**phpcsfixer2**](https://github.com/phpro/grumphp/blob/master/doc/tasks/phpcsfixer.md)
- [**phpmd**](https://github.com/phpro/grumphp/blob/master/doc/tasks/phpmd.md)
- [**phpstan**](https://github.com/phpro/grumphp/blob/master/doc/tasks/phpstan.md) - Currently the level is set to **6**
- [**git\_commit\_message**](https://github.com/phpro/grumphp/blob/master/doc/tasks/git_commit_message.md) - This task validates a message in a commit. Allowed length of body and subject is limited to 120 characters. It also requires to begin a message from a task number, example - `[PROJECTX-123] Test commit`
- [**git\_branch\_name**](https://github.com/phpro/grumphp/blob/master/doc/tasks/git_branch_name.md) - The task validates a branch name. It allows to use two type of branch names:
    - Task branches - which starts from `hotfix|bugfix|feature` prefix and contains a task number and short description, example - `feature/PROJECTX-short-description`
    - Release branches - `release/0.1.1`
- [**git\_blacklist**](https://github.com/phpro/grumphp/blob/master/doc/tasks/git_blacklist.md) - This task checks if a developer didn't use one of blacklisted words like `var_dump` or `console.log`

Compatibility
-------------

[](#compatibility)

- Magento &gt;= 2.4.2
- PHP version &gt;= 7.2 || &gt;= 8.1

Known Issues
------------

[](#known-issues)

- If you're getting an error like this one :

```
Warning: class_implements(): Class Vendor\Module\Setup\Patch\Data\ExamplePatch does not exist and could not be loaded in /dev/tests/static/framework/Magento/CodeMessDetector/Rule/Design/AllPurposeAction.php on line 35
```

check this issue on the Github [magento/magento2#33430](https://github.com/magento/magento2/issues/33430)

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance14

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 76% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~91 days

Recently: every ~138 days

Total

8

Last Release

748d ago

PHP version history (3 changes)v1.0.1PHP ^7.2.0 || ^8.1.0

1.0.4.x-devPHP ~8.1.0||~8.2.0

1.0.6.x-devPHP ~8.1.0||~8.2.0||~8.3.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/0998200db85ed30d30e182230c837875edd8abf02ca4d64389eccd730584e5cc?d=identicon)[creatuitydevelopers](/maintainers/creatuitydevelopers)

---

Top Contributors

[![nmalecki](https://avatars.githubusercontent.com/u/25075989?v=4)](https://github.com/nmalecki "nmalecki (19 commits)")[![cnmalecki](https://avatars.githubusercontent.com/u/97680887?v=4)](https://github.com/cnmalecki "cnmalecki (6 commits)")

### Embed Badge

![Health badge](/badges/creatuity-magento-quality-tools/health.svg)

```
[![Health](https://phpackages.com/badges/creatuity-magento-quality-tools/health.svg)](https://phpackages.com/packages/creatuity-magento-quality-tools)
```

###  Alternatives

[youwe/testing-suite

Contains Youwe's default testing packages for php.

13176.9k8](/packages/youwe-testing-suite)[mglaman/phpstan-drupal

Drupal extension and rules for PHPStan

20729.0M124](/packages/mglaman-phpstan-drupal)[wp-cli/wp-cli-tests

WP-CLI testing framework

422.7M87](/packages/wp-cli-wp-cli-tests)[acquia/orca

A tool for testing a company's software packages together in the context of a realistic, functioning, best practices Drupal build

32902.4k](/packages/acquia-orca)[axelerant/drupal-quality-checker

Code quality checking tools for Drupal project.

13197.9k1](/packages/axelerant-drupal-quality-checker)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
