Thank you for considering contributing to uniget! We welcome any contributions, whether it's bug fixes, new features, or improvements to the existing codebase.
Make sure that you have Docker and buildx installed. You can use a locally installed Go but the containerized build environment enables you to use the same tooling as in CI.
- Create an issue in the repository outlining the fix or feature
- Fork the repository to your own GitLab account and clone it locally
- Complete and test the change
- Add tests for new code
- Create a concise commit message and reference the issue(s) and pull request(s) adressed
- Ensure that CI passes. If it fails, fix the failures
- Every pull request requires a review
The following steps describe the build, linting and testing processes:
To build locally, run this command:
docker buildx bake binaryTo run the tests, execute the following commands:
docker buildx bake lint
docker buildx bake vet
docker buildx bake gosec
docker buildx bake testMake sure all tests pass without any failures or errors.
- Please refer to the tools repository
-
Ensure the feature was not already suggested by searching on GitLab under Issues
-
If you're unable to find an open issue describing the feature, open a new suggestion
-
Ensure the bug was not already reported by searching on GitLab under Issues
-
If you're unable to find an open issue addressing the problem, open a new one
-
Open a new GitLab merge request with the patch
-
Ensure the MR description clearly describes the problem and solution. Include the relevant issue number if applicable
- Open a new GitLab merge request with the code
- Ensure the PR description clearly describes the feature and the implementation. Include the relevant issue number if applicable
- Please treat this like a feature request and follow the steps above
uniget adheres to and enforces the Contributor Covenant Code of Conduct. Please take a moment to read the CODE_OF_CONDUCT.md document.