kube-metrics-adapter/CONTRIBUTING.md

87 lines
3.4 KiB
Markdown
Raw Normal View History

# Contributing
**Thank you for your interest in making the project better and more useful.
Your contributions are highly welcome.**
There are multiple ways of getting involved:
- [Report a bug](#report-a-bug)
- [Suggest a feature](#suggest-a-feature)
- [Contribute code](#contribute-code)
Below are a few guidelines we would like you to follow.
If you need help, please reach out to us by opening an issue.
## Report a bug
Reporting bugs is one of the best ways to contribute. Before creating a bug
report, please check that an [issue](/issues) reporting the same problem does
not already exist. If there is such an issue, you may add your information as a
comment.
To report a new bug you should open an issue that summarizes the bug and set
the label to "bug".
If you want to provide a fix along with your bug report: That is great! In this
case please send us a pull request as described in section [Contribute
Code](#contribute-code).
## Suggest a feature
To request a new feature you should open an [issue](../../issues/new) and
summarize the desired functionality and its use case. Set the issue label to
"feature".
## Contribute code
This is an outline of what the workflow for code contributions looks like
- Check the list of open [issues](../../issues). Either assign an existing
issue to yourself, or create a new one that you would like work on and
discuss your ideas and use cases.
It is always best to discuss your plans beforehand, to ensure that your
contribution is in line with our goals.
- Fork the repository on GitHub
- Create a topic branch from where you want to base your work. This is usually master.
- Open a new pull request, label it `work in progress` and outline what you will be contributing
- Make commits of logical units.
- Make sure you sign-off on your commits `git commit -s -m "adding X to change Y"`
- Write good commit messages (see below).
- Push your changes to a topic branch in your fork of the repository.
- As you push your changes, update the pull request with new infomation and tasks as you complete them
- Project maintainers might comment on your work as you progress
- When you are done, remove the `work in progess` label and ping the maintainers for a review
- Your pull request must receive a :thumbsup: from two [maintainers](MAINTAINERS)
Thanks for your contributions!
### Commit messages
Your commit messages ideally can answer two questions: what changed and why.
The subject line should feature the “what” and the body of the commit should
describe the “why”.
When creating a pull request, its description should reference the corresponding issue id.
### Sign your work / Developer certificate of origin
All contributions (including pull requests) must agree to the Developer
Certificate of Origin (DCO) version 1.1. This is exactly the same one created
and used by the Linux kernel developers and posted on
http://developercertificate.org/. This is a developer's certification that he
or she has the right to submit the patch for inclusion into the project. Simply
submitting a contribution implies this agreement, however, please include a
"Signed-off-by" tag in every patch (this tag is a conventional way to confirm
that you agree to the DCO) - you can automate this with a [Git
hook](https://stackoverflow.com/questions/15015894/git-add-signed-off-by-line-using-format-signoff-not-working)
```
git commit -s -m "adding X to change Y"
```
**Have fun, and happy hacking!**