Welcome, and thank you for your interest in contributing to Go Template Library!
There are many ways in which you can contribute, beyond writing code. The goal of this document is to provide a high-level overview of how you can get involved.
All work on GTL happens directly on GitHub. Both core team members and external contributors send pull requests which go through the same review process.
GTL follows semantic versioning. We release patch versions for critical bugfixes, minor versions for new features or non-essential changes, and major versions for any breaking changes. When we make breaking changes, we also introduce deprecation warnings in a minor version so that our users learn about the upcoming changes and migrate their code in advance.
Submit all changes to the develop branch
. We're using this branch for development and master
branch for upcoming releases. We do our best to keep develop
and master
in good shape, with all tests passing.
Code that lands in develop
must be compatible with the latest stable release.
We are using GitHub Issues for our public bugs. We keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new task, try to make sure your problem doesn’t already exist.
The best way to get your bug fixed is to provide a reduced test case.
If you intend to change the public API, or make any non-trivial changes to the implementation, we recommend filing an issue. This lets us reach an agreement on your proposal before you put significant effort into it.
If you’re only fixing a bug, it’s fine to submit a pull request right away but we still recommend to file an issue detailing what you’re fixing. This is helpful in case we don’t accept that specific fix but want to keep track of the issue.
If you decide to fix an issue, please be sure to check the comment thread in case somebody is already working on a fix. If nobody is working on it at the moment, please leave a comment stating that you intend to work on it so other people don’t accidentally duplicate your effort.
If somebody claims an issue but doesn’t follow up for more than two weeks, it’s fine to take it over but you should still leave a comment.
Make sure to use conventional commit names.
The core team is monitoring for pull requests. We will review your pull request and either merge it, request changes to it, or close it with an explanation.
Before submitting a pull request, please make sure the following is done:
- Fork the repository and create your branch from
develop
. - If you’ve fixed a bug or added code that should be tested, add tests!
- Ensure the test suite passes (
go2 test ./
) and the build is not failing (go2 build ./
).
By contributing to GTL, you agree that your contributions will be licensed under its MIT license.
Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute.