1 | # Contributing
|
2 |
|
3 | If you are reading this, you are awesome! Thank you for deciding to help with Melting-Pot. Whether it is a bug fix, a new feature or improvement to our docs. All contributions our welcome, but before you start here are a couple of key things to go by.
|
4 |
|
5 | ## Submitting a Pull Request
|
6 |
|
7 | Pull requests are always greeted with happiness, but before opening a PR it is better to open an issue and discuss it with the team. We are very quick to respond and you’ll probably hear from us in a day (or two sometimes). If it’s a current issue that you want to work on, just leave a comment asking if you can take that issue. Sometimes an issue is already in progress of being fixed. This way, we can ensure that your precious time doesn’t get wasted.
|
8 |
|
9 | Also as a guideline, always try to keep your PR as small as possible. Focus on one task at hand. One feature, one bug etc. If it’s more than one issue/feature it is better that you create multiple PRs for it rather then one.
|
10 |
|
11 | As creating an issue or a pull request, please begin it with the following prefixes
|
12 |
|
13 | - **`[Breaking]`** (For a change that will break the API)
|
14 | - **`[Enhancement]`** (For when you add something that doesn’t break the API & adds more functionality to the current API)
|
15 | - **`[Fix]`** (For when you fix something that previously didn’t function or appear correctly)
|
16 |
|
17 | Leaving this prefix off will prevent your PR from being included in the release. A good case to omit the prefix is when proposing infrastructural changes to the repository that doesn’t break the API. .
|
18 |
|
19 | ## Branch Structure
|
20 |
|
21 | At any given time `master` branch points to the latest development iteration of the library.
|
22 |
|
23 | Hot fixes, new features, documentation anything related is handled on a separate branch. Once it’s been thoroughly tested out. It is then merged with the `master` branch.
|
24 |
|
25 | ## Getting Started
|
26 |
|
27 | Please create a new branch from the latest `master` branch on your fork.
|
28 |
|
29 | - Fork the Melting-Pot library from github
|
30 | - Clone your fork to your local machine `git clone git@github.com:<yourname>/melting-pot.git`
|
31 | - Create a new branch `git checkout -b [PREFIX]/my-topic-branch`
|
32 | - Make your changes, test and then push your code to `git push origin [PREFIX]/my-topic-branch`
|
33 | - Visit **GitHub** and make your pull request
|
34 |
|
35 | If you have an existing local repository, please update it before you start. So that you can avoid or minimize the chances of getting merge conflicts
|
36 |
|
37 | - `git remote add upstream http://github.com/withvoid/melting-pot.git`
|
38 | - `git checkout master`
|
39 | - `git pull upstream master`
|
40 | - `git checkout -b my-topic-branch`
|
41 | - Make your changes, test and then push your code to make the pull request
|
42 |
|
43 | Here is another excellent guide called [The beginner's guide to contributing to a GitHub project](https://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project/)
|
44 |
|
45 | ## Testing
|
46 |
|
47 | We have a **`dev-server`** build that uses code examples of `Melting-Pot`. To get started
|
48 |
|
49 | - `yarn`
|
50 | - `yarn dev`
|
51 |
|
52 | ## Coding Style
|
53 |
|
54 | Please use the coding style of `Melting-Pot`. There is linting in place, so if possible enable linting in your editor to get real time feedback.
|
55 |
|
56 | ## License
|
57 |
|
58 | By contributing your code to Melting-Pot, you agree to licence your contribution under the MIT license. |
\ | No newline at end of file |