First, thanks for taking the time to contribute to our project! The following information provides a guide for making contributions. We'd love to hear from you! If you have any feedback, need help, or anything else, feel free to reach out to us on Slack.
By participating in this project, you agree to abide by the Oath Code of Conduct. Everyone is welcome to submit a pull request or open an issue to improve the documentation, add improvements, or report bugs.
If you simply have a question that needs an answer, create an issue, and label it as a question.
File an issue if you think you've found a bug. Be sure to describe:
- How the issue can be reproduced
- What you expected to happen
- What actually occurred
- Version, platform, etc.
Documentation, READMEs, and examples are extremely important. Please help improve them and if you find a typo or notice a problem, please send a fix or say something.
Before you submit any code, we need you to agree to our Contributor License Agreement; this ensures we can continue to protect your contributions under an open source license well into the future.
Patches for fixes, features, and improvements are accepted through pull requests. Please follow best practices for creating git commits.
- Write good commit messages, in the present tense! (Add X, not Added X). Short title, blank line, bullet points if needed. Capitalize the first letter of the title or bullet item. No punctuation in the title.
- Code must pass lint and style checks (gofmt, golint, go vet).
- All external methods must be documented.
- Include tests to improve coverage and prevent regressions.
- Squash changes into a single commit per feature/fix.
Please ask before embarking on a large improvement so you're not disappointed if it does not align with the goals of the project or owner(s). If you want to implement something new, please request a feature first so we can discuss it. When your code is ready to be submitted, you can submit a pull request to begin the code review process.
Make the case for a feature via an issue with a good title. The feature should be discussed and given a target inclusion milestone or closed. Feel free to create an issue to request a new feature, and label it as such.