|
| 1 | +# Contributing |
| 2 | + |
| 3 | +Thanks for taking the time to checkout this repo and be willing to contribute! |
| 4 | + |
| 5 | +If you have found an issue or would like to request a new feature, simply create a new issue. New issues come with a issue template, so make sure to fill out as much information as possible. |
| 6 | + |
| 7 | +We also welcome pull requests, bug fixes and improved test coverage as contributions! |
| 8 | + |
| 9 | +If this is your first open source contribution, please take a look at [this](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github) guide. |
| 10 | + |
| 11 | +## Reporting Bugs & Feature Requests |
| 12 | + |
| 13 | +If you would like to submit a feature request or report a bug, we encourage you to first look through the [issues](https://github.com/react-native-elements/react-native-elements/issues) and [pull requests](https://github.com/react-native-elements/react-native-elements/pulls) before filing a new issue. |
| 14 | + |
| 15 | +Check out the [react-native-elements-app](https://github.com/react-native-elements/react-native-elements-app) repository to see how React Native Elements is used to build the [React Native Elements App](https://expo.io/@flyingcircle/projects/react-native-elements-app) on Expo. |
| 16 | + |
| 17 | +## Submitting a Pull Request |
| 18 | + |
| 19 | +If you wish to submit a pull request for a new feature or issue, you should start by forking this repository first. This should get you setup on your local machine: |
| 20 | + |
| 21 | +### Setup |
| 22 | + |
| 23 | +- Install [Node.js](https://nodejs.org/) and [yarn](https://yarnpkg.com) if you have not already. (_We suggest you to use node v6.x.x_) |
| 24 | +- Fork the **react-native-elements** repo [here](https://github.com/react-native-elements/react-native-elements) |
| 25 | +- `git clone <your-forked-repo-url> && cd react-native-elements` |
| 26 | +- `yarn install` |
| 27 | +- `yarn test` |
| 28 | + |
| 29 | +Now create a new branch with a name that loosely describes the issue on which you will be working. Once you think you have addressed the issue in question, submit a pull request to the `next` branch. |
| 30 | + |
| 31 | +### Committing and Pushing Changes |
| 32 | + |
| 33 | +We like to provide informative and useful commit messages when pushing changes to the repo. This helps tremendously when sifting through the commit history to find a particular changeset. A useful guide for creating meaningful commit messages can be found [here.](https://github.com/conventional-changelog-archived-repos/conventional-changelog-angular/blob/ed32559941719a130bb0327f886d6a32a8cbc2ba/convention.md) |
| 34 | + |
| 35 | +### Branching Strategy |
| 36 | + |
| 37 | +There are 3 main branches: |
| 38 | +- `master` is the branch with the most recent deployed version |
| 39 | +- `next` is the main development branch. For new features and enhancements, base the |
| 40 | +changes off this branch. |
| 41 | +- `patch` is a branch for working on patch releases. If you have a bug fix |
| 42 | +that requires a fast release, use this branch. |
0 commit comments