1 | Contributing to node-build
|
2 | =============================
|
3 |
|
4 | So you want to contribute to node-build? Fantastic! Here's a brief overview on
|
5 | how best to do so.
|
6 |
|
7 | ## What to change
|
8 |
|
9 | Here's some examples of things you might want to make a pull request for:
|
10 |
|
11 | * New features
|
12 | * Bugfixes
|
13 | * Inefficient blocks of code
|
14 |
|
15 | If you have a more deeply-rooted problem with how the program is built or some
|
16 | of the stylistic decisions made in the code, it's best to
|
17 | [create an issue](https://github.com/reddit/node-build/issues) before putting
|
18 | the effort into a pull request. The same goes for new features - it is
|
19 | best to check the project's direction, existing pull requests, and currently open
|
20 | and closed issues first.
|
21 |
|
22 | ## Style
|
23 |
|
24 | * Two spaces, not tabs
|
25 | * Semicolons are not optional
|
26 | * All pages should render on the server and the client. The site should be
|
27 | usable without javascript.
|
28 | * Review our [style guide](https://github.com/reddit/tree/master/javascript) for
|
29 | more information.
|
30 |
|
31 | Look at existing code to get a good feel for the patterns we use. Please run
|
32 | tests before submitting any pull requests. Instructions for running tests can
|
33 | be found in the README.
|
34 |
|
35 | ## Using Git appropriately
|
36 |
|
37 | 1. [Fork the repository](https://github.com/reddit/node-build/fork_select) to
|
38 | your Github account.
|
39 | 2. Create a *topical branch* - a branch whose name is succint but explains what
|
40 | you're doing, such as "change-orangered-to-periwinkle"
|
41 | 3. Make your changes, committing at logical breaks.
|
42 | 4. Push your branch to your personal account
|
43 | 5. [Create a pull request](https://help.github.com/articles/using-pull-requests)
|
44 | 6. Watch for comments or acceptance
|
45 |
|
46 | Please make separate branches for unrelated changes!
|
47 |
|
48 | ## Licensing
|
49 |
|
50 | node-build is MIT licensed. See details in the LICENSE file. This is a very permissive
|
51 | scheme, GPL-compatible but without many of the restrictions of GPL.
|