Thank you for being interested in contributing to Rymdport.
There are various ways to contribute; everything is not about contributing code.
If you've found an issue with the application, please report it to help us fix it as soon as possible. When reporting a bug, please follow the guidelines below:
- Check the issue list to see if it's already been reported. If so, update the existing issue with any additional information that you have.
- If not, then create a new issue using the issue template for reporting bugs.
- Stay involved in the conversation on the issue and answer any questions that might arise. More information can sometimes be necessary.
Great! You have either found a bug to fix or a new feature to implement. Follow the steps below to increase the chance of the changes being accepted quickly.
- Read and follow the guidelines in the Code standards section further down this page.
- Consider how to structure your code so that it is readable, clean, and can be easily tested.
- Write the code changes and create a new commit for your change.
- Run the tests and make sure everything still works as expected using
go test ./...
. - Open a PR against the
next
branch for features (only bugfixes should target themain
branch). If there is an open bug, you should add "Fixes #", followed by the issue number, on a new line. - Please refrain from force pushing or squashing. This makes it easier to review, and squashing can instead be done automatically when merging.
We aim to maintain a very high standard of code through design, testing, and implementation. To manage this, we have various checks and processes in place that everyone should follow, including:
- For a more strict standard Go format, we use gofumpt.
- Imports should be ordered in accordance with the GoImports specification. Imports should be grouped by first- and third-party packages and listed alphabetically.
- The code should pass the code quality checks by staticcheck and gosec.
- The cyclomatic complexity of each function should be below 15.