I really love pull requests and third-party patches are essential for keeping
go-todo
in shape, but I simply can not access the huge number of platforms and
myriad configurations for running the tool. Therefore I want to keep it as easy
as possible to contribute changes that get things working in your environment.
Here below there are a few guidelines that I need contributors to follow so that I can have a chance of keeping on top of things.
- Fork the repository on GitHub.
- Create a topic branch from where you want to base your work.
- Make sure you have added the necessary tests for your changes and make the tests pass. Only re-factoring and documentation changes require no new tests. If you are adding functionality or fixing a bug, I need a test.
- Run all the tests to assure nothing else was accidentally broken. I only take pull requests with passing tests.
- Make sure you run
go fmt
,go vet
andgolint
before to commit your changes. - Make sure your commit messages are in the proper format.
- Push to your fork and submit a pull request.
At this point you are waiting for my feedbacks. I look at pull requests within few days. I may suggest some improvements or alternatives.
Some things that will increase the chance that your pull request is accepted:
- Use Go idioms and helpers
- Include tests that fail without your code, and pass with it
- Update the documentation, the surrounding one, examples elsewhere, guides, and whatever is affected by your contribution
And in case I didn't emphasize it enough: I really ♥ tests!