<?xml version="1.0"?>
<ruleset name="TTSWP Plugin">
    <description>Coding standards for the Text To Speech TTS WordPress plugin.</description>

    <file>.</file>

    <arg value="ps"/>
    <arg name="colors"/>
    <arg name="extensions" value="php"/>

    <exclude-pattern>*/languages/*</exclude-pattern>
    <exclude-pattern>*/node_modules/*</exclude-pattern>
    <exclude-pattern>*/vendor/*</exclude-pattern>
    <exclude-pattern>*/tests/*</exclude-pattern>
    <exclude-pattern>*/build/*</exclude-pattern>
    <exclude-pattern>*.min.js</exclude-pattern>
    <exclude-pattern>*.min.css</exclude-pattern>

    <!-- WordPress-Extra bundles core style + security + escape/nonce/cap sniffs. -->
    <rule ref="WordPress-Extra"/>

    <!-- Global functions, classes, constants, hooks, options must use one of these prefixes. -->
    <rule ref="WordPress.NamingConventions.PrefixAllGlobals">
        <properties>
            <property name="prefixes" type="array">
                <element value="mementor_tts"/>
                <element value="mementor_ttswp"/>
                <element value="ttswp"/>
                <element value="Mementor_TTS"/>
                <element value="MEMENTOR_TTS"/>
            </property>
        </properties>
    </rule>

    <!-- Require the plugin text domain on all translation functions. -->
    <rule ref="WordPress.WP.I18n">
        <properties>
            <property name="text_domain" type="array">
                <element value="text-to-speech-tts"/>
                <element value="default"/>
            </property>
        </properties>
    </rule>

    <!-- Context for sniffs that gate behavior on minimum supported WP version. Matches readme.txt "Requires at least". -->
    <config name="minimum_wp_version" value="6.0"/>
</ruleset>
