summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorTyler Mauthe <me@tylermauthe.com>2016-09-26 09:03:03 -0700
committerGitHub <noreply@github.com>2016-09-26 09:03:03 -0700
commit3d0b97e8feec98bd5f222e325f1c8717ac308832 (patch)
treee4009bab70ae5337b33282e0c057d06133039f05 /CONTRIBUTING.md
parent041cd4e5f70b07a8b0071214fe68dfa4bad00f71 (diff)
Update CONTRIBUTING.md
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md63
1 files changed, 58 insertions, 5 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 33d27a6..d6deb4c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,14 +1,67 @@
+# Welcome!
+Thank you for your interest in Dashing! This exceptionally handsome
+framework welcomes all input, but being stylish requires certain
+protocols be followed. :bowtie:
+
+Below you will find a set of guidelines that will ensure the best outcome
+for you _and_ Dashing.
+
<a name="issues"></a>
-## Have an Issue?
+## Have an Issue
+If you run into problems with Dashing, please take these steps before
+submitting an issue:
-1. Check the [Troubleshooting Guide](https://github.com/Dashing-io/dashing/wiki#how-tos) in the wiki.
+1. Check the [Troubleshooting Guide](https://github.com/Shopify/dashing/wiki#how-tos) in the wiki.
2. Use the [GitHub Issue Search](https://help.github.com/articles/searching-issues/) to check if the issue has already been reported.
-3. You can ask your issue on the tracker, but your best bet is to go to [Stack Overflow](http://stackoverflow.com/questions/tagged/dashing)
+3. Submit your issue to our Issue Tracker. Please provide as much helpful information as possible, preferably making use of a [reduced test case](https://www.google.ca/search?#q=reduced%20test%20case).
+**Support requests should be directed to [Stack Overflow](http://stackoverflow.com/questions/tagged/dashing).**
<a name="features"></a>
+## Feature Requests
+Feature requests are welcome, but take a moment to consider whether your idea
+fits with the scope and aim of the project. A good rule of thumb is to apply
+the 80/20 rule: every feature should be useful to at least 80% of users. Adding
+in every possible edge case will only make it more difficult to understand, maintain,
+and hack on.
-If you feel that you have a really amazing, super neato idea that should be a part of Dashing, it may be a good candidate for an external Gem which supercharges a project. An excellent example of this is
+If you feel that you have a really amazing, super neato idea that doesn't
+quite fit with the core use of Dashing, it may be a good candidate for an
+external Gem which supercharges a project. An excellent example of this is
[dashing-contrib](https://github.com/QubitProducts/dashing-contrib). If you
-do create a third-party extension for Dashing, please add it [here](https://github.com/Dashing-io/dashing/wiki/Additional-Widgets#other-third-party-tools).
+do create a third-party extension for Dashing, please add it [here](https://github.com/Shopify/dashing/wiki/Additional-Widgets#other-third-party-tools).
+
+<a name="pull-requests"></a>
+## Pull Requests
+
+Patches, improvements and new features are a fantastic
+help -- thank you!
+
+**Please ask first** before embarking on any significant pull request (e.g.
+implementing features, refactoring code, porting to a different language),
+otherwise you risk spending a lot of time working on something that may
+not be merged into the project.
+
+Please adhere to the coding conventions used throughout a project (indentation,
+accurate comments, etc.) and any other requirements (such as test coverage).
+All code submitted via Pull Request will be dicussed and critiqued in a
+respectful manner.
+
+GitHub has [excellent documentation on how to use Pull Requests.](https://help.github.com/articles/using-pull-requests/)
+<a name="commit-msgs"></a>
+## Git Commit Message Suggestions
+* Consider starting the commit message with an applicable emoji:
+ * :art: `:art:` when improving the format/structure of the code
+ * :moyai: `:moyai:` when adding a new feature
+ * :wrench: `:wrench:` when dealing with the toolchain (Git, Travis, etc)
+ * :notebook: `:notebook` when dealing with docs
+ * :racehorse: `:racehorse:` when improving performance
+ * :penguin: `:penguin:` when fixing something on Linux
+ * :apple: `:apple:` when fixing something on Mac OS
+ * :bug: `:bug:` when fixing a bug
+ * :bomb: `:bomb:` when removing code or files
+ * :white_check_mark: `:white_check_mark:` when adding tests
+ * :lock: `:lock:` when dealing with security
+ * :arrow_up: `:arrow_up:` when upgrading dependencies
+ * :arrow_down: `:arrow_down:` when downgrading dependencies