<?xml version="1.0"?>
<ruleset name="WordPressProject">
	<description>Strict WordPress coding standards with custom configurations for The Event Calendar.</description>

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

	<rule ref="WordPress">
		<exclude name="Squiz.Commenting.FileComment.Missing"/>
		<exclude name="Generic.Files.OneObjectStructurePerFile.MultipleFound"/>
		<exclude name="Universal.Files.SeparateFunctionsFromOO.Mixed"/>
		<!-- Note: Slow database query warnings are NOT excluded here so developers can see them locally -->
		<!-- Inline phpcs:ignore comments in code suppress these warnings for WordPress.org review -->
		<!-- This allows local development awareness while maintaining WordPress.org compliance -->
	</rule>

	<rule ref="WordPress.WP.I18n">
		<properties>
			<property name="text_domain" type="array">
				<element value="planit-event-manager"/>
			</property>
		</properties>
	</rule>

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

	<file>.</file>
	
	<!-- Exclude dependencies -->
	<exclude-pattern>/vendor/</exclude-pattern>
	<exclude-pattern>/node_modules/</exclude-pattern>
	
	<!-- Exclude non-PHP files -->
	<exclude-pattern>*.js</exclude-pattern>
	<exclude-pattern>*.css</exclude-pattern>
	<exclude-pattern>*.md</exclude-pattern>
	
	<!-- Exclude utility/testing files -->
	<exclude-pattern>verify-fixes.php</exclude-pattern>
	<exclude-pattern>test-admin-pages.php</exclude-pattern>
	<exclude-pattern>debug-error-log.php</exclude-pattern>
	<exclude-pattern>verify-security.php</exclude-pattern>
	
	<!-- Exclude development and asset files -->
	<exclude-pattern>/assets/</exclude-pattern>
	<exclude-pattern>create-plugin-zip.sh</exclude-pattern>
	
	<!-- Exclude hidden/system files -->
	<exclude-pattern>/.git/</exclude-pattern>
	<exclude-pattern>/.DS_Store</exclude-pattern>
	<exclude-pattern>/.cursor/</exclude-pattern>
	<exclude-pattern>/.vscode/</exclude-pattern>
	<exclude-pattern>/.idea/</exclude-pattern>
</ruleset>
