diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..06b5b56 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,107 @@ +# Contributing to alexa-utterances + +You're encouraged to submit [pull requests](https://github.com/alexa-js/alexa-utterances/pulls), [propose features and discuss issues](https://github.com/alexa-js/alexa-utterances/issues). + +In the examples below, substitute your Github username for `contributor` in URLs. + +### Fork the Project + +Fork the [project on Github](https://github.com/alexa-js/alexa-utterances) and check out your copy. + +``` +git clone https://github.com/contributor/alexa-utterances.git +cd alexa-utterances +git remote add upstream https://github.com/alexa-js/alexa-utterances.git +``` + +### Run Tests + +Ensure that you can build the project and run tests. + +``` +npm install +npm test +``` + +## Contribute Code + +### Create a Topic Branch + +Make sure your fork is up-to-date and create a topic branch for your feature or bug fix. + +``` +git checkout master +git pull upstream master +git checkout -b my-feature-branch +``` + +### Write Tests + +Try to write a test that reproduces the problem you're trying to fix or describes a feature that you want to build. Tests live under [test](test). + +We definitely appreciate pull requests that highlight or reproduce a problem, even without a fix. + +### Write Code + +Implement your feature or bug fix. + +Make sure that `npm test` completes without errors. + +### Write Documentation + +Document any external behavior in the [README](README.md). + +### Commit Changes + +Make sure git knows your name and email address: + +``` +git config --global user.name "Your Name" +git config --global user.email "contributor@example.com" +``` + +Writing good commit logs is important. A commit log should describe what changed and why. + +``` +git add ... +git commit +``` + +### Push + +``` +git push origin my-feature-branch +``` + +### Make a Pull Request + +Go to https://github.com/alexa-js/alexa-utterances and select your feature branch. Click the 'Pull Request' button and fill out the form. Pull requests are usually reviewed within a few days. + +Add more commits or amend your previous commit with any changes. + +``` +git commit --amend +git push origin my-feature-branch -f +``` + +### Rebase + +If you've been working on a change for a while, rebase with upstream/master. + +``` +git fetch upstream +git rebase upstream/master +git push origin my-feature-branch -f +``` + +### Check on Your Pull Request + +Go back to your pull request after a few minutes and see whether it passed muster with Travis-CI. Everything should look green, otherwise fix issues and amend your commit as described above. + +### Be Patient + +It's likely that your change will not be merged and that the nitpicky maintainers will ask you to do more, or fix seemingly benign problems. Hang on there! + +## Thank You + +Please do know that we really appreciate and value your time and work. We love you, really. diff --git a/README.md b/README.md index 87482e6..daa3746 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,11 @@ You may want to work with [Custom Slot Types](https://developer.amazon.com/appsa "your least favorite snack is {Fruit}" ``` +### Contributing + +See [CONTRIBUTING](CONTRIBUTING.md) + ### Copyright and License Copyright (c) 2015-2017 Mike Reinstein, MIT License, see [LICENSE](LICENSE). +