Skip to content

chore: add CI (PHP lint + WPCS) and contributor docs#8

Merged
altugank merged 1 commit into
mainfrom
chore/ci-and-contributing
Jun 9, 2026
Merged

chore: add CI (PHP lint + WPCS) and contributor docs#8
altugank merged 1 commit into
mainfrom
chore/ci-and-contributing

Conversation

@altugank

@altugank altugank commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

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.yml

  • PHP Lint (php -l) across PHP 7.4–8.3 — a required, blocking gate. The codebase is lint-clean today, so this is green from the start.
  • WordPress Coding Standards (PHPCS/WPCS) — runs on every PR but is advisory for now. The legacy codebase carries ~2,650 mostly-formatting violations, ~97% of which phpcbf can 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, with composer run lint / composer run lint:fix.
  • phpcs.xml.dist — WordPress ruleset scoped to wp-puller/, enforcing the wp-puller text domain and wp_puller/WP_Puller global 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, authenticated v2: encryption, wp_safe_remote_*, path-traversal guards, no secret logging).
  • .github/PULL_REQUEST_TEMPLATE.md — focused-PR checklist.
  • .gitignore — ignores /vendor and editor/OS cruft.

How was this tested?

  • php -l run locally on every plugin PHP file — no syntax errors.
  • composer install succeeds and ./vendor/bin/phpcs runs against phpcs.xml.dist.
  • ci.yml validated as well-formed YAML.

Notes

This is the process groundwork referenced when triaging the open PRs. Follow-up: a composer run lint:fix cleanup PR to clear the WPCS backlog, after which the coding-standards job can become a required check.

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>
@altugank altugank merged commit 5139cae into main Jun 9, 2026
6 checks passed
@altugank altugank deleted the chore/ci-and-contributing branch June 9, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant