|
1 | 1 | # Contributing |
2 | 2 |
|
3 | 3 | This project welcomes contributions and suggestions. |
4 | | -When you submit a pull request, we have checks which run on your PR for standards that we expect . |
| 4 | +When you submit a pull request, we have checks which run on your PR for standards that we expect. |
| 5 | + |
| 6 | +## Prerequisites |
| 7 | + |
| 8 | +Before contributing, ensure you have the following installed: |
| 9 | + |
| 10 | +1. **asdf** - Tool version manager |
| 11 | + - Installation guide: https://asdf-vm.com/guide/getting-started.html |
| 12 | + - Install required plugins: |
| 13 | + ```bash |
| 14 | + asdf plugin add java |
| 15 | + asdf plugin add gradle |
| 16 | + ``` |
| 17 | + |
| 18 | +2. **Install project tools** |
| 19 | + - Navigate to the project directory and run: |
| 20 | + ```bash |
| 21 | + asdf install |
| 22 | + ``` |
| 23 | + - This will install the Java and Gradle versions specified in `.tool-versions` |
| 24 | + |
| 25 | +3. **Verify installation** |
| 26 | + ```bash |
| 27 | + java -version |
| 28 | + gradle -version |
| 29 | + ``` |
5 | 30 |
|
6 | 31 | ## Code of Conduct |
7 | 32 |
|
@@ -37,6 +62,28 @@ Check out the links below to get started. |
37 | 62 | - Be prepared to discuss a feature and take feedback. |
38 | 63 | - Include unit tests and updates documentation to complement the change. |
39 | 64 |
|
| 65 | +### Development workflow |
| 66 | +
|
| 67 | +1. **Set up your environment** |
| 68 | + ```bash |
| 69 | + asdf install # Install Java and Gradle from .tool-versions |
| 70 | + ``` |
| 71 | +
|
| 72 | +2. **Run quality checks locally** |
| 73 | + ```bash |
| 74 | + ./gradlew clean build pitest shadowJar |
| 75 | + ``` |
| 76 | + This runs all quality gates including tests, PMD, CPD, Checkstyle, code coverage, and mutation testing. |
| 77 | +
|
| 78 | +3. **Make your changes** |
| 79 | + - Follow the existing code style and conventions |
| 80 | + - Ensure all quality checks pass before submitting a PR |
| 81 | +
|
| 82 | +4. **Submit a pull request** |
| 83 | + - Target the `main` branch |
| 84 | + - Ensure CI workflows pass on your PR |
| 85 | + - Address any review feedback promptly |
| 86 | +
|
40 | 87 | [learn-git]: https://help.github.com/en/articles/git-and-github-learning-resources |
41 | 88 | [github-flow]: https://guides.github.com/introduction/flow/ |
42 | 89 | [github-signup]: https://github.com/signup/free |
|
0 commit comments