PHPackages                             openeuropa/code-review-library - 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. openeuropa/code-review-library

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

openeuropa/code-review-library
==============================

OpenEuropa code review library component.

1.x-dev(1y ago)027214EUPL-1.2PHP &gt;=8.1

Since Nov 30Pushed 1y ago11 watchersCompare

[ Source](https://github.com/openeuropa/code-review-library)[ Packagist](https://packagist.org/packages/openeuropa/code-review-library)[ RSS](/packages/openeuropa-code-review-library/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (4)

code-review-library
===================

[](#code-review-library)

[![Packagist](https://camo.githubusercontent.com/d73e630f0910595e192ae073882c10c529b89d0f87273a0bd23d7b178b68a332/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f70656e6575726f70612f636f64652d7265766965772d6c6962726172792e737667)](https://packagist.org/packages/openeuropa/code-review-library)

Coding standard dependencies for PHP libraries.

Make automatic [conventions](CONVENTIONS.md) checking on each commit via [GrumPHP](https://github.com/phpro/grumphp).

### Installation

[](#installation)

Install the code review component via Composer:

```
composer require --dev openeuropa/code-review-library
```

In your project root create the following `grumphp.yml.dist`:

```
imports:
  - { resource: ./vendor/openeuropa/code-review-library/dist/library-conventions.yml }
```

### Commands

[](#commands)

GrumPHP tasks will be run at every commit, if you wish to run them without performing a commit use the following command:

```
./vendor/bin/grumphp run
```

If you want to simulate the tasks that will be run when creating a new commit:

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

Check [GrumPHP documentation](https://github.com/phpro/grumphp/tree/master/doc) for more.

### Customization

[](#customization)

This component offers a variety of ready conventions that all projects need to follow. This list of default conventions can be found in [CONVENTIONS.md](CONVENTIONS.md).

Since GrumPHP uses the [Symfony Dependency Injection component](http://symfony.com/doc/current/components/dependency_injection.html)you can override specific parameters in your project's `grumphp.yml.dist` file as follows:

```
imports:
  - { resource: ./vendor/openeuropa/code-review-library/dist/library-conventions.yml }

parameters:
  tasks.git_commit_message.matchers: ['/^JIRA-\d+: [A-Z].+\./']
```

Below the list of task parameters can that be overridden on a per-project basis:

- `tasks.phpcs.standard`
- `tasks.phpcs.ignore_patterns`
- `tasks.phpcs.triggered_by`
- `tasks.phpcs.whitelist_patterns`
- `tasks.phpcs.warning_severity`
- `tasks.phpstan.autoload_file`
- `tasks.phpstan.configuration`
- `tasks.phpstan.level`
- `tasks.phpstan.force_patterns`
- `tasks.phpstan.triggered_by`
- `tasks.git_commit_message.matchers`

It is also possible to extend the list of tasks to be run by adding tasks under the `tasks:` tree as shown below:

```
imports:
  - { resource: ./vendor/openeuropa/code-review-library/dist/library-conventions.yml }

grumphp:
  tasks:
    phpparser: ~
```

GrumPHP already has a series of tasks that can be used out of the box, you can find the complete list in the [GrumPHP tasks page](https://github.com/phpro/grumphp/blob/v2.x/doc/tasks.md).

If you wih you can create your own tasks as explained in the [GrumPHP extensions page](https://github.com/phpro/grumphp/blob/v2.x/doc/extensions.md).

### Transition from code-review 2.x

[](#transition-from-code-review-2x)

If you wish to transition to code-review-library from code-review version 2.x, please replace the package via Composer:

```
composer remove --dev openeuropa/code-review
composer require --dev openeuropa/code-review-library
```

Besides replacement of the package, some adjustments are needed in `grumphp.yml` file.

This component removes ExtraTasks extension. Any aditional task previously declared in `extra_tasks` will need to be placed inside `tasks` under `grumphp` tree.

```
- extra_tasks:
-   phpparser:
-      ignore_patterns:
-       - vendor/
-
- grumphp:
-   extensions:
-     - OpenEuropa\CodeReview\ExtraTasksExtension

+ grumphp:
+   tasks:
+     phpparser:
+      ignore_patterns:
+        - vendor/
```

In addition, PHP Mess Detector is no longer available as part of the configured tasks. The task and related parameters have been removed. If you wish to continue using PHP Mess Detector, you can add it as part of GrumPHP as previously described.

All other conventions and parameters remain the same.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 Bus Factor1

Top contributor holds 66.7% 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 ~0 days

Total

2

Last Release

526d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d3b1f4079f9a82f6dd88fe6577d1256b4ecbbccbcd4a4ec9bea7c2fd6f72b99a?d=identicon)[DIGIT-CORE](/maintainers/DIGIT-CORE)

---

Top Contributors

[![AaronGilMartinez](https://avatars.githubusercontent.com/u/7264392?v=4)](https://github.com/AaronGilMartinez "AaronGilMartinez (8 commits)")[![brummbar](https://avatars.githubusercontent.com/u/8488617?v=4)](https://github.com/brummbar "brummbar (2 commits)")[![drishu](https://avatars.githubusercontent.com/u/11507647?v=4)](https://github.com/drishu "drishu (2 commits)")

### Embed Badge

![Health badge](/badges/openeuropa-code-review-library/health.svg)

```
[![Health](https://phpackages.com/badges/openeuropa-code-review-library/health.svg)](https://phpackages.com/packages/openeuropa-code-review-library)
```

###  Alternatives

[ticketswap/phpstan-error-formatter

A minimalistic error formatter for PHPStan

87578.8k35](/packages/ticketswap-phpstan-error-formatter)[shopsys/coding-standards

Coding standards definition compatible with PSR-2

20269.1k13](/packages/shopsys-coding-standards)[flyeralarm/php-code-validator

A custom coding standard for FLYERALARM

2226.9k5](/packages/flyeralarm-php-code-validator)

PHPackages © 2026

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