PHPackages                             automattic/vipwpcs - 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. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. automattic/vipwpcs

ActivePhpcodesniffer-standard[PSR &amp; Standards](/categories/psr-standards)

automattic/vipwpcs
==================

PHP\_CodeSniffer rules (sniffs) to enforce WordPress VIP minimum coding conventions

3.0.1(2y ago)25510.2M—4.6%43[77 issues](https://github.com/Automattic/VIP-Coding-Standards/issues)[5 PRs](https://github.com/Automattic/VIP-Coding-Standards/pulls)20MITPHPPHP &gt;=5.4CI passing

Since Dec 1Pushed 1mo ago6 watchersCompare

[ Source](https://github.com/Automattic/VIP-Coding-Standards)[ Packagist](https://packagist.org/packages/automattic/vipwpcs)[ RSS](/packages/automattic-vipwpcs/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (38)Used By (20)

VIP Coding Standards
====================

[](#vip-coding-standards)

This project contains [PHP\_CodeSniffer (PHPCS) sniffs and rulesets](https://github.com/PHPCSStandards/PHP_CodeSniffer) to validate code developed for [WordPress VIP](https://wpvip.com/).

This project contains two rulesets:

- `WordPressVIPMinimum` - for use with projects on the (older) WordPress.com VIP platform.
- `WordPress-VIP-Go` - for use with projects on the (newer) VIP Go platform.

These rulesets contain only the rules which are considered to be [errors](https://docs.wpvip.com/php_codesniffer/errors/) and [warnings](https://docs.wpvip.com/php_codesniffer/warnings/) according to the WordPress VIP documentation.

The rulesets use rules from the [WordPress Coding Standards](https://github.com/WordPress/WordPress-Coding-Standards) (WPCS) project, as well as the [VariableAnalysis](https://github.com/sirbrillig/phpcs-variable-analysis) standard.

[Learn](https://docs.wpvip.com/vip-code-analysis-bot/phpcs-report/) about why violations are flagged as errors vs warnings and what the levels mean.

Minimal requirements
--------------------

[](#minimal-requirements)

- PHP 5.4+
- [PHPCS 3.13.2+](https://github.com/PHPCSStandards/PHP_CodeSniffer/releases)
- [PHPCSUtils 1.1.0+](https://github.com/PHPCSStandards/PHPCSUtils)
- [PHPCSExtra 1.4.0+](https://github.com/PHPCSStandards/PHPCSExtra)
- [WPCS 3.1.0+](https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/releases)
- [VariableAnalysis 2.12.0+](https://github.com/sirbrillig/phpcs-variable-analysis/releases)

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

[](#installation)

[Composer](https://getcomposer.org/) will install the latest compatible versions of PHPCS, PHPCSUtils, PHPCSExtra, WPCS and VariableAnalysis and register the external standards with PHP\_CodeSniffer.

Please refer to the [installation instructions for installing PHP\_CodeSniffer for WordPress VIP](https://docs.wpvip.com/how-tos/code-review/php_codesniffer/) for more details.

As of VIPCS version 2.3.0, there is no need to `require` the [PHP\_CodeSniffer Standards Composer Installer Plugin](https://github.com/PHPCSStandards/composer-installer) anymore as it is now a requirement of VIPCS itself. Permission to run the plugin will still need to be granted though when using Composer 2.2 or higher.

### Composer Project-based Installation

[](#composer-project-based-installation)

To install the VIP Coding Standards, run the following from the root of your project:

```
composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
composer require --dev automattic/vipwpcs
```

### Composer Global Installation

[](#composer-global-installation)

Alternatively, it can be installed standard globally for use across multiple projects:

```
composer global config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
composer global require --dev automattic/vipwpcs
```

Contribution
------------

[](#contribution)

Please see [CONTRIBUTION.md](.github/CONTRIBUTING.md).

License
-------

[](#license)

Licensed under [GPL-2.0-or-later](LICENSE.md).

###  Health Score

61

—

FairBetter than 99% of packages

Maintenance53

Moderate activity, may be stable

Popularity65

Solid adoption and visibility

Community48

Growing community involvement

Maturity70

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

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 ~130 days

Recently: every ~276 days

Total

19

Last Release

738d ago

Major Versions

0.4.0 → 1.0.02019-04-24

1.0.0 → 2.0.02019-07-12

2.3.4 → 3.0.02023-09-05

PHP version history (3 changes)0.2.1PHP &gt;=5.3

0.3.0PHP &gt;=5.4

0.2.5PHP &gt;=5.6

### Community

Maintainers

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

![](https://www.gravatar.com/avatar/7c5869ecbb8e0eac7e8b8e0f3cf7bdd8d5fcdc4abc10a72281872c53f8639d44?d=identicon)[automattic](/maintainers/automattic)

![](https://www.gravatar.com/avatar/9a1b1fd54fed464a9e7ea2a516be047f9e3ef5a6fda5b77a1996278277afb78a?d=identicon)[rebasaurus](/maintainers/rebasaurus)

---

Top Contributors

[![jrfnl](https://avatars.githubusercontent.com/u/663378?v=4)](https://github.com/jrfnl "jrfnl (347 commits)")[![GaryJones](https://avatars.githubusercontent.com/u/88371?v=4)](https://github.com/GaryJones "GaryJones (344 commits)")[![rebeccahum](https://avatars.githubusercontent.com/u/16962021?v=4)](https://github.com/rebeccahum "rebeccahum (337 commits)")[![david-binda](https://avatars.githubusercontent.com/u/3651036?v=4)](https://github.com/david-binda "david-binda (292 commits)")[![gudmdharalds](https://avatars.githubusercontent.com/u/8835135?v=4)](https://github.com/gudmdharalds "gudmdharalds (63 commits)")[![tomjn](https://avatars.githubusercontent.com/u/58855?v=4)](https://github.com/tomjn "tomjn (49 commits)")[![sboisvert](https://avatars.githubusercontent.com/u/289193?v=4)](https://github.com/sboisvert "sboisvert (15 commits)")[![nickdaugherty](https://avatars.githubusercontent.com/u/1103700?v=4)](https://github.com/nickdaugherty "nickdaugherty (11 commits)")[![vaurdan](https://avatars.githubusercontent.com/u/5804923?v=4)](https://github.com/vaurdan "vaurdan (7 commits)")[![hanifn](https://avatars.githubusercontent.com/u/1227524?v=4)](https://github.com/hanifn "hanifn (5 commits)")[![emrikol](https://avatars.githubusercontent.com/u/3060583?v=4)](https://github.com/emrikol "emrikol (5 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")[![trepmal](https://avatars.githubusercontent.com/u/251183?v=4)](https://github.com/trepmal "trepmal (3 commits)")[![BrookeDot](https://avatars.githubusercontent.com/u/150348?v=4)](https://github.com/BrookeDot "BrookeDot (2 commits)")[![kevinfodness](https://avatars.githubusercontent.com/u/2650828?v=4)](https://github.com/kevinfodness "kevinfodness (2 commits)")[![kshaner](https://avatars.githubusercontent.com/u/1686106?v=4)](https://github.com/kshaner "kshaner (2 commits)")[![paulschreiber](https://avatars.githubusercontent.com/u/86784?v=4)](https://github.com/paulschreiber "paulschreiber (2 commits)")[![philipjohn](https://avatars.githubusercontent.com/u/136342?v=4)](https://github.com/philipjohn "philipjohn (2 commits)")[![terriann](https://avatars.githubusercontent.com/u/316632?v=4)](https://github.com/terriann "terriann (2 commits)")[![tessaneedham](https://avatars.githubusercontent.com/u/29921497?v=4)](https://github.com/tessaneedham "tessaneedham (1 commits)")

---

Tags

php-codesnifferphpcsrulesetvipwordpressstandardsphpcswordpressstatic analysis

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/automattic-vipwpcs/health.svg)

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

###  Alternatives

[yoast/yoastcs

PHP\_CodeSniffer rules for Yoast projects

221.1M29](/packages/yoast-yoastcs)[wp-coding-standards/wpcs

PHP\_CodeSniffer rules (sniffs) to enforce WordPress coding conventions

2.8k42.5M1.6k](/packages/wp-coding-standards-wpcs)[wptrt/wpthemereview

PHP\_CodeSniffer rules (sniffs) to verify theme compliance with the rules for theme hosting on wordpress.org

217736.5k29](/packages/wptrt-wpthemereview)[inpsyde/php-coding-standards

PHP 7.4+ coding standards for Syde WordPress projects.

101163.9k45](/packages/inpsyde-php-coding-standards)[mayflower/mo4-coding-standard

PHP CodeSniffer ruleset implementing the MO4 coding standards extending the Symfony coding standards.

17508.3k5](/packages/mayflower-mo4-coding-standard)[infinum/eightshift-coding-standards

Eightshift WordPress Coding Standards

1785.2k3](/packages/infinum-eightshift-coding-standards)

PHPackages © 2026

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