Bug reports, code contributions, and general feedback are very welcome. These should be submitted through the GitHub repository. Development happens in the develop branch, and any pull requests should be made against that branch please.
Contributions to WP Crontrol are welcome from anyone. Whether you are new to Open Source or a seasoned veteran, all constructive contribution is welcome and I'll endeavour to support you when I can.
This project is released with a contributor code of conduct and by participating in this project you agree to abide by its terms. The code of conduct is nothing to worry about, if you are a respectful human being then all will be good.
AI-assisted development is welcome and encouraged, but you must:
- Always disclose your use of AI-assisted coding agents. Failure to do so may result in your contribution being refused.
- Always verify that the changes your AI assistant are proposing are valid and correct. Slop pull requests will be reported as spam.
- Respect the GNU GPL software license that applies to this project.
- Prefer human-written issue descriptions and pull request descriptions over AI-generated ones.
- Always use the
.github/PULL_REQUEST_TEMPLATE.mdtemplate when writing the body of a pull request. - Keep written descriptions brief, there is no need to write a novel that describes every change.
You can clone this repo and activate it like a normal WordPress plugin. If you want to contribute to WP Crontrol, you should install the developer dependencies in order to run the tests.
- Composer
- Node.js version 24
- Docker Desktop (or compatible) to run the tests
Install the PHP dependencies:
composer install
Install the Node.js dependencies:
npm install
The test suite consists of:
- Acceptance tests using Playwright
- Integration tests using PHPUnit
- Linting using PHPCS
- Static analysis using PHPStan
The acceptance and integration tests run in a container. Ensure Docker Desktop is running before running the tests.
To run the whole test suite:
composer test
To run tests individually, run one of:
composer test:phpcs
composer test:phpstan
composer test:integration
composer test:acceptance
To run a single test:
composer test:acceptance -- tests/acceptance/AddEvent.spec.ts
The individual integration and acceptance tests require the Docker containers to be running. To start and stop them, use:
composer test:start
composer test:stop