phpcq <tl/dr>
-
Integrate build and check tools
PHPCQ supports a lot of plugins and tools eg. phpunit, phpmd, phploc, phpcpd, psalm, composer-require-checker… more are on their way!
-
See what's wrong at once
Collect the output of all tools and present them in aggregated form. No matter if you are on CI or the local workstation. In GitHub and Gitlab even with annotations in Merge Requests.
-
Easy to set up, easy to run
Installed through composer, runs with PHP.
-
Runs everywhere where there's PHP!
Like your local machine, your Gitlab CI or any hosted CI like GitHub actions.
What's phpcq and why you should use it.¶
phpcq
is short for "PHP Code Quality".
In the PHP ecosystem, there exists a variety of check tools, each with its unique purpose. Unfortunately, each and every of these tools has its own output format. Some use industry standard output e.g. junit logs but having to see through all of these is not feasible at all.
Also organizing tools in pipelines is nice for CI when having Gitlab pipeline and GitHub actions, however, running them locally would be nice as well, collecting all the tool output and presenting it to the developer in a structured manner.
That's where phpcq comes into play.
The purpose of phpcq is to increase code quality in the PHP ecosystem by running configured tool chains and collecting the output of each of said tools into a single aggregated log file (or GitHub action log etc.).
The heart of phpcq is the phpcq runner which executes build chain and aggregates the results of all tools.
The PHP Code Quality Project consists of a framework, runner and collection of code quality related tools.
Getting started¶
Head over to the Quickstart guide to get it up and running in no time.
Credits¶
Project originally created by: Christian Schiffler and Tristan Lins and now actively maintained by Christian Schiffler and David Molineus.
License¶
The project and the core plugins are released under the MIT License
Sponsorship¶
You can support this project via GitHub Sponsorship by sponsoring the main contributors discordier and dmolineus.