Search by

pekral / phpcs-rules

pekral

Custom ruleset for PHP_CodeSniffer (PHPCS) with additional rules and configuration, based on Slevomat Coding Standard. Helps to enforce consistent code style and best practices in PHP projects.

Package info

github.com/pekral/phpcs-rules

Documentation

Type:phpcodesniffer-standard

pkg:composer/pekral/phpcs-rules

Fund package maintenance!

pekral

Statistics

Installs: 18 977

Dependents: 6

Suggesters: 0

Stars: 0

Open Issues: 1

0.5 2026-06-29 05:23 UTC

This package is auto-updated.

Last update: 2026-11-12 14:25:22 UTC


README

Latest Version on Packagist MIT Licensed CI Total Downloads

A ready-made ruleset for PHP_CodeSniffer (PHPCS) built on the Slevomat Coding Standard. It enables around 160 rules for arrays, classes, comments, control structures, namespaces, type hints, whitespace and more, so PHP projects get one consistent code style from a single ruleset.xml.

Requirements

  • PHP 8.4 or newer. The latest tagged release, 0.5.0, still requires PHP 8.5; PHP 8.4 support returns with the next release (see CHANGELOG).
  • Composer.

slevomat/coding-standard and dealerdirect/phpcodesniffer-composer-installer are installed with the package.

Installation

composer require --dev pekral/phpcs-rules

Configuration

No configuration is needed: pass the shipped ruleset to PHPCS with --standard. To add or override rules, reference it from a ruleset.xml in your project and run PHPCS with --standard=ruleset.xml:

<?xml version="1.0"?>
<ruleset name="Custom PHPCS Rules">
    <rule ref="vendor/pekral/phpcs-rules/ruleset.xml"/>
    <!-- Your custom rules here -->
</ruleset>

Quick start

Check a directory:

vendor/bin/phpcs --standard=vendor/pekral/phpcs-rules/ruleset.xml src/

Fix what can be fixed automatically:

vendor/bin/phpcbf --standard=vendor/pekral/phpcs-rules/ruleset.xml src/

Warning

phpcbf rewrites files in place. Commit or back up your changes before running it.

The ruleset checks only .php files and turns some rules off for certain paths, for example tests/* for ClassLength, FileLength and StaticClosure.

Documentation

  • Rules: every rule the ruleset enables, with key settings and path exclusions.

Testing

composer test
composer check

composer test runs PHPUnit; composer check runs PHPCS with this ruleset on Examples/, src/ and tests/. CI also runs PHPStan, Rector in dry-run mode and composer check-unused-sniffs on PHP 8.4 and 8.5.

Changelog

See CHANGELOG.

License

The MIT License (MIT). See LICENSE.