We'd love to accept your patches and contributions to this project. Opening an issue and starting a discussion is already a contribution to the project.
As with many other opensource frameworks here are some basic steps you can follow to start contributing to the codebase.
- Fork and clone the project
- Checkout a branch with a descriptive name
- Make changes and commit
- Make sure to run the tests before pushing your branch
mvn clean verify
- Push your branch and open a PR
The coding standards used in the project are described in the parent pom project all of the java projects inherit.
These are reinforced using checkstyle, spotbugs.
We are in favor of having end-to-end tests that cover the functionality of the API, rather that low-level, sometimes too diverse UnitTests. When submitting a PR with a new feature, ensure you have a "proof that it works" a.k.a an end-to-end test.
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.
It is important to note, that all envimate projects also have a Code of Conduct. We ask you to read and honor it.