# Contributing to Ionic Material

:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:

The following is a set of guidelines for contributing to Ionic Material.
These are just guidelines, not rules, use your best judgment and feel free to
propose changes to this document in a pull request.

## Submitting Issues

* You can create an issue [here](https://github.com/zachsoft/Ionic-Material/issues/new),
  and include as many details as possible with your report.
* Include the version of Ionic that you are using, the device when are testing and the Ionic Material version.
* Include screenshots and animated GIFs whenever possible; they are immensely
  helpful.
* Include the behavior you expected and other places you've seen that behavior
  such as Emacs, vi, Xcode, etc.
* Check the web console for errors to include. If you can reproduce the error, use this approach to get the
  full stack trace and include it in the issue.
* Perform a [cursory search](https://github.com/zachsoft/Ionic-Material/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+)
  to see if a similar issue has already been submitted.
* Please setup a [profile picture](https://help.github.com/articles/how-do-i-set-up-my-profile-picture)
  to make yourself recognizable and so we can all get to know each other better.
* When posting an issue please include a link to codepen or plunkr and instructions to reproduce.

## Submitting Pull Request

* First make a new Fork of the project.
* Perform a [cursory search](https://github.com/zachsoft/Ionic-Material/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+)
to see if a similar pull request has already been submitted.
* Create a new Issue for this Pull Request.
* Name your branch something like this IM-NumberOfTheIssue
* Consider use [Git Flow](http://nvie.com/posts/a-successful-git-branching-model/).
* Write and run Unit Test [see here for unit test](#running-tests-(TODO)).
* Follow the Javascript style guide and conventions.
* Merge Master for no conflicts.
* Submit your Pull Request.
* Thanks for the help.

## Git Commit Messages

* Please Use [Conventional Changelog Commit Guidelines](https://github.com/ajoslin/conventional-changelog/).
* Use the present tense ("Add feature" not "Added feature")
* Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
* Limit the first line to 72 characters or less
* Remember to reference related issues or pull request, e.g: `"fixes #123"` liberally.
* Consider use [commitizen](https://github.com/commitizen/cz-cli) to make your life easier with this.

Rinse & Repeat until all Ionic Apps look amazing and materialized.


## New Issue Styleguide

Please use this guide when you create a new issue:

```
### DESCRIPTION
The Ionic Material exploded my Android Phone, some performance errors appear.

### Trace
Here is the stack trace.

### STEPS
1. Make a bomb.
2. Activate the bomb.
3. Place the bomb near of your phone.
4. RUN!.
5. The phone exploded.

### EXPECTED
The Ionic Material don't exploded my browser.

### REALITY
The Ionic Material exploded my browser.

### Annexes
Here is a photo or a gif of the issue
```

## Running Tests (TODO)
<!-- TODO: Tests Documentation -->
- blah blah blah Karma etc.
