PHPackages                             roma-glushko/grumphp-magento2 - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. roma-glushko/grumphp-magento2

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

roma-glushko/grumphp-magento2
=============================

Magento 2 specific tasks for GrumPHP

1.0.2(5y ago)65.0k4MITPHPPHP &gt;=7.0

Since Sep 16Pushed 5y ago3 watchersCompare

[ Source](https://github.com/roma-glushko/grumphp-magento2)[ Packagist](https://packagist.org/packages/roma-glushko/grumphp-magento2)[ RSS](/packages/roma-glushko-grumphp-magento2/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (8)Used By (0)

grumphp-magento2
================

[](#grumphp-magento2)

[![Latest Stable Version](https://camo.githubusercontent.com/205c09ae18ad1a520734777268ee8c49cf156ecf8d84e663dcd76d323327e94c/68747470733a2f2f706f7365722e707567782e6f72672f726f6d612d676c7573686b6f2f6772756d7068702d6d6167656e746f322f762f737461626c65)](https://packagist.org/packages/roma-glushko/grumphp-magento2) [![License](https://camo.githubusercontent.com/68cf0404bc15c5295f5e54e519cd8bc900d3728ac21190bea5417b66ec5db244/68747470733a2f2f706f7365722e707567782e6f72672f726f6d612d676c7573686b6f2f6772756d7068702d6d6167656e746f322f6c6963656e7365)](https://packagist.org/packages/roma-glushko/grumphp-magento2)

Magento 2 specific tasks for [GrumPHP](https://github.com/phpro/grumphp) checker

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

[](#installation)

The easiest way to install this package is through composer:

```
composer require --dev roma-glushko/grumphp-magento2
```

Add the extension loader to your `grumphp.yml`

```
parameters:
    extensions:
        - Glushko\GrumphpMagento2\Extension\Loader
```

Usage
-----

[](#usage)

### 🛠 MagentoModuleRegistration

[](#-magentomoduleregistration)

It's a common practice to commit config.php file in Magento 2. Especially, the file is useful for managing modules. The common issue is when during development people forget to register newly added modules to the config.php which can lead to outcomes that hard to troubleshoot. This task helps to watch for such cases and let to know when registration is missing.

To use this task, just specify this inside `grumphp.yml` in the `tasks:` section.

```
parameters:
    tasks:
        magento2-module-registration:
            composer_json_path: ~
            composer_home_path: ~
            configphp_path: ~
            allowed_package_types: ~
            custom_module_pattern: ~
            allowed_packages:
                magento/data-migration-tool: ["Magento_DataMigrationTool"]
                another-vendor/cool-module: ["AnotherVendor_CoolModule"]

```

**composer\_json\_path**

*Default: `./composer.json`*

Path to composer.json file of the project. This file will be used to find Magento modules installed via Composer.

**composer\_home\_path**

*Default: `./var/composer_home`*

Path to Composer Home directory.

**configphp\_path**

*Default: `./app/etc/config.php`*

Path to config.php file of the project.

**allowed\_package\_types**

*Default: `['magento2-module', 'magento2-component']`*

Magento package types that we need to track during checking of packages. Sometimes vendors don't specify package type, but normally they should.

**allowed\_packages**

*Default: `["magento/data-migration-tool": ["Magento_DataMigrationTool"]]`*

In case module vendor did not created a module in a normal way (no package type was specified or psr-4 autoloader prefix is different then module name), this config helps to watch for such packages. Key of the array is a package name. The value is a list of module names that the package brings.

**custom\_module\_pattern**

*Default: `./app/code/*/*/registration.php`*

A glob() pattern that helps to find custom non-composer magento modules.

### 🛠 MagentoLogNotification

[](#-magentolognotification)

It's useful to be notified when you have recently added records in Magento logs. This tasks checks log files located under `log_patterns` and informs if there are logs that have been added inside of time frame defined in `record_stale_threshold`. The `exclude_severities` helps to reduce noisy records.

```
parameters:
    tasks:
        magento2-log-notification:
            log_patterns:
              - "./var/*/*.log"
            record_stale_threshold: 1 # in days
            exclude_severities:
              - "INFO"
              - "DEBUG"
```

**log\_patterns**

*Default: `./var/*/*.log`*

Paths where log files should be watched

**record\_stale\_threshold**

*Default: `1`*

Stale threshold (in days) that helps to ignore old records in logs.

**exclude\_severities**

*Default: `INFO, DEBUG`*

This config excludes records with specified severity levels.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88.9% 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 ~59 days

Recently: every ~89 days

Total

7

Last Release

2070d ago

Major Versions

0.0.4 → 1.0.02020-03-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/f8375f3c338cb20c4d7af4aca6f6ba4ab259f71c59ab04ae95bda7080539a75a?d=identicon)[roma-glushko](/maintainers/roma-glushko)

---

Top Contributors

[![roma-glushko](https://avatars.githubusercontent.com/u/9402690?v=4)](https://github.com/roma-glushko "roma-glushko (8 commits)")[![furseyev](https://avatars.githubusercontent.com/u/5397687?v=4)](https://github.com/furseyev "furseyev (1 commits)")

---

Tags

grumphp-taskmagentomagento2static-analysis

### Embed Badge

![Health badge](/badges/roma-glushko-grumphp-magento2/health.svg)

```
[![Health](https://phpackages.com/badges/roma-glushko-grumphp-magento2/health.svg)](https://phpackages.com/packages/roma-glushko-grumphp-magento2)
```

###  Alternatives

[roave/backward-compatibility-check

Tool to compare two revisions of a public API to check for BC breaks

5953.3M55](/packages/roave-backward-compatibility-check)[friendsofphp/pickle

Installer for PHP extension, supports pecl package or install from src tree directly

1.7k3.3k](/packages/friendsofphp-pickle)[flarum/extension-manager

An extension manager to install, update and remove extension packages from the interface (Wrapper around composer).

12211.5k](/packages/flarum-extension-manager)[swissup/module-marketplace

One-Click modules and themes downloader/installer

18383.8k2](/packages/swissup-module-marketplace)[anime-db/anime-db

The application for making home collection anime

252.1k2](/packages/anime-db-anime-db)

PHPackages © 2026

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