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

    <!-- Scan these files/directories -->
    <file>.</file>

    <!-- Exclude non-plugin directories -->
    <exclude-pattern>/vendor/*</exclude-pattern>
    <exclude-pattern>/node_modules/*</exclude-pattern>
    <exclude-pattern>/tests/*</exclude-pattern>
    <exclude-pattern>/build/*</exclude-pattern>
    <exclude-pattern>/dist/*</exclude-pattern>
    <exclude-pattern>/build-wporg/*</exclude-pattern>
    <exclude-pattern>*.min.js</exclude-pattern>
    <exclude-pattern>*.min.css</exclude-pattern>

    <!-- Only scan PHP files -->
    <arg name="extensions" value="php"/>

    <!-- Show progress + colors + sniff codes -->
    <arg value="ps"/>
    <arg name="colors"/>
    <arg name="basepath" value="."/>
    <arg name="parallel" value="8"/>

    <!-- WordPress ruleset (includes Core + Extra + Docs) -->
    <rule ref="WordPress">
        <!-- Allow short array syntax [] -->
        <exclude name="Universal.Arrays.DisallowShortArraySyntax"/>
    </rule>

    <!-- WordPress Extra (best practices) -->
    <rule ref="WordPress-Extra"/>

    <!-- WordPress Docs (inline documentation) -->
    <rule ref="WordPress-Docs"/>

    <!-- Set minimum PHP version for compatibility checks -->
    <config name="minimum_supported_wp_version" value="6.0"/>

    <!-- Set text domain untuk I18n sniffs -->
    <rule ref="WordPress.WP.I18n">
        <properties>
            <property name="text_domain" type="array">
                <element value="smallpict"/>
            </property>
        </properties>
    </rule>

    <!-- Prefix semua global functions/classes/variables -->
    <rule ref="WordPress.NamingConventions.PrefixAllGlobals">
        <properties>
            <property name="prefixes" type="array">
                <element value="smallpict"/>
                <element value="SmallPict"/>
                <element value="SMALLPICT"/>
            </property>
        </properties>
    </rule>

</ruleset>