All Intervention.io projects are free and open-source, so they depend on community involvement. Any contribution to the code base that improves the project is welcome and will, of course, be considered for integration.
In general, all contributions should be submitted as a pull request via the respective central repository at GitHub.
Please understand that there is no guarantee that your pull request will be accepted. To avoid misunderstandings, especially for larger contributions, it is recommended that you first initiate a discussion about your planned changes on the project's GitHub issue board.
Legally speaking, by submitting a pull request, you agree that your contributions will be licensed under the same license as the project. This is currently the MIT License for all projects. Before submitting a pull request familiarize yourself with the license and understand its terms and conditions. If in doubt, seek legal advice.
Requirements
To ensure a smooth collaboration process and maintain the quality of the projects the submitted pull request must meet the following requirements to be accepted for review. It is a good idea to check these locally before submitting.
1. Follow the Branching Model
Please submit only one feature or bug fix per pull request. It is best to split your contributions into meaningful,
thematic branches and submit them as individual pull requests targeting the develop
branch.
2. Comply with the Coding Standard
All projects follows the PSR12 coding standard with some additional extensions. Adherence to these rules is essential and can be easily checked with the following command.
./vendor/bin/phpcs
Or by using the project's Docker environment.
docker compose run --rm --build standards
3. Write Tests
For new features or changes to the existing code base, it is essential to cover them with tests. Integrate your tests in the the project's test environment and consider both positive and negative scenarios.
Make sure that all tests are passed with the following command.
./vendor/bin/phpunit
Or by using the project's Docker environment.
docker compose run --rm --build tests
4. Pay attention to the Analyzer Results
A static analyzer is also used to avoid bugs and ensure quality. In addition to testing, it must also run without errors.
Check the analyzer by running the following command.
./vendor/bin/phpstan analyze --memory-limit=512M ./src
Or by using the project's Docker environment.
docker compose run --rm --build analysis
Thank you and happy coding!