# How to contribute Want to contribute something to Adorable Avatars? Wonderful! __Here's how you can help.__ Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved. ## Getting Started 1. [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork, and configure the remotes: ```bash # Clone your fork of the repo into the current directory git clone https://github.com/<your-username>/avatars-api.git # Navigate to the newly cloned directory cd avatars-api # Assign the original repo to a remote called "upstream" git remote add upstream https://github.com/adorableio/avatars-api.git ``` 2. If you cloned a while ago, get the latest changes from upstream: ```bash git checkout master git pull upstream master ``` 3. Install the project dependencies: ```bash npm install brew install imagemagick ``` 4. Create a new topic branch (off the main project development branch) to contain your feature, change, or fix: ```bash git checkout -b <topic-branch-name> ``` ## Making Changes 1. Commit your changes in logical chunks. Please adhere to these [git commit message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). Use Git's [interactive rebase](https://help.github.com/articles/interactive-rebase) feature to tidy up your commits before making them public. __NOTE__: Before you commit, ensure that the tests are still passing: ```bash npm test ``` If you're adding new functionality, please write specs around it. 2. Locally merge (or rebase) the upstream development branch into your topic branch: ```bash git pull [--rebase] upstream master ``` 3. Push your topic branch up to your fork: ```bash git push origin <topic-branch-name> ``` 4. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) with a clear title and description against the `master` branch. ## License By contributing your code, you agree to license your contribution under the [MIT license](LICENSE).