Thank you for considering contributing to Goverhaul! This document outlines the process for contributing to the project and how to get started with development.
By participating in this project, you are expected to uphold our Code of Conduct.
This section guides you through submitting a bug report for Goverhaul. Following these guidelines helps maintainers understand your report, reproduce the behavior, and find related reports.
Before creating bug reports, please check the issue list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
- Use a clear and descriptive title for the issue to identify the problem.
- Describe the exact steps which reproduce the problem in as many details as possible.
- Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples.
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
- Explain which behavior you expected to see instead and why.
- Include screenshots and animated GIFs which show you following the described steps and clearly demonstrate the problem.
- If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened.
This section guides you through submitting an enhancement suggestion for Goverhaul, including completely new features and minor improvements to existing functionality.
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Provide specific examples to demonstrate the steps. Include copy/pasteable snippets which you use in those examples.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Explain why this enhancement would be useful to most Goverhaul users.
- Fill in the required template
- Do not include issue numbers in the PR title
- Include screenshots and animated GIFs in your pull request whenever possible
- Follow the Go style guide
- Include tests for new features or bug fixes
- Document new code based on the Documentation Styleguide
- End all files with a newline
- Go 1.18 or higher
- Git
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/yourusername/goverhaul.git cd goverhaul - Create a branch for your changes:
git checkout -b feature/your-feature-name
- Make your changes
- Run tests to ensure everything works:
go test ./... - Commit your changes:
git commit -m "Add your meaningful commit message here" - Push to your fork:
git push origin feature/your-feature-name
- Create a Pull Request from your fork to the main repository
- Follow the Go Code Review Comments
- Format your code with
gofmtorgo fmt - Use meaningful variable and function names
- Write comments for exported functions, types, and constants
- Keep functions small and focused on a single responsibility
- Use proper error handling
- Use Markdown for documentation
- Reference functions, classes, and modules in backticks: `func Example()`
- Use code blocks for examples:
func Example() { // Your code here }
The release process is documented in RELEASE.md.
This section lists the labels we use to help us track and manage issues and pull requests.
bug- Issues that are bugsdocumentation- Issues or PRs related to documentationenhancement- Issues that are feature requests or PRs that implement new featuresgood first issue- Good for newcomershelp wanted- Extra attention is neededquestion- Further information is requested
Your contributions to open source, large or small, make projects like this possible. Thank you for taking the time to contribute.