PHPackages                             natepage/standards - 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. natepage/standards

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

natepage/standards
==================

Package to run coding standards tests.

51142PHP

Since Nov 27Pushed 7y ago2 watchersCompare

[ Source](https://github.com/natepage/standards)[ Packagist](https://packagist.org/packages/natepage/standards)[ RSS](/packages/natepage-standards/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (2)Used By (0)

Standards
=========

[](#standards)

This package is an easy-to-use all in one coding standards package. It allows you in just a few seconds to check your code against the most popular tools in terms of code quality and have a clear answer about: Are you a champion? Or do you still need improve? (Don't worry if you're reading this, you're already a champion!)

Installation
============

[](#installation)

[Standards](https://github.com/natepage/standards) is a package to use during your development process, you can install it using [Composer](https://getcomposer.org/).

Inside one project
------------------

[](#inside-one-project)

Use composer to add the package as a dev dependency:

```
composer require --dev natepage/standards

```

You can now run the standards tools as:

```
cd my-project
php vendor/bin/standards

```

Multiple projects
-----------------

[](#multiple-projects)

If you are working on multiple projects at the same time (which is surely the case for a champion), you can install the package as a global dependency and run it in all your projects:

```
composer global require natepage/standards

```

To make your life easier you can set Standards as a local binary to have an handy way to run it from anywhere:

```
# If your operating system doesn't have /usr/local/bin/ create it
mkdir /usr/local/bin

# Create a symlink of standards in your local bin
ln -s ~/.composer/vendor/natepage/standards/bin/standards /usr/local/bin/standards

```

Then you can run it in your projects:

```
cd my-project
standards # Run standards tools

cd my-project2
standards # Run standards tools

```

Tools
=====

[](#tools)

Default tools
-------------

[](#default-tools)

By default, Standards comes with a collection of tools ready to go and offers you an easy way to customise the different options each tool can have. For any further information about those tools, please feel free to have a look directly at their documentation.

- [EasyCodingStandard](https://github.com/Symplify/EasyCodingStandard): Easiest way to start using PHP CS Fixer and PHP\_CodeSniffer with 0-knowledge
- [PHPCPD](https://github.com/sebastianbergmann/phpcpd): Copy/Paste Detector (CPD) for PHP code
- [Paratest](https://github.com/paratestphp/paratest): Parallel testing for PHPUnit
- [PHPMD](https://phpmd.org/): Takes a given PHP source code base and look for several potential problems within that source
- [PHPStan](https://github.com/phpstan/phpstan): PHP Static Analysis Tool - discover bugs in your code without running it
- [PHPUnit](https://phpunit.de/): Run unit tests in PHP applications
- [SecurityChecker](https://security.symfony.com/): PHP security vulnerabilities monitoring

Usage
=====

[](#usage)

Standalone
----------

[](#standalone)

Once you've required the package using composer, inside an existing project or as a global dependency, you can run the tools on your code from your favourite terminal using the binary as follows:

```
# Using the link created by composer
cd my-project
php vendor/bin/standards

# Using the binary directly
cd my-project
php vendor/natepage/standards/bin/standards

```

Configuration
=============

[](#configuration)

Standards offers you all the flexibility you need via a large panel of options you can configure. Most of them have default values you can override if you need to.

Configuration file
------------------

[](#configuration-file)

If you want to override configuration every time you run Standards, you can create a `standards.yaml` file at the root level of your project.

Command Input Options
---------------------

[](#command-input-options)

When running Standards, you can at runtime pass input option to override any exposed configuration.

```
standards --only=phpcs,phpmd --phpcs.show-sniff-name=false

```

To know more about all available input options simply use the `-h|-help` option to display to full list.

Available Configuration
-----------------------

[](#available-configuration)

ConfigDefaultDescriptiondisplay-configDisplay configuration used to run toolstrueexit-on-failureExit on failure or notfalseonlyComma separated list of tools to runNULLpathsComma separated list of directories to run tools onapp,src,testsphpcpd.enabledEnable/Disable PHPCPDtruephpcpd.min-linesThe minimum number of lines which need to be duplicated to count as copy/paste5phpcpd.min-tokensThe minimum number of tokens which need to be duplicated to count as copy/paste70phpcs.enabledEnable/Disable PHPCStruephpcs.show-sniff-nameWhether to show the code sniffs name on report outputtruephpcs.standardsThe standards to compare code against, will be ignored if phpcs.xml exists%standards\_path%/sniffs/NatePagephpmd.enabledEnable/Disable PHPMDtruephpmd.rule-setsThe rulesets to use to determine issues, will be ignored if phpmd.xml existscleancode,codesize,controversial,design,naming,unusedcodephpstan.enabledEnable/Disable PHPStantruephpstan.reporting-levelThe reporting level, 1 = loose, 7 = strict7phpunit.config-fileConfig file to use to run PHPUnitphpunit.xmlphpunit.coverage-minimum-levelThe minimum percentage of coverage to have, will be ignored if coverage check is disabled90phpunit.enable-code-coverageEnable/Disable code coveragetruephpunit.enabledEnable/Disable PHPUnittruephpunit.junit-log-pathThe path to output junit parseable log file, can be relative, will be ignored if left blankNULLphpunit.paratest-processes-numberNumber of processes to run when using paratest8phpunit.test-directoryThe directory containing tests, will be ignored it phpunit.xml exists in working directorytestssecurity-checker.enabledEnable/Disable security SecurityCheckertrue

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 84.6% 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/ffdaef0084dde66bd22409a0478700007ccf8c9aba783757bad661c5dc1656b7?d=identicon)[natepage](/maintainers/natepage)

---

Top Contributors

[![natepage](https://avatars.githubusercontent.com/u/11576446?v=4)](https://github.com/natepage "natepage (11 commits)")[![dextercampos](https://avatars.githubusercontent.com/u/27075066?v=4)](https://github.com/dextercampos "dextercampos (2 commits)")

---

Tags

coding-standardspackagephp

### Embed Badge

![Health badge](/badges/natepage-standards/health.svg)

```
[![Health](https://phpackages.com/badges/natepage-standards/health.svg)](https://phpackages.com/packages/natepage-standards)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/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.9M570](/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.1k](/packages/orchestra-testbench)

PHPackages © 2026

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