Files
peptide-repo-core/phpcs.xml.dist
peptiderepo 665d7fa9e1 Adopt reusable CI standard + PHPUnit conversion (#22)
Squash-merge of PR #22: adopt shared reusable CI workflow, convert PHPUnit to stubs, update branch-protection contexts.

QA-approved at 05d8094a1d. All required CI checks green.

Agent-Session: 2026-06-17-prcore-ci-deploy
2026-06-17 01:12:00 +07:00

44 lines
2.3 KiB
XML

<?xml version="1.0"?>
<ruleset name="Peptide Repo Core">
<description>WordPress coding standards for Peptide Repo Core.</description>
<file>.</file>
<exclude-pattern>/vendor/*</exclude-pattern>
<exclude-pattern>/node_modules/*</exclude-pattern>
<exclude-pattern>/tests/*</exclude-pattern>
<arg name="extensions" value="php"/>
<arg name="severity" value="1"/>
<arg name="warning-severity" value="0"/>
<arg value="sp"/>
<rule ref="WordPress">
<!-- Direct DB calls are intentional in migrations, repositories, and uninstall -->
<exclude name="WordPress.DB.DirectDatabaseQuery.DirectQuery"/>
<exclude name="WordPress.DB.DirectDatabaseQuery.NoCaching"/>
<exclude name="WordPress.DB.DirectDatabaseQuery.SchemaChange"/>
<!-- Slow DB queries (meta/tax) are expected in repository patterns -->
<exclude name="WordPress.DB.SlowDBQuery.slow_db_query_meta_key"/>
<exclude name="WordPress.DB.SlowDBQuery.slow_db_query_meta_query"/>
<exclude name="WordPress.DB.SlowDBQuery.slow_db_query_tax_query"/>
<!-- Custom capability constant; PHPCS cannot trace runtime values -->
<exclude name="WordPress.WP.Capabilities.Undetermined"/>
<!-- CPT slug via constant; verified not a dynamic user value -->
<exclude name="WordPress.NamingConventions.ValidPostTypeSlug.NotStringLiteral"/>
<!-- WP hook callbacks intentionally omit unused parameters per hook signature -->
<exclude name="Generic.CodeAnalysis.UnusedFunctionParameter.Found"/>
<exclude name="Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed"/>
<!-- Error log calls used for debug fallback in migration code; acceptable -->
<exclude name="WordPress.PHP.DevelopmentFunctions.error_log_error_log"/>
<!-- file_get_contents used for local file reads, not HTTP -->
<exclude name="WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents"/>
<!-- @ silencing used only in PubChem HTTP client for network errors -->
<exclude name="WordPress.PHP.NoSilencedErrors.Discouraged"/>
<!-- Duplicate interface name: PHPCS false-positive scanning both interface definition sites -->
<exclude name="Generic.Classes.DuplicateClassName.Found"/>
<!-- Dynamic WHERE clause in dosing-repository; placeholders are builder-constructed -->
<exclude name="WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare"/>
</rule>
</ruleset>