First of all, thank you for considering contributing to the project. I, the original author, truly appreacite every contribution to the project as I have less and less time to work on this project on my own.
Therefore, contributions are very welcomed, however please follow the below guidelines.
- First open an issue describing the bug or enhancement or discuss it on our Discord server before contributing.
- Try to match current naming conventions as closely as possible.
- Create a Pull Request with your changes against the master branch.
- Familiarity with GitHub PRs (pull requests) and issues.
- At least moderate knowledge of Go
In addition there's some software that is required to develop, compile and run Boe:
- The Go programming language
- git: version control system needed to download the source code
- Docker and Docker Compose: OS virtualization platform
- Mac and Windows: you can just install Docker Desktop
- Linux: you need to install Docker Server and Docker Compose separately
- revive: linter of our choice.
- gofumpt: code formatter of our choice.
To modify the source code, you'll need a good code editor. I personally use Visual Studio Code and that's what I recommend to most people, including new developers.
The Go extension is the only extension you need to start contributing.
Please add the following to your settings.json
file in you're using VSCode
"go.lintTool": "revive",
"go.lintFlags": [
"-config=${workspaceFolder}/.revive.toml"
],
"go.useLanguageServer": true,
"gopls": {
"formatting.gofumpt": true,
}
Then run Go: Install/Update Tools
script that comes with the Go extension and you're good to Go.