We welcome contributions to Overlock! Whether you're fixing a bug, improving documentation, or adding new features, we are excited to work with you. Please take a moment to read through the following guidelines to make the contribution process easy and effective for everyone involved.
Start by forking the repository to your GitHub account:
-
Go to the Overlock repository on GitHub.
-
Click the "Fork" button in the upper right corner.
-
Clone the forked repository to your local machine:
git clone https://github.com/web-seven/overlock.git cd overlock
We follow the Git branching model to manage development. Use a descriptive name for your branch to indicate the purpose of the work:
git checkout -b feature/your-feature-name
For bug fixes, use the prefix fix/
:
git checkout -b fix/your-bug-fix
Make your changes to the codebase. Please ensure that:
-
Your code follows the Go Code Review Comments guidelines.
-
You write unit tests for any new functionality.
-
The code compiles without errors (
go build
). -
Run the tests to make sure everything is working as expected:
go test ./...
Make sure to write clear and concise commit messages. Follow the conventional commit format:
- feat: A new feature
- fix: A bug fix
- docs: Documentation changes
- style: Code style changes (formatting, missing semicolons, etc.)
- refactor: Code refactoring without changing functionality
- test: Adding or updating tests
- chore: Updating build tasks, package manager configs, etc.
Example:
git commit -m "feat: add support for multiple clusters"
Push your changes to your forked repository:
git push origin feature/your-feature-name
Go to the original repository and create a pull request (PR) from your fork:
- Click on "Pull requests" in the original repository.
- Click "New pull request."
- Choose your forked repository and branch, and create the pull request.
- Write a meaningful description of the changes in the PR, and link any relevant issues.
One of the maintainers will review your PR and may suggest changes or improvements. After addressing the comments, push the updates to your branch and the PR will be updated automatically.
Please be patient as reviews can take time depending on the maintainers' availability.
- Follow idiomatic Go programming practices. You can refer to the Effective Go documentation for best practices.
- Ensure your code is formatted with
gofmt
. - Use
go vet
to catch common errors. - Make sure all code is properly documented using Go's commenting conventions.
If you find a bug or have a feature request, please open an issue in the GitHub repository. When reporting an issue, include:
- A clear and descriptive title.
- A detailed description of the issue or the requested feature.
- Steps to reproduce the issue, if applicable.
- The environment in which the issue occurs (e.g., OS, Go version).
By contributing to Overlock, you agree that your contributions will be licensed under the MIT License.