PHPackages                             asseco-voice/laravel-code-quality - 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. asseco-voice/laravel-code-quality

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

asseco-voice/laravel-code-quality
=================================

41.3kShellCI failing

Since Jan 25Pushed 5y ago6 watchersCompare

[ Source](https://github.com/asseco-voice/laravel-code-quality)[ Packagist](https://packagist.org/packages/asseco-voice/laravel-code-quality)[ RSS](/packages/asseco-voice-laravel-code-quality/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

[![](https://github.com/asseco-voice/art/raw/main/evil_logo.png)](https://see.asseco.com)

Code quality standard
=====================

[](#code-quality-standard)

This repository is meant to be a single place for PHP related quality standards when it comes to committing code from any Laravel (micro) service to repository. Its main purpose is creating [git hooks](https://githooks.com/)which would catch any pre-commit action and see whether code is written according to agreed standards. If it fails, commit will not be made.

Naming conventions in this document:

- **SERVICE** is used to describe a repository, microservice, external service and similar. Codebase which needs to use this repository to comply to given coding standards.
- **CQS** is this repository. Short for Code Quality Standard.

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

[](#installation)

Require the package with `composer require asseco-voice/laravel-code-quality`. Service provider for Laravel will be installed automatically.

After a successful installation you have 2 new Artisan commands available:

- `asseco:git-hooks` - will install git-hooks by copying from `CQS/.githooks` to `SERVICE/.git/hooks` directory.
- `asseco:tdd` - will install real time monitoring dependencies if not already present (NPM packages + gulp file), and depending on the flags you provided (explained within the command itself) will run real time monitoring for test folders as well as files under the `App` folder to enable automatic tests running with notification flag whether test succeeded or not. This is useful in a way that you don't have to switch between IDE and terminal back and forth to see if tests passed. **Don't run in Docker, or you will not receive notifications.**

IDE support
-----------

[](#ide-support)

To have PHP code sniffer &amp; mess detector tools integrated within your IDE and available in every project instead of setting it up for every project, it is recommended that you clone the CQS repository at the same directory level as a SERVICE:

```
|
|--- code-quality
|--- service1
|--- service2

```

After that point your IDE to `phpcs.xml` as a ruleset for PHP code sniffer, and `phpmd.xml` for mess detector ruleset.

Link for [PHPStorm quality tools specifics](https://www.jetbrains.com/help/phpstorm/php-code-quality-tools.html).

Usage &amp; testing
-------------------

[](#usage--testing)

To test the git hook script without committing anything to the repo you can simply run for example `bash SERVICE/.git/hooks/pre-commit.sh`.

Notice that the script will run only for PHP files that are staged with `git add` command.

Quality checks
==============

[](#quality-checks)

PHP code sniffer
----------------

[](#php-code-sniffer)

[https://github.com/squizlabs/PHP\_CodeSniffer/wiki/Customisable-Sniff-Properties](https://github.com/squizlabs/PHP_CodeSniffer/wiki/Customisable-Sniff-Properties)

PHP Mess detector
-----------------

[](#php-mess-detector)

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity31

Early-stage or recently created project

 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.

### Community

Maintainers

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

---

Top Contributors

[![Norgul](https://avatars.githubusercontent.com/u/11718157?v=4)](https://github.com/Norgul "Norgul (14 commits)")

---

Tags

code-qualitycode-snifferlaravellaravel-8-packagemess-detectormicroservicemicroservicesphpprecommit-hooks

### Embed Badge

![Health badge](/badges/asseco-voice-laravel-code-quality/health.svg)

```
[![Health](https://phpackages.com/badges/asseco-voice-laravel-code-quality/health.svg)](https://phpackages.com/packages/asseco-voice-laravel-code-quality)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M679](/packages/phpspec-prophecy)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M571](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.0k](/packages/orchestra-testbench)

PHPackages © 2026

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