forked from ohmybash/oh-my-bash
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Proposal to improve the efficiency of development on oh-my-bash project Fixes: ohmybash#89 Fixes: ohmybash#88 Fixes: ohmybash#86 Partially Fixes: ohmybash#85 Partially Fixes: ohmybash#83 Signed-off-by: Jacob Hrbek <werifgx@gmail.com>
- Loading branch information
Jacob Hrbek
committed
Jul 26, 2019
1 parent
f23792a
commit 789a13c
Showing
1 changed file
with
35 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,123 +1,55 @@ | ||
# CONTRIBUTING GUIDELINES | ||
|
||
Oh-My-Bash is a community-driven project. Contribution is welcome, encouraged and appreciated. | ||
It is also essential for the development of the project. | ||
Oh-My-Bash is Free and Open Source project under the terms of GNU General Public License v2.0 relying on contributions from third parties. | ||
|
||
These guidelines are an attempt at better addressing the huge amount of pending | ||
issues and pull requests. Please read them closely. | ||
|
||
Foremost, be so kind as to [search](#use-the-search-luke). This ensures any contribution | ||
you would make is not already covered. | ||
|
||
* [Issues](#reporting-issues) | ||
* [You have a problem](#you-have-a-problem) | ||
* [You have a suggestion](#you-have-a-suggestion) | ||
* [Pull Requests](#submitting-pull-requests) | ||
* [Getting started](#getting-started) | ||
* [You have a solution](#you-have-a-solution) | ||
* [You have an addition](#you-have-an-addition) | ||
* [Information sources (_aka_ search)](#use-the-search-luke) | ||
|
||
**BONUS:** [Volunteering](#you-have-spare-time-to-volunteer) | ||
|
||
## Reporting Issues | ||
|
||
### You have a problem | ||
|
||
Please be so kind as to [search](#use-the-search-luke) for any open issue already covering | ||
your problem. | ||
|
||
If you find one, comment on it so we can know there are more people experiencing it. | ||
|
||
If not, look at the [Troubleshooting](https://github.com/ohmybash/oh-my-bash/wiki/Troubleshooting) | ||
page for instructions on how to gather data to better debug your problem. | ||
|
||
Then, you can go ahead and create an issue with as much detail as you can provide. | ||
It should include the data gathered as indicated above, along with: | ||
|
||
1. How to reproduce the problem | ||
2. What the correct behavior should be | ||
3. What the actual behavior is | ||
|
||
Please copy to anyone relevant (_eg_ plugin maintainers) by mentioning their GitHub handle | ||
(starting with `@`) in your message. | ||
|
||
We will do our very best to help you. | ||
|
||
### You have a suggestion | ||
|
||
Please be so kind as to [search](#use-the-search-luke) for any open issue already covering | ||
your suggestion. | ||
|
||
If you find one, comment on it so we can know there are more people supporting it. | ||
|
||
If not, you can go ahead and create an issue. Please copy to anyone relevant (_eg_ plugin | ||
maintainers) by mentioning their GitHub handle (starting with `@`) in your message. | ||
|
||
## Submitting Pull Requests | ||
|
||
### Getting started | ||
|
||
## Merge Requests | ||
### Make a fork | ||
You should be familiar with the basics of | ||
[contributing on GitHub](https://help.github.com/articles/using-pull-requests) and have a fork | ||
[properly set up](https://github.com/ohmybash/oh-my-bash/wiki/Contribution-Technical-Practices). | ||
|
||
You MUST always create PRs with _a dedicated branch_ based on the latest upstream tree. | ||
|
||
If you create your own PR, please make sure you do it right. Also be so kind as to reference | ||
any issue that would be solved in the PR description body, | ||
[for instance](https://help.github.com/articles/closing-issues-via-commit-messages/) | ||
_"Fixes #XXXX"_ for issue number XXXX. | ||
|
||
### You have a solution | ||
|
||
Please be so kind as to [search](#use-the-search-luke) for any open issue already covering | ||
your [problem](#you-have-a-problem), and any pending/merged/rejected PR covering your solution. | ||
|
||
If the solution is already reported, try it out and +1 the pull request if the | ||
solution works ok. On the other hand, if you think your solution is better, post | ||
it with a reference to the other one so we can have both solutions to compare. | ||
|
||
If not, then go ahead and submit a PR. Please copy to anyone relevant (e.g. plugin | ||
maintainers) by mentioning their GitHub handle (starting with `@`) in your message. | ||
|
||
### You have an addition | ||
|
||
Please [do not](https://github.com/ohmybash/oh-my-bash/wiki/Themes#dont-send-us-your-theme-for-now) | ||
send themes for now. | ||
|
||
Please be so kind as to [search](#use-the-search-luke) for any pending, merged or rejected Pull Requests | ||
covering or related to what you want to add. | ||
|
||
If you find one, try it out and work with the author on a common solution. | ||
|
||
If not, then go ahead and submit a PR. Please copy to anyone relevant (_eg_ plugin | ||
maintainers) by mentioning their GitHub handle (starting with `@`) in your message. | ||
|
||
For any extensive change, _eg_ a new plugin, you will have to find testers to +1 your PR. | ||
|
||
---- | ||
### Form of merge requests | ||
All merge requests has to have following naming: | ||
``` | ||
<FILE>: <Summary> | ||
## Use the Search, Luke | ||
<Description> | ||
<Fixes/Bug>: #<BUG_NUMBER> | ||
Signed-off-by: <name> <surname> <e-mail> | ||
``` | ||
|
||
_May the Force (of past experiences) be with you_ | ||
Example: | ||
``` | ||
theme/agnoster: Fixed naming | ||
GitHub offers [many search features](https://help.github.com/articles/searching-github/) | ||
to help you check whether a similar contribution to yours already exists. Please search | ||
before making any contribution, it avoids duplicates and eases maintenance. Trust me, | ||
that works 90% of the time. | ||
Agnoster theme is using wrong file naming which is fixed in this commit | ||
Fixes: #70 | ||
Fixes: #59 | ||
Signed-off-by: Jacob Hrbek <werifgx@gmail.com> | ||
``` | ||
Where signature is optional. | ||
|
||
You can also take a look at the [FAQ](https://github.com/ohmybash/oh-my-bash/wiki/FAQ) | ||
to be sure your contribution has not already come up. | ||
### Quality Assurance (QA) | ||
All merge requests have to pass spellcheck (https://www.shellcheck.net/) unless stated otherwise. | ||
|
||
If all fails, your thing has probably not been reported yet, so you can go ahead | ||
and [create an issue](#reporting-issues) or [submit a PR](#submitting-pull-requests). | ||
If spellcheck fails on issue that can not be resolved then provide `# spellcheck :SC123` under shabang on your code and explain why is said spellcheck-skip used. | ||
|
||
---- | ||
### Copyright | ||
If you are using code that has been written by third party then make sure you have a permission to share it. | ||
|
||
### You have spare time to volunteer | ||
In terms of GNU General Public License you are required to credit original author in said files depending on licence used. | ||
|
||
Very nice!! :) | ||
### Draft issues | ||
If your merge request is not ready to be merged then submit it as draft. | ||
|
||
Please have a look at the [Volunteer](https://github.com/ohmybash/oh-my-bash/wiki/Volunteers) | ||
page for instructions on where to start and more. | ||
## Issues | ||
Rule of thumb is to do your best for others to help you which applies here as well | ||
- Be professional or your issue will be closed as invalid. | ||
- Provide helpful title and description | ||
- Provide hardware/software info if they are relevant for the issues. | ||
- `neofetch` is recommended to provide hardware info. | ||
- Providing list of installed packages is recommended for software info (and configuration of package manager on high-end distros) |