<?xml version="1.0"?>
<ruleset name="Native Content Relationships">
	<description>PHPCS ruleset for the Native Content Relationships plugin.</description>

	<rule ref="WordPress">
		<!-- Practical exclusions (documentation + filename conventions) -->
		<exclude name="Squiz.Commenting.FileComment.MissingPackageTag" />
		<exclude name="Squiz.Commenting.ClassComment.Missing" />
		<exclude name="Squiz.Commenting.VariableComment.MissingVar" />
		<exclude name="Squiz.Commenting.FunctionComment.MissingParamTag" />
		<exclude name="Squiz.Commenting.InlineComment.InvalidEndChar" />
		<exclude name="Squiz.Commenting.FunctionComment.Missing" />
		<exclude name="Squiz.Commenting.FunctionComment.ParamCommentFullStop" />
		<exclude name="WordPress.Files.FileName.InvalidClassFileName" />
		<exclude name="Generic.CodeAnalysis.UnusedFunctionParameter.Found" />
		<exclude name="WordPress.WP.Capabilities.Unknown" />
		<exclude name="Universal.NamingConventions.NoReservedKeywordParameterNames.defaultFound" />
		<exclude name="WordPress.WP.AlternativeFunctions.json_encode_json_encode" />
		<exclude name="WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents" />
		<exclude name="Generic.Files.OneObjectStructurePerFile.MultipleFound" />
		<exclude name="Universal.Files.SeparateFunctionsFromOO.Mixed" />
		<exclude name="Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace" />
		<exclude name="Universal.Operators.DisallowShortTernary.Found" />
		<exclude name="Squiz.PHP.CommentedOutCode.Found" />
		<exclude name="Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed" />
		<exclude name="Generic.CodeAnalysis.EmptyStatement.DetectedElse" />
		<exclude name="Squiz.Commenting.FunctionComment.MissingParamComment" />
		<exclude name="WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare" />
		<exclude name="WordPress.DB.DirectDatabaseQuery.DirectQuery" />
		<exclude name="WordPress.DB.DirectDatabaseQuery.NoCaching" />
		<exclude name="PSR2.Methods.MethodDeclaration.Underscore" />
		<!-- tax_query used for related-content suggestions; nonce verified via check_ajax_referer / wp_verify_nonce before $_POST use -->
		<exclude name="WordPress.DB.SlowDBQuery.slow_db_query_tax_query" />
		<exclude name="WordPress.Security.NonceVerification.Missing" />
		<exclude name="WordPress.Security.NonceVerification.Recommended" />
	</rule>

	<exclude-pattern>vendor/*</exclude-pattern>
	<exclude-pattern>includes/class-settings-old.php</exclude-pattern>
	<exclude-pattern>includes/tools/class-settings-old.php</exclude-pattern>
	<exclude-pattern>tests/*</exclude-pattern>
	<exclude-pattern>benchmarks/*</exclude-pattern>
	<exclude-pattern>developer-guide.php</exclude-pattern>
	<exclude-pattern>phpstan-stubs.php</exclude-pattern>
</ruleset>
