hardlounge/CONTRIBUTING.md

77 lines
3.6 KiB
Markdown
Raw Normal View History

## Contributing
Welcome to The Lounge, it's great to have you here! We thank you in advance for
your contributions.
### I have a question
Find us on #thelounge channel on Freenode. You might not get an answer right
away, but this channel is filled with nice people who will be happy to help you.
### I want to report a bug
First of all, look at the
[open and closed issues](https://github.com/thelounge/lounge/issues?q=is%3Aissue)
to see if this was not already discussed before.
### I want to contribute to the code
A good starting point if you want to help us but do not have a clear idea of
what you can do specifically is to
look at the open issues labeled as [*quick and
easy*](https://github.com/thelounge/lounge/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22quick+and+easy%22)
or [*help
wanted*](https://github.com/thelounge/lounge/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22help+wanted%22).
Also, make sure that your PRs do not contain unnecessary commits. If you think
some of your commits should be merged into a single one, feel free to [squash
them](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History).
Please [rebase](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) outdated
PRs on master to help with the reviews (rebasing is preferred over merging to
keep a clean history in a branch/PR).
Additionally, give extra care to your commit messages, as they will help us
review your PRs as well as help other contributors in the future, when exploring
the history. The general rules are to [use the imperative present
tense](https://git-scm.com/book/ch5-2.html#Commit-Guidelines), to start with a
single concise line, followed by a blank line and a more detailed explanation
when necessary. Tim Pope wrote an [excellent
article](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
on how one should format their commit messages.
When you send a PR, expect two different reviews from the project
maintainers. You can read more about this in the [maintainers'
corner](https://github.com/thelounge/lounge/wiki/Maintainers'-corner).
Please document any relevant changes in the documentation that can be found
[in its own repository](https://github.com/thelounge/thelounge.github.io).
### Labels
When you open an [issue](https://github.com/thelounge/lounge/issues) or send us
a [PR](https://github.com/thelounge/lounge/pulls), it will most likely be given
one or several labels. Here is what they mean:
- **bug**: Issues that report and PRs that solve any defects that cause
unexpected behaviors.
- **documentation**: Tickets that mention a lack of documentation, suggest their
improvement, or PRs that address these.
- **duplicate**: Tickets already solved in the past or already open. Such
tickets should always link to the previous one on the subject.
- **enhancement**: Tickets that describe a desired feature or PRs that add them
to the project.
- **help wanted**: Tickets that we would like the community to help us with, by
either answering questions or send us PRs.
- **priority**: Tickets that the core team deemed critical and PRs that the core
team should look at before others.
- **question**: Tickets that are actually support cases.
- **quick and easy**: Tickets that should be fairly simple to implement, even
for developers not yet involved in the project.
- **second review needed**: A first reviewer gave his :+1: but now expects a
second reviewer to step in before this PR can be merged.
- **security**: Tickets that describe a security concern or PRs that must be
reviewed with extra care regarding security.
- **wontfix**: Tickets that, after discussion and explanation, will not be fixed
or implemented.