All bugs, issues, and feature requests are tracked in Github Issues. For a better overview of the project management, you can use the Zenhub browser extension.
Check whether the bug of feature has already been reported by searching the issue database. If an open issue is found, click the +1
button on the first post and comment if you have additional information to share. If this has not yet been reported, follow the template provided when creating a new issue
- Make sure an issue exists, or create one. It is best to discuss new features and enhancements before implementing.
- Fork the repository and create a feature branch named
xxxx-something
, where xxxx is the number of the corresponding issue. Branches should be made off ofmaster
. - Ensure the style and testing guidelines are met
- Use
git rebase -i
(andgit push -f
) to clean up the branch history into working, logical chunks (e.g. remove WIP commits, combine commits and subsequent minor fixups, etc.). - Create a Pull Request via Github following the template provided.
- Check that the PR merges cleanly. If not use
git rebase master
and fix any issues. - Make sure the TravisCI tests pass for the PR.
- Follow along with code review discussion. Comment in the PR after pushing any fixes.
- When all is in order and the maintainers agree, the PR will be merged.
All exported methods and variables should have an accompanying comment following the godoc format. Regenerate any affected READMEs using godocdown
and the template ./godocdown.template
after making any changes.
For code consistency and catching minor issues, please run the following on all Go code and fix accordingly:
gofmt -s ./...
goimports ./...
golint ./...
errcheck ./...
go vet ./...
go vet --shadow ./...
Submit unit tests for all changes. Before submitting a pull request, make sure the full test suite passes, using go test ./...
TravisCI is configured to run a build on pull request. Results can be found here
- Internet Relay Chat (IRC) -
#mistifyio
onirc.freenode.net
- Twitter - @mistifyio