Skip to content

Latest commit

 

History

History
174 lines (126 loc) · 7.61 KB

README.md

File metadata and controls

174 lines (126 loc) · 7.61 KB

Itineris WP Coding Standards

Packagist Version PHP from Packagist Packagist Downloads GitHub License Hire Itineris

Goal

Itineris WP Coding Standards is a project with rulesets for code style and quality tools to be used in Itineris WordPress projects.

It is a mix with PSR-1, PSR-2, PSR-4, WordPress Coding Standards and Automattic/VIP-Coding-Standards.

Whenever there's a conflict between PSR and WPCS, always prefer PSR.

Currently, it works for WordPress plugins. Using it on Bedrock or Sage requires some tweaking.

Installation

$ composer require --dev itinerisltd/itineris-wp-coding-standards

Usage

First, create phpcs.xml on project root:

<?xml version="1.0"?>
<ruleset name="MyAwesomePlugin">
    <!-- Check all files under project root -->
    <file>./</file>

    <!-- Show sniff codes in all reports -->
    <arg value="s"/>

    <!-- Install custom rulesets -->
    <config name="installed_paths" value="vendor/wp-coding-standards/wpcs,vendor/automattic/vipwpcs,vendor/itinerisltd/itineris-wp-coding-standards"/>

    <!-- Use Itineris WP Coding Standards -->
    <rule ref="Itineris"/>

    <!-- TODO: Change everything below! -->
    <!-- TODO: Exclude specific rules if necessary -->

    <!-- TODO: Exclude some files -->
    <exclude-pattern>/my-awesome-plugin.php</exclude-pattern>
    <exclude-pattern>/tests/*</exclude-pattern>
    <exclude-pattern>/vendor/*</exclude-pattern>

    <!-- TODO: Define minimum supported WordPress version -->
    <config name="minimum_supported_wp_version" value="4.9"/>

    <!-- TODO: Define expected text domains -->
    <rule ref="WordPress.WP.I18n">
        <properties>
            <property name="text_domain" type="array" value="wc-worldpay,woocommerce"/>
        </properties>
    </rule>
</ruleset>

Then, define a composer script:

# composer.json
{
  "scripts": {
    "check-style": "phpcs --colors -p"
  }
}

Run the command:

composer check-style

PrettyCI

Create .prettyci.composer.json at project root:

# .prettyci.composer.json
{
  "require-dev": {
       "itinerisltd/itineris-wp-coding-standards": "^999.999.999"
   }
}

To make PrettyCI works, ensure:

  • you created .prettyci.composer.json at project root
  • you created phpcs.xml at project root
  • versions in .prettyci.composer.json are the same as in composer.json

Required Readings

FAQs

Will you add support for older PHP versions?

Never! This plugin will only works on actively supported PHP versions.

Don't use it on end of life or security fixes only PHP versions.

It looks awesome. Where can I find some more goodies like this?

This isn't on wp.org. Where can I give a ⭐️⭐️⭐️⭐️⭐️ review?

Thanks! Glad you like it. It's important to make my boss know somebody is using this project. Instead of giving reviews on wp.org, consider:

Feedback

Please provide feedback! We want to make this library useful in as many projects as possible. Please submit an issue and point out what you do and don't like, or fork the project and make suggestions. No issue is too small.

Change Log

Please see CHANGELOG for more information on what has changed recently.

Security

If you discover any security related issues, please email hello@itineris.co.uk instead of using the issue tracker.

Credits

Itineris WP Coding Standards is a Itineris Limited project created by Tang Rufus.

Full list of contributors can be found here.

License

Itineris WP Coding Standards is licensed under the MIT License. Please see License File for more information.