Modified from [Atom's CONTRIBUTING.md](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#how-can-i-contribute)
First off, thanks for taking the time to contribute!
The following is a set of guidelines for contributing. These are mostly
guidelines, not rules. Use your best judgment, and feel free to propose changes
to this document in a pull request.
### How Can I Contribute?
#### Basic Guide
1. Fork the repository
2. `git clone` the repository to your local working space
3. Make changes
4. `git status` to check your untracked changes, `git add` added/modified files
5. `git commit` your changes, include a message if you want.
6. `git push` to your forked repository
7. Open a pull request in GitHub.
#### Reporting Bugs
How Do I Submit A (Good) Bug Report?
Bugs are tracked as GitHub issues. After you've determined which repository your bug is related to, create an issue on that repository and provide the following information by filling in the template.
Explain the problem and include additional details to help maintainers reproduce the problem:
- Use a **clear and descriptive title** for the issue to identify the problem.
- **Describe the exact steps** which reproduce the problem in as many details as possible. When listing steps, don't just say what you did, but explain how you did it.
- **Provide specific examples** to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use Markdown code blocks.
- **Describe the behavior** you observed after following the steps and point out what exactly is the problem with that behavior.
- Explain which **behavior you expected** to see instead and why.
### Suggesting Enhancements
#### How Do I Submit A (Good) Enhancement Suggestion?
Enhancement suggestions are tracked as GitHub issues. Create an issue on the repository and provide the following information:
- Use a **clear and descriptive title** for the issue to identify the suggestion.
- **Provide specific examples** to demonstrate the steps. Include copy/pasteable snippets which you use in those examples, as Markdown code blocks.
- **Describe the current behavior** and explain which behavior you expected to see instead and why.