builtnorth/coding-standards
最新稳定版本:1.0.0
Composer 安装命令:
composer require builtnorth/coding-standards
包简介
Built North coding standards for WordPress projects, extending WPCS with modern PHP practices
README 文档
README
WordPress coding standards for Built North projects, extending WPCS with modern PHP practices.
Overview
This package provides a consistent set of coding standards for all Built North WordPress projects. It extends the WordPress Coding Standards (WPCS) while allowing modern PHP features and PSR-4 autoloading.
Installation
Add to your project via Composer:
composer require --dev builtnorth/coding-standards
Usage
Basic Usage
Create a phpcs.xml file in your project root:
<?xml version="1.0"?> <ruleset name="My Project"> <description>Coding standards for my project</description> <!-- Use Built North standards --> <rule ref="BuiltNorth"/> <!-- Project-specific text domain --> <rule ref="WordPress.WP.I18n"> <properties> <property name="text_domain" type="array"> <element value="my-text-domain"/> </property> </properties> </rule> </ruleset>
Running the Standards
# Check your code vendor/bin/phpcs # Fix auto-fixable issues vendor/bin/phpcbf # Check specific file or directory vendor/bin/phpcs src/ # Check with specific standard vendor/bin/phpcs --standard=BuiltNorth
What's Included
Base Standards
- WordPress Coding Standards (WPCS) 3.0+
- PHP Compatibility checks for PHP 8.1+
- PSR-1/PSR-2 file structure rules
Modern PHP Features Allowed
- ✅ Short array syntax
[] - ✅ Short ternary operator
?: - ✅ Namespaces and PSR-4 autoloading
- ✅ Modern PHP 8.1+ features
Excluded WordPress Rules
- File naming conventions (we use PSR-4)
- Yoda conditions requirement
- File comment requirements
- Overly strict comment punctuation
File Exclusions
Automatically excludes from scanning:
/vendor//node_modules//build/and/dist/*.min.jsand*.min.css- WordPress core files
- Test bootstrap files
Customization
Adding Project-Specific Rules
Your project's phpcs.xml can add additional rules:
<rule ref="BuiltNorth"/> <!-- Add project-specific rules --> <rule ref="WordPress.WP.EnqueuedResourceParameters"/> <!-- Or exclude specific rules --> <rule ref="BuiltNorth"> <exclude name="WordPress.NamingConventions.PrefixAllGlobals"/> </rule>
Setting Prefixes for Global Functions
<rule ref="WordPress.NamingConventions.PrefixAllGlobals"> <properties> <property name="prefixes" type="array"> <element value="my_prefix"/> <element value="MyNamespace"/> </property> </properties> </rule>
Integration with CI/CD
GitHub Actions Example
- name: Install dependencies run: composer install - name: Run PHPCS run: vendor/bin/phpcs --report=checkstyle | cs2pr
Pre-commit Hook
Add to .git/hooks/pre-commit:
#!/bin/bash
vendor/bin/phpcs --filter=GitStaged
Philosophy
Our coding standards aim to:
- Embrace Modern PHP: Use PHP 8.1+ features while maintaining WordPress compatibility
- Prioritize Readability: Code should be self-documenting with clear naming
- Support PSR-4: Use modern autoloading instead of WordPress file naming
- Balance Strictness: Enforce important standards without being pedantic
- Enable Consistency: Same standards across all Built North projects
Requirements
- PHP >= 8.1
- Composer
- WordPress project (for context-aware rules)
Contributing
To contribute to these standards:
- Clone the repository
- Make your changes to
BuiltNorth/ruleset.xml - Test with real projects
- Submit a pull request with reasoning for changes
License
MIT
统计信息
- 总下载量: 1.12k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 6
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-08-11