- We use java 25
- We use springframework 4.0.2 as our server framework
- We use Junit 5.10.1 as our test framework
- We use spring.dependency-management 1.1.7
- We use Spotless 8.2.1 for stylechecking
-
Create an issue if a task is identified
- Every issue should have a useful description
-
Make a new branch for every issue
- The branch should be name
issue/x, where x is the issue number
- The branch should be name
-
When working on the issue
- Every function and method should have a docstring. See how to write good docstrings here
- Every function, fix, or new feature should be tested
-
Commit all work regarding issue
xto branchissue/x- Every bug fix or feature commit contains a test
- Every commit reflects the commit message
- Every commit message should link to the issue by having
#xin the end. - Every commit message should start with a prefix like "feat", "fix", "doc", "refactor", find more here.
-
When the work is done, rebase the issue branch on main
- squash all commits into one
- Have a commit message summarizing all the commits, include the close trigger for the issue
closes #x
-
Push the branch to GitHub
-
If all tests pass on GitHub create a pull request
- Make sure to use
squash and mergewhen merging into main - Make sure to start with "feat", "fix", "doc", "refactor, etc"
- Reference the issue both in the merge message AND at the end of the title
- Example: feat: add validation check for event type (#39) #37
- Make sure to use