Thanks for your interest in contributing to NSQ!
Help us keep NSQ open and inclusive. Please read and follow our Code of Conduct.
- make sure you have a GitHub account
- submit a ticket for your issue, assuming one does not already exist
- clearly describe the issue including steps to reproduce when it is a bug
- identify specific versions of the binaries and client libraries
- fork the repository on GitHub
- create a branch from where you want to base your work
- we typically name branches according to the following format:
helpful_name_<issue_number>
- we typically name branches according to the following format:
- make commits of logical units
- make sure your commit messages are in a clear and readable format, example:
nsqd: fixed bug in protocol_v2
* update the message pump to properly account for RDYness
* cleanup variable names
* ...
- if you're fixing a bug or adding functionality it probably makes sense to write a test
- make sure to run
fmt.sh
andtest.sh
in the root of the repo to ensure that your code is properly formatted and that tests pass (we use GitHub Actions for continuous integration)
- push your changes to your branch in your fork of the repository
- submit a pull request against nsqio's repository
- comment in the pull request when you're ready for the changes to be reviewed:
"ready for review"