{"id":37015720,"url":"https://github.com/byteever/byteever-sniffs","last_synced_at":"2026-01-14T01:36:04.559Z","repository":{"id":41112580,"uuid":"339965385","full_name":"byteever/byteever-sniffs","owner":"byteever","description":"A comprehensive PHP_CodeSniffer ruleset extending WordPress Coding Standards with ByteEver-specific conventions for modern PHP development","archived":false,"fork":false,"pushed_at":"2025-06-19T06:40:05.000Z","size":102,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-19T07:39:58.612Z","etag":null,"topics":["byteever","phpcs","standards","wordpress"],"latest_commit_sha":null,"homepage":"https://byteever.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/byteever.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-02-18T07:09:08.000Z","updated_at":"2025-06-19T06:40:09.000Z","dependencies_parsed_at":"2023-01-21T18:00:09.539Z","dependency_job_id":"0e704703-6b2a-4a45-9ba6-ca0bf16efd3c","html_url":"https://github.com/byteever/byteever-sniffs","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/byteever/byteever-sniffs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteever%2Fbyteever-sniffs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteever%2Fbyteever-sniffs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteever%2Fbyteever-sniffs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteever%2Fbyteever-sniffs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/byteever","download_url":"https://codeload.github.com/byteever/byteever-sniffs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byteever%2Fbyteever-sniffs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T00:40:43.272Z","status":"ssl_error","status_checked_at":"2026-01-14T00:40:42.636Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["byteever","phpcs","standards","wordpress"],"created_at":"2026-01-14T01:36:03.897Z","updated_at":"2026-01-14T01:36:04.551Z","avatar_url":"https://github.com/byteever.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ByteEver Sniffs\n\nA comprehensive PHP_CodeSniffer ruleset that extends WordPress Coding Standards with ByteEver-specific conventions for modern PHP development.\n\n## Features\n\n- 🎯 **WordPress-First**: Built on top of WordPress Coding Standards (WPCS) 3.1.0\n- 🐘 **PHP Compatibility**: Supports PHP 7.4 - 8.5 with PHPCompatibility checks\n- ⚡ **Performance**: Configured for parallel processing with 8 threads\n- 🎨 **Sensible Defaults**: Pre-configured with practical exclusions for real-world development\n- 📝 **Tab Indentation**: Enforces consistent tab-based indentation\n- 🔧 **Customizable**: Easy to extend and override rules per project\n\n## What's Included\n\n### Base Standards\n- **WordPress**: Complete WordPress coding standards\n- **WordPress-Extra**: Additional WordPress-specific rules\n- **WordPress-Docs**: Documentation standards\n- **PHPCompatibilityWP**: WordPress-specific PHP compatibility checks\n\n### ByteEver Customizations\n- Tab-based indentation (1 tab = 1 indent level)\n- Space inside parentheses for better readability\n- Relaxed file naming requirements\n- Allowance for shorthand array syntax `[]`\n- Sensible exclusions for database queries and nonce verification\n- Comment and doc comment tokens ignored in indentation checks\n\n## Installation\n\nInstall via Composer:\n\n```bash\ncomposer require byteever/byteever-sniffs\n```\n\nThe package will automatically:\n- Install PHP_CodeSniffer and required dependencies\n- Register the `ByteEver-Default` standard\n- Set it as the default standard for your project\n\n## Usage\n\n### Command Line\n\n#### Quick Check\n```bash\nvendor/bin/phpcs .\n```\n\n#### Using Composer Script\n```bash\ncomposer run phpcs\n```\n\n#### Custom Configuration\n```bash\nvendor/bin/phpcs --standard=ByteEver-Default path/to/files\n```\n\n### IDE Integration\n\nFor better IDE integration, create a `.phpcs.xml.dist` file in your project root:\n\n```xml\n\u003c?xml version=\"1.0\"?\u003e\n\u003cruleset name=\"Project Coding Standards\"\u003e\n    \u003cdescription\u003eProject-specific coding standards based on ByteEver defaults.\u003c/description\u003e\n\n    \u003c!-- Scan these directories --\u003e\n    \u003cfile\u003esrc/\u003c/file\u003e\n    \u003cfile\u003einc/\u003c/file\u003e\n    \n    \u003c!-- Exclude these paths --\u003e\n    \u003cexclude-pattern\u003evendor/\u003c/exclude-pattern\u003e\n    \u003cexclude-pattern\u003enode_modules/\u003c/exclude-pattern\u003e\n    \u003cexclude-pattern\u003e*.min.js\u003c/exclude-pattern\u003e\n\n    \u003c!-- Configuration --\u003e\n    \u003cconfig name=\"minimum_supported_wp_version\" value=\"6.2\" /\u003e\n    \u003cconfig name=\"testVersion\" value=\"7.4-8.5\" /\u003e\n\n    \u003c!-- Use ByteEver standards --\u003e\n    \u003crule ref=\"ByteEver-Default\" /\u003e\n\n    \u003c!-- Project-specific customizations --\u003e\n    \u003crule ref=\"WordPress.WP.I18n\"\u003e\n        \u003cproperties\u003e\n            \u003cproperty name=\"text_domain\" type=\"array\"\u003e\n                \u003celement value=\"your-text-domain\"/\u003e\n            \u003c/property\u003e\n        \u003c/properties\u003e\n    \u003c/rule\u003e\n\u003c/ruleset\u003e\n```\n\n### Continuous Integration\n\nAdd to your CI workflow:\n\n```yaml\n# GitHub Actions example\n- name: PHP CodeSniffer\n  run: composer run phpcs\n```\n\n## Configuration Details\n\n### PHP Version Support\n- **Minimum**: PHP 7.4\n- **Maximum**: PHP 8.5\n- **Compatibility**: Uses PHPCompatibilityWP for WordPress-specific compatibility checks\n\n### Key Rules Applied\n- WordPress Coding Standards (with sensible exclusions)\n- Tab indentation (1 tab per indent level)\n- Space inside parentheses for readability\n- Superfluous whitespace detection\n- PHP compatibility checking for WordPress\n\n### Excluded Rules\nThe following rules are excluded for practical development:\n- File naming conventions (WordPress.Files.FileName)\n- Nonce verification requirements\n- Direct database query restrictions\n- Global variable override prohibitions\n- Some documentation capitalization requirements\n\n## Customization\n\n### Project-Level Overrides\n\nCreate a `phpcs.xml.dist` file to override or add rules:\n\n```xml\n\u003crule ref=\"ByteEver-Default\"\u003e\n    \u003c!-- Enable a rule that's disabled by default --\u003e\n    \u003cexclude name=\"WordPress.Files.FileName\" /\u003e\n\u003c/rule\u003e\n\n\u003c!-- Add custom exclusions --\u003e\n\u003crule ref=\"WordPress.Security.NonceVerification.Missing\"\u003e\n    \u003cexclude-pattern\u003eadmin/ajax-handlers/*\u003c/exclude-pattern\u003e\n\u003c/rule\u003e\n```\n\n### Inline Annotations\n\nDisable rules for specific code blocks:\n\n```php\n// phpcs:disable WordPress.Security.NonceVerification.Missing\nif ( isset( $_POST['data'] ) ) {\n    // Process data without nonce check\n}\n// phpcs:enable WordPress.Security.NonceVerification.Missing\n```\n\n## Requirements\n\n- PHP 7.4 or higher\n- Composer\n- PHP_CodeSniffer 3.9.0 or higher\n\n## Dependencies\n\n- `dealerdirect/phpcodesniffer-composer-installer`: ^1.0\n- `phpcompatibility/phpcompatibility-wp`: ^2.1  \n- `wp-coding-standards/wpcs`: ^3.1.0\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Test with `composer run phpcs`\n5. Submit a pull request\n\n## License\n\nGPL-3.0-only\n\n## Author\n\n**Sultan Nasir Uddin**  \nEmail: sultan@byteever.com  \nOrganization: ByteEver\n\n---\n\n*Part of the ByteEver development toolkit for WordPress and PHP projects.*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyteever%2Fbyteever-sniffs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbyteever%2Fbyteever-sniffs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyteever%2Fbyteever-sniffs/lists"}