Contributions are welcome and will be fully credited.
We accept contributions via Pull Requests on Github.
-
PSR-2 Coding Standard - The easiest way to apply the conventions is to install PHP Code Sniffer.
-
Add tests! - Your patch won't be accepted if it doesn't have tests.
-
Document any change in behaviour - Make sure the README and any other relevant documentation are kept up-to-date.
-
Consider our release cycle - We try to follow SemVer. Randomly breaking public APIs is not an option.
-
Create topic branches - Don't ask us to pull from your master branch.
-
One pull request per feature - If you want to do more than one thing, send multiple pull requests.
-
Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.
-
Ensure tests pass! - Please run the tests (see below) before submitting your pull request, and make sure they pass. We won't accept a patch until all tests pass.
-
Ensure no coding standards violations - Please run PHP Code Sniffer using the PSR-2 standard (see below) before submitting your pull request. A violation will cause the build to fail, so please make sure there are no violations. We can't accept a patch if the build fails.
The following tests must pass for a build to be considered successful. If contributing, please ensure these pass before submitting a pull request.
$ ./vendor/bin/php-cs-fixer fix src --level=psr2
$ ./vendor/bin/phpcs src --standard=psr2 -sp
$ ./vendor/bin/parallel-lint src test
$ ./vendor/bin/phpunit --coverage-text test
Happy coding!