<?xml version="1.0"?>
<ruleset name="Punchout Rocket">
    <description>WordPress Coding Standards for Punchout Rocket Plugin</description>

    <!-- Check all PHP files in the src directory -->
    <file>./src</file>
    <file>./punchout-rocket.php</file>

    <!-- Exclude vendor and node_modules -->
    <exclude-pattern>vendor/*</exclude-pattern>
    <exclude-pattern>node_modules/*</exclude-pattern>
    <exclude-pattern>*/tests/*</exclude-pattern>

    <!-- Include WordPress Coding Standards -->
    <rule ref="WordPress">
        <!-- Allow short array syntax -->
        <exclude name="Generic.Arrays.DisallowShortArraySyntax" />

        <!-- We're using namespaces -->
        <exclude name="WordPress.Files.FileName" />
    </rule>

    <!-- Include WordPress-Extra -->
    <rule ref="WordPress-Extra">
        <!-- Exclude filename rules for namespaced files -->
        <exclude name="WordPress.Files.FileName.NotHyphenatedLowercase" />
        <exclude name="WordPress.Files.FileName.InvalidClassFileName" />
    </rule>

    <!-- Include WordPress-Docs -->
    <rule ref="WordPress-Docs" />

    <!-- Check for PHP compatibility -->
    <config name="testVersion" value="7.0-" />
    <rule ref="PHPCompatibility" />

    <!-- Show progress -->
    <arg value="ps" />

    <!-- Use colors in output -->
    <arg name="colors" />

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

    <!-- Check up to 20 files simultaneously -->
    <arg name="parallel" value="20" />
</ruleset>