<?xml version="1.0"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Example Project" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/PHPCSStandards/PHP_CodeSniffer/master/phpcs.xsd">

	<description>A custom set of rules to check for a WPized WordPress project</description>

	<file>.</file>

	<!-- Exclude WP Core folders and files from being checked. -->
	<exclude-pattern>/docroot/wp-admin/*</exclude-pattern>
	<exclude-pattern>/docroot/wp-includes/*</exclude-pattern>
	<exclude-pattern>/docroot/wp-*.php</exclude-pattern>
	<exclude-pattern>/docroot/index.php</exclude-pattern>
	<exclude-pattern>/docroot/xmlrpc.php</exclude-pattern>
	<exclude-pattern>/docroot/wp-content/plugins/*</exclude-pattern>

	<!-- Exclude the Composer Vendor directory. -->
	<exclude-pattern>**/vendor/*</exclude-pattern>

	<!-- Exclude the Node Modules directory. -->
	<exclude-pattern>**/node_modules/*</exclude-pattern>

	<!-- Exclude the tests directory. -->
	<exclude-pattern>**/tests/*</exclude-pattern>

	<!-- Exclude minified Javascript files. -->
	<exclude-pattern>*.min.js</exclude-pattern>
	<exclude-pattern>*.js</exclude-pattern>

	<!-- Strip the filepaths down to the relevant bit. -->
	<arg name="basepath" value="."/>

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

	<!-- Include the WordPress-Extra standard. -->
	<rule ref="WordPress-Extra"></rule>

	<!-- Let's also check that everything is properly documented. -->
	<rule ref="WordPress-Docs"/>

	<!-- Add in some extra rules from other standards. -->
	<rule ref="Generic.Commenting.Todo"/>

	<config name="minimum_wp_version" value="6.0"/>

	<rule ref="WordPress">
		<exclude name="WordPress.Files.FileName.InvalidClassFileName" />
	</rule>

	<rule ref="WordPress.NamingConventions.PrefixAllGlobals">
		<properties>
			<property name="prefixes" type="array">
				<element value="wpf"/>
				<element value="WP_Fusion"/>
			</property>
		</properties>
	</rule>

	<ruleset name="Custom Translation Namespace">
		<rule ref="WordPress.WP.I18n">
			<properties>
				<property name="text_domain" type="array">
					<element value="wp-fusion-lite" />
				</property>
			</properties>
		</rule>
	</ruleset>
</ruleset>
