Thank you for your interest in contributing to lockfree! We welcome contributions from the community to help improve, enhance and expand the project. By contributing, you can make a positive impact and help us build better lock-free data structures for Go.
To ensure a smooth and effective contribution process, please review the guidelines outlined below.
-
Fork the repository on GitHub.
-
Clone your forked repository to your local machine:
git clone https://github.com/your-username/lockfree.git
-
Create a new branch for your contribution:
git checkout -b my-contribution
-
Make your desired changes or additions to the codebase.
-
Test your changes to ensure they work as intended.
-
Commit your changes with a descriptive commit message:
git commit -m "Add feature XYZ"
-
Push your changes to your forked repository:
git push origin my-contribution
-
Open a pull request on the main repository. Provide a clear and concise description of your changes and any additional information that may be relevant.
-
Wait for the maintainers to review your pull request. They may provide feedback or request additional changes.
-
Iterate on the changes as necessary and push new commits to your branch. The pull request will be automatically updated.
-
Once your pull request is approved, it will be merged into the main repository. Congratulations on your contribution!
To maintain consistency and readability, please follow these code guidelines:
-
Use idiomatic Go code.
-
Format your code using
make fmt
. -
Lint your code using
make lint
. -
Write meaningful variable and function names.
-
Include comments to explain complex logic or provide context.
-
Use
make test
to run all tests -
Use
make bench
to run bechmarks -
Use
make bench-load
to run load testing bechmarks -
Add appropriate tests to ensure the correctness of your changes.
If you encounter a bug or have an idea for a new feature, you can open an issue on the GitHub repository. When reporting a bug, please provide detailed steps to reproduce the issue and any relevant information about your environment.
Contributors are expected to adhere to the Contributor Covenant Code of Conduct to ensure a respectful and inclusive community. Please familiarize yourself with the code of conduct and abide by its principles when participating in the project.
By contributing to LockFree, you agree that your contributions will be licensed under the MIT License along with the rest of the project.
If you have any questions or need further assistance, feel free to reach out to the maintainers or the community through the project's GitHub repository.
We appreciate your interest and look forward to your contributions!
Happy coding!