PHPackages                             sicse/quality-assurance - 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. sicse/quality-assurance

ActiveComposer-plugin[Testing &amp; Quality](/categories/testing)

sicse/quality-assurance
=======================

Shared configuration and tools for automated code quality checks, standards enforcement, and best practices across Drupal projects.

1.0.1(8mo ago)239GPL-2.0-or-laterPHPPHP &gt;=8.3CI passing

Since Sep 4Pushed 8mo ago1 watchersCompare

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

READMEChangelog (2)Dependencies (14)Versions (3)Used By (0)

Quality Assurance
=================

[](#quality-assurance)

[![CI](https://github.com/SicseDev/quality-assurance/actions/workflows/ci.yml/badge.svg)](https://github.com/SicseDev/quality-assurance/actions/workflows/ci.yml)[![codecov](https://camo.githubusercontent.com/9cde87f460539dea61c48a93c84a58aa3ac98b8848031db2a5af62ae5e8c1b10/68747470733a2f2f636f6465636f762e696f2f6769746875622f53696373654465762f7175616c6974792d6173737572616e63652f67726170682f62616467652e7376673f746f6b656e3d42314f57394f36484c58)](https://codecov.io/github/SicseDev/quality-assurance)[![Latest Stable Version](https://camo.githubusercontent.com/742a9a505f8b8afb5c7d71618c9879443e44fe993d54870e3dedc8d1526ec874/687474703a2f2f706f7365722e707567782e6f72672f73696373652f7175616c6974792d6173737572616e63652f76)](https://packagist.org/packages/sicse/quality-assurance)[![Total Downloads](https://camo.githubusercontent.com/2b81c083015ece7e34e1c5c5df45ae96de2f7363bfd768aaeb4e50e5d234a579/687474703a2f2f706f7365722e707567782e6f72672f73696373652f7175616c6974792d6173737572616e63652f646f776e6c6f616473)](https://packagist.org/packages/sicse/quality-assurance)[![License](https://camo.githubusercontent.com/f336172dfaee41da90ee91325d8c9aa5cb740f86ed9d25a37c37fdf980a8fba5/687474703a2f2f706f7365722e707567782e6f72672f73696373652f7175616c6974792d6173737572616e63652f6c6963656e7365)](https://packagist.org/packages/sicse/quality-assurance)

A Composer plugin and configuration package for Drupal projects, designed to enforce code quality, coding standards, and best practices automatically. Ideal for agencies, maintainers, and teams seeking consistent code review automation and integration with industry-standard PHP tools.

Requirements
------------

[](#requirements)

- PHP 8.3 or higher
- Composer 2.6+
- Compatible with Drupal 10 and 11

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

[](#installation)

Require the package as a development dependency:

```
composer require sicse/quality-assurance --dev
```

When prompted by Composer to allow plugins, approve the following recommended plugins to ensure full functionality:

- phpro/grumphp-shim
- phpstan/extension-installer
- ergebnis/composer-normalize
- dealerdirect/phpcodesniffer-composer-installer
- sicse/quality-assurance

When you install this plugin, the GrumPHP package is also installed automatically. During installation, you will be prompted whether you want to add a `grumphp.yml` configuration file to your project. When you decline, this plugin will ask if you want to use the default configuration provided by this package (i.e., `config/grumphp.yml`).

If you set the GrumPHP `config-default-path` to the default configuration provided by this package (located in the `config` folder), that configuration will take precedence over your custom `grumphp.yml` file. To use your own configuration, do not set `config-default-path` to the package's default config.

Features
--------

[](#features)

- Out-of-the-box GrumPHP integration: code quality checks run automatically on Git commits
- Integration with industry-standard tools:
    - PHP\_CodeSniffer: checks code style and enforces Drupal and DrupalPractices standards
    - PHPStan: performs static analysis to find bugs and improve code quality
    - Twig CS Fixer: enforces coding standards for Twig template files
    - Rector: automates code refactoring and upgrades for PHP and Drupal
    - And more

Usage
-----

[](#usage)

After installation and enabling the integration, GrumPHP is automatically configured. Code quality checks will run on every Git commit. You can also run them manually:

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

Note: if you have added your own `grumphp.yml`, make sure not to set the `config-default-path` to the GrumPHP configuration file provided by this package.

Custom Configuration (Optional)
-------------------------------

[](#custom-configuration-optional)

Custom configuration is only needed if your project has different requirements. You can extend or override the default configuration by creating your own `grumphp.yml` or `rector.php` in your project root.

For example:

```
# grumphp.yml
imports:
  - { resource: vendor/sicse/quality-assurance/config/grumphp.yml }
parameters:
  convention.phpstan_level: 8
```

If you provide your own `grumphp.yml`, do not set the GrumPHP `config-default-path` to the package's default config.

When providing your own `rector.php`, make sure to update the `convention.rector_config` parameter in your `grumphp.yml` accordingly.

Contributing
------------

[](#contributing)

Contributions are welcome! Please open issues or submit pull requests via GitHub.

License
-------

[](#license)

GPL-2.0-or-later. See the `LICENSE` file for details.

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance60

Regular maintenance activity

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

253d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/af91e93b55c6adffc1d85a2f8e724beed8a4b617355c079d9032b7fe2027aa77?d=identicon)[NielsSluijs](/maintainers/NielsSluijs)

---

Top Contributors

[![NielsSluijs](https://avatars.githubusercontent.com/u/28956478?v=4)](https://github.com/NielsSluijs "NielsSluijs (24 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sicse-quality-assurance/health.svg)

```
[![Health](https://phpackages.com/badges/sicse-quality-assurance/health.svg)](https://phpackages.com/packages/sicse-quality-assurance)
```

###  Alternatives

[drupal/core-dev

require-dev dependencies from drupal/drupal; use in addition to drupal/core-recommended to run tests from drupal/core.

2021.0M277](/packages/drupal-core-dev)[axelerant/drupal-quality-checker

Code quality checking tools for Drupal project.

13197.9k1](/packages/axelerant-drupal-quality-checker)[wp-cli/wp-cli-tests

WP-CLI testing framework

422.7M87](/packages/wp-cli-wp-cli-tests)[youwe/testing-suite

Contains Youwe's default testing packages for php.

13176.9k8](/packages/youwe-testing-suite)[vijaycs85/drupal-quality-checker

Setups code quality checking tools for Drupal project.

52192.3k4](/packages/vijaycs85-drupal-quality-checker)

PHPackages © 2026

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