chore: add CI (PHP lint + WPCS) and contributor docs#8
Merged
Conversation
Set up the project for professional open-source maintenance:
- GitHub Actions CI workflow (.github/workflows/ci.yml):
- php-lint: php -l across PHP 7.4-8.3 — a required, blocking gate
- coding-standards: PHPCS/WPCS, advisory for now (legacy codebase has a
large, ~97% auto-fixable formatting backlog); flip to blocking after a
dedicated phpcbf cleanup PR
- composer.json + composer.lock: PHPCS, WPCS, PHPCompatibilityWP dev tooling
with `composer run lint` / `lint:fix` scripts
- phpcs.xml.dist: WordPress ruleset scoped to the plugin, with the wp-puller
text domain and wp_puller/WP_Puller global prefixes enforced
- CONTRIBUTING.md: branch/PR workflow, coding standards, CI, and the
security hardening rules contributors must preserve (webhook signature
verification, authenticated v2 encryption, wp_safe_remote_*, path-traversal
guards, no secret logging)
- .github/PULL_REQUEST_TEMPLATE.md: focused-PR checklist
- .gitignore: ignore /vendor and editor/OS cruft
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Sets up the repository for professional open-source maintenance: continuous integration, coding-standards tooling, and contributor documentation.
What's included
CI —
.github/workflows/ci.ymlphp -l) across PHP 7.4–8.3 — a required, blocking gate. The codebase is lint-clean today, so this is green from the start.phpcbfcan auto-fix. Rather than bundle a whole-codebase reformat into this PR, the job reports the debt without blocking. It should be flipped to blocking after a dedicated cleanup PR (composer run lint:fix).Tooling
composer.json+composer.lock— PHPCS, WPCS, PHPCompatibilityWP, withcomposer run lint/composer run lint:fix.phpcs.xml.dist— WordPress ruleset scoped towp-puller/, enforcing thewp-pullertext domain andwp_puller/WP_Pullerglobal prefixes.Docs
CONTRIBUTING.md— branch/PR workflow, coding standards, CI, and the security hardening rules contributors must preserve (webhook signature verification before any event incl.ping, authenticatedv2:encryption,wp_safe_remote_*, path-traversal guards, no secret logging)..github/PULL_REQUEST_TEMPLATE.md— focused-PR checklist..gitignore— ignores/vendorand editor/OS cruft.How was this tested?
php -lrun locally on every plugin PHP file — no syntax errors.composer installsucceeds and./vendor/bin/phpcsruns againstphpcs.xml.dist.ci.ymlvalidated as well-formed YAML.Notes
This is the process groundwork referenced when triaging the open PRs. Follow-up: a
composer run lint:fixcleanup PR to clear the WPCS backlog, after which the coding-standards job can become a required check.