Adjusting the docs to show the modals demo for mobile devices.
[ratchet] / CONTRIBUTING.md
1 # Contributing to Ratchet
2
3 ## Types of issues<a name="types-of-issues"></a>
4
5 The GitHub issue tracker should only be used for one of the
6 following:
7
8 + **Bugs** &mdash; when a feature of the project has been _identified as
9   broken_.
10
11 + **Feature requests** &mdash; when you ask for a _new feature_ to be added to a
12   project.
13
14 + **Contribution enquiries** &mdash; when you want to discuss whether a _new
15   feature_ or _change_ would be accepted in a project before you begin
16   development work on it.
17
18 These are some things that don't belong in the issue tracker:
19
20 + **Please avoid personal support requests.** We cannot
21   provide personal support for implementation issues. The best place for help
22   is generally going to be StackOverflow, Twitter, IRC, etc.
23
24 + **Please avoid derailing issues.** Keep the discussion on topic and respect
25   the opinions of others.
26
27 ## Bugs<a name="bugs"></a>
28
29 A bug is a _demonstrable problem_ that is caused by the code in the
30 repository.
31
32 If you've come across a problem with the code and you're letting us know about
33 it, _thank you_. We appreciate your time and the effort you're making to help
34 improve the code for everyone else!
35
36 Please read the following guidelines for reporting bugs:
37
38 1. **Use the GitHub issue search** &mdash; check if the issue has already been
39    reported. If it has been, please comment on the existing issue.
40
41 2. **Check if the issue has been fixed** &mdash; the latest `master` or
42    development branch may already contain a fix.
43
44 3. **Isolate the demonstrable problem** &mdash; make sure that the code in the
45    project's repository is _definitely_ responsible for the issue. Create a
46    [reduced test case](http://css-tricks.com/6263-reduced-test-cases/) - an
47    extremely simple and immediately viewable example of the issue.
48
49 4. **Include a live example** &mdash; provide a link to your reduced test case
50    when appropriate (e.g. if the issue is related to front-end technologies).
51    Please use [jsFiddle](http://jsfiddle.net) to host examples.
52
53 Please try to be as detailed as possible in your report too. What is your
54 environment? What steps will reproduce the issue? What browser(s) and OS
55 experience the problem? What would you expect to be the outcome? All these
56 details will help me and others to assess and fix any potential bugs.
57
58 ### Example of a good bug report:
59
60 > Short and descriptive title
61 >
62 > A summary of the issue and the browser/OS environment in which it occurs. If
63 > suitable, include the steps required to reproduce the bug.
64 >
65 > 1. This is the first step
66 > 2. This is the second step
67 > 3. Further steps, etc.
68 >
69 > `<url>` - a link to the reduced test case
70 >
71 > Any other information you want to share that is relevant to the issue being
72 > reported. This might include the lines of code that you have identified as
73 > causing the bug, and potential solutions (and your opinions on their
74 > merits).
75
76 A good bug report shouldn't leave us needing to chase you up to get further
77 information that is required to assess or fix the bug.
78
79 ## Feature requests<a name="feature-requests"></a>
80
81 Feature requests are welcome! Please provide links to examples or articles that
82 help to illustrate the specifics of a feature you're requesting. The more
83 detail, the better. It will help us to decide whether the feature is something I
84 agree should become part of the project.
85
86 ## Contribution enquiries<a name="enquiries"></a>
87
88 Contribution enquiries should take place before any significant pull request,
89 otherwise you risk spending a lot of time working on something that we might not
90 want to pull into the repository.
91
92 In this regard, some contribution enquires may be feature requests that you
93 would like to have a go at implementing yourself if they are wanted. Other
94 enquiries might revolve around refactoring code or porting a project to
95 different languages.
96
97 ## Pull requests<a name="pull-requests"></a>
98
99 Good pull requests - patches, improvements, new features - are a fantastic
100 help.
101
102 If you've spotted any small, obvious errors and want to help out by patching it,
103 that will be much appreciated.
104
105 If your contribution involves a significant amount of work or substantial
106 changes to any part of the project, please open a "contribution enquiry" issue
107 first to check that the work is wanted or matches the goals of the project.
108
109 All pull requests should remain focused in scope and avoid containing unrelated
110 commits.
111
112 Please follow this process; it's the best way to get your work included in the
113 project:
114
115 1. [Fork](http://help.github.com/fork-a-repo/) the project.
116
117 2. Clone your fork (`git clone
118    git@github.com:<your-username>/<repo-name>.git`).
119
120 3. Add an `upstream` remote (`git remote add upstream
121    git://github.com/<upsteam-owner>/<repo-name>.git`).
122
123 4. Get the latest changes from upstream (e.g. `git pull upstream
124    <dev-branch>`).
125
126 5. Create a new topic branch to contain your feature, change, or fix (`git
127    checkout -b <topic-branch-name>`).
128
129 6. Make sure that your changes adhere to the current coding conventions used
130    throughout the project - indentation, accurate comments, etc.
131
132 7. Commit your changes in logical chunks; use git's [interactive
133    rebase](https://help.github.com/articles/interactive-rebase) feature to tidy
134    up your commits before making them public. Please adhere to these [git commit
135    message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
136    or your pull request is unlikely be merged into the main project.
137
138 8. Locally merge (or rebase) the upstream branch into your topic branch.
139
140 9. Push your topic branch up to your fork (`git push origin
141    <topic-branch-name>`).
142
143 10. [Open a Pull Request](http://help.github.com/send-pull-requests/) with a
144     clear title and description. Please mention which browsers you tested in.
145
146 If you have any other questions about contributing, please feel free to contact
147 us.
148
149 ## Special thanks to @necolas
150
151 For writing the original [issue-guidelines](https://github.com/necolas/issue-guidelines/) from which these were adapted.