editz
[tools.git] / doc / contribute.md
Maxious 1 [HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
2 table of contents](README.md)
3
4 # Contributing to HTML5 Boilerplate
5
6 ♥ HTML5 Boilerplate and want to get involved? Thanks! There are plenty of ways
7 you can help!
8
9
10 ## Reporting issues
11
12 A bug is a _demonstrable problem_ that is caused by the code in the
13 repository.
14
15 Please read the following guidelines before you [report an issue](https://github.com/h5bp/html5-boilerplate/issues/):
16
17 1. **Use the GitHub issue search** — check if the issue has already been
18 reported. If it has been, please comment on the existing issue.
19
20 2. **Check if the issue has been fixed** — the latest `master` or
21 development branch may already contain a fix.
22
23 3. **Isolate the demonstrable problem** — make sure that the code in the
24 project's repository is _definitely_ responsible for the issue. Create a
25 [reduced test case](http://css-tricks.com/6263-reduced-test-cases/) - an
26 extremely simple and immediately viewable example of the issue.
27
28 4. **Include a live example** — provide a link to your reduced test case
29 when appropriate (e.g. if the issue is related to (front-end technologies).
30 Please use [jsFiddle](http://jsfiddle.net) to host examples.
31
32 Please try to be as detailed as possible in your report too. What is your
33 environment? What steps will reproduce the issue? What browser(s) and OS
34 experience the problem? What would you expect to be the outcome? All these
35 details will help people to assess and fix any potential bugs.
36
37 ### Example of a good bug report:
38
39 > Short and descriptive title
40 >
41 > A summary of the issue and the browser/OS environment in which it occurs. If
42 > suitable, include the steps required to reproduce the bug.
43 >
44 > 1. This is the first step
45 > 2. This is the second step
46 > 3. Further steps, etc.
47 >
48 > `<url>` (a link to the reduced test case)
49 >
50 > Any other information you want to share that is relevant to the issue being
51 > reported. This might include the lines of code that you have identified as
52 > causing the bug, and potential solutions (and your opinions on their
53 > merits).
54
55 A good bug report shouldn't leave people needing to chase you up to get further
56 information that is required to assess or fix the bug.
57
58 **[File a bug report](https://github.com/h5bp/html5-boilerplate/issues/)**
59
60
61 ## Pull requests
62
63 Good pull requests — patches, improvements, new features — are a fantastic
64 help. They should remain focused in scope and avoid containing unrelated
65 commits.
66
67 If your contribution involves a significant amount of work or substantial
68 changes to any part of the project, please open an issue to discuss it first.
69
70 Please follow this process; it's the best way to get your work included in the
71 project:
72
73 1. [Fork](http://help.github.com/fork-a-repo/) the project.
74
75 2. Clone your fork (`git clone
76 https://github.com/<your-username>/html5-boilerplate.git`).
77
78 3. Add an `upstream` remote (`git remote add upstream
79 https://github.com/h5bp/html5-boilerplate.git`).
80
81 4. Get the latest changes from upstream (e.g. `git pull upstream
82 <dev-branch>`).
83
84 5. Create a new topic branch to contain your feature, change, or fix (`git
85 checkout -b <topic-branch-name>`).
86
87 6. Make sure that your changes adhere to the current coding conventions used
88 throughout the project - indentation, accurate comments, etc. Please update
89 any documentation that is relevant to the change you are making.
90
91 7. Commit your changes in logical chunks; use git's [interactive
92 rebase](https://help.github.com/articles/interactive-rebase) feature to tidy
93 up your commits before making them public. Please adhere to these [git commit
94 message
95 guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
96 or your pull request is unlikely be merged into the main project.
97
98 8. Locally merge (or rebase) the upstream branch into your topic branch.
99
100 9. Push your topic branch up to your fork (`git push origin
101 <topic-branch-name>`).
102
103 10. [Open a Pull Request](http://help.github.com/send-pull-requests/) with a
104 clear title and description. Please mention which browsers you tested in.
105