First off, thank you for considering contributing to unkey-go
. It's people like you that make it such a great tool.
Please read the Code of Conduct before contributing.
Note: Please get your contributions approved by the maintainers of unkey-go or the official unkey before you start working on them. This will help avoid any conflicts and also help you understand if the contribution is in line with the project goals. You can do this by opening an issue with appropriate label and describing your contribution in detail.
Please open an issue with the label bug
. To clearly explain the bug, describe it in as much detail as possible. Please add the steps-to-reproduce as well.
Please open an issue with the label enhancement
and include as much information as you can about the need for the feature. The maintainers will convert it into a discussion if needed.
Please open an issue with the label enhancement
and include as much information as you can about the need for the feature. The maintainers will convert it into a discussion if needed. Once approved, the maintainers will assign the issue to you or anyone who wishes to work on the issue.
Please open an issue with the label help wanted
. The maintainers and other users of the platform will respond to it.
Open an issue or discussion on GitHub. Alternatively you can ping us on Discord as well.
Please keep commits modular. One big commit or commits with many files and breaking changes will be hard to understand and maintain and might lead to rejection of the contribution.
Please follow the semantic commit messages pattern similar to the one mentioned here.
Each pull request must have it own branch named <issue>-description
. For eg. 1-add-readme
.
Open an issue with the label random
and discuss them there. You can ping us on Discord as well.
- Clone the repository
- Run
go get
to download all the dependencies - That's it! You are ready to go.
unkey-go
doesn't have any external dependencies. It uses the standard library for all its operations. The only external dependency is for loading .env
files necessary for testing secrets.
The tests are written in dedicated files. For tests you need a .env
file with the following secrets:
AUTH_TOKEN
: Bearer auth token. Needed for creating & revoking keys.API_ID
: The API Id.
Following are the softwares & their versions used for development:
go version go1.20.5 linux/amd64
Ubuntu 22 on WSL2
- IDE:
MS Word