Skip to content
Newer
Older
100644 96 lines (54 sloc) 4.75 KB
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored Sep 17, 2012
1 # Contributing
2
3 We are more than happy to accept external contributions to the project in the form of feedback, bug reports and even better - pull requests :) At this time we are primarily focusing on improving the user-experience and stability of Yeoman for our first release. Please keep this in mind if submitting feature requests, which we're happy to consider for future versions.
4
5
a4ff2ea @sindresorhus readme: Also move the issue submission guidelines
sindresorhus authored Sep 17, 2012
6 ## Issue submission
7
8 In order for us to help you please check that you've completed the following steps:
9
10 * Made sure you're on the latest version `npm update -g yeoman`
11 * Looked through the list of [known bugs](https://github.com/yeoman/yeoman/wiki/Additional-FAQ) to ensure the issue hasn't been noted or solved already
12 * Used the search feature to ensure that the bug hasn't been reported before
13 * Included as much information about the bug as possible, including any output you've received, what OS and version you're on, etc.
14 * Shared the output from `echo $PATH $NODE_PATH` and `brew doctor` as this can also help track down the issue.
15
16
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored Sep 17, 2012
17 ## Repos
18
19 Yeoman has three primary repos:
20
21 * [main project](http://github.com/yeoman/yeoman)
22 * [generators](http://github.com/yeoman/generators)
23 * [yeoman.io](http://github.com/yeoman/yeoman.io)
24
25
433da97 @paulirish Add section about CLA
paulirish authored Sep 19, 2012
26
27 ## Contributor License Agreement
28
29 We'd love to accept your code patches! However, before we can take them, we have to jump a couple of legal hurdles.
30
bec878f @paulirish extra detail on the CLA
paulirish authored Sep 22, 2012
31 We need you to sign a CLA. In summary, the CLA asserts that when you donate fixes or documentation, you both own the code that you're submitting and that Google can in turn license that code to other people. (In this case, making it available under the BSD license)
32
33 Just FWIW, here are some other projects that require a similar agreement: jQuery, Firefox, Sizzle, Dojo, Plone, Fedora, Cordova/Phonegap, Apache, Flex.
34
433da97 @paulirish Add section about CLA
paulirish authored Sep 20, 2012
35 **Please fill out an [individual CLA](http://code.google.com/legal/individual-cla-v1.0.html).** There is a web form at the bottom; shouldn't take too long.
36
37 (If you work for a company that wants to allow you to contribute, you'll need to complete a [corporate CLA](http://code.google.com/legal/corporate-cla-v1.0.html).)
38
bec878f @paulirish extra detail on the CLA
paulirish authored Sep 22, 2012
39 More about CLAs:
40 * http://wiki.civiccommons.org/Contributor_Agreements
41 * http://incubator.apache.org/ip-clearance/index.html
42 * http://dojofoundation.org/about/cla
433da97 @paulirish Add section about CLA
paulirish authored Sep 20, 2012
43
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored Sep 17, 2012
44 ## Quick Start
45
46 * Clone this repo and `cd` into it
47 * Run this command: `./setup/install.sh`
48 * `cd` into the `/cli` directory and run `sudo npm link` after the install is complete.
49 * Navigate to a new directory and run `yeoman init` to make sure everything is working as expected.
50
51 You can keep Yeoman up to date by using `git pull --rebase upstream master && cd cli && npm link`, where `upstream` is a remote pointing to this repo.
52
b59819c @sindresorhus Add instructions on how to develop on the generators repo
sindresorhus authored Sep 24, 2012
53 ### Generators
54
55 When developing in the generators repo you probably want to be able to test out your changes. The recommended workflow is to link the generators module into the yeoman project, which means changes you do in the generators repo will be reflected in the yeoman repo.
56
57 - `cd` into the generators repo
58 - Run `npm link` to link it globally
59 - `cd` into the `cli` folder in the yeoman repo
60 - Run `npm link yeoman-generators` to link it into this folder
61
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored Sep 17, 2012
62
63 ## Style Guide
64
65 This project uses single-quotes, two space indentation, multiple var statements and whitespace around arguments. Please ensure any pull requests follow this closely. If you notice existing code which doesn't follow these practices, feel free to shout and we will address this.
66
67
68 ## Pull Request Guidelines
69
433da97 @paulirish Add section about CLA
paulirish authored Sep 20, 2012
70 * Submit your CLA, if you haven't.
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored Sep 17, 2012
71 * Please check to make sure that there aren't existing pull requests attempting to address the issue mentioned. We also recommend checking for issues related to the issue on the tracker, as a team member may be working on the issue in a branch or fork.
72 * Lint the code by running `grunt` in the `/cli` folder before submitting a pull request
73 * Develop in a topic branch, not master
74
75
76 ## Tests
77
78 Yeoman has a test suite to ensure it's reliably and accurately working as a developer tool. You can find the main test suite in [`test/test-build.js`](https://github.com/yeoman/yeoman/blob/master/cli/test/test-build.js), most of the assertions are [checks against yeoman cli stdout](https://github.com/mklabs/yeoman/wiki/test-build).
79
80 To run our test suite:
81
82 ```sh
83 npm test
84 ```
85
86 Do note that if any CLI prompts are not accounted for the test suite will have a timeout failure.
87
88
89 ## Developer Docs
90
91 We have significant developer docs for you if you'd like to hack on Yeoman.
92
93 Currently you can find much of the details on [mklabs' yeoman wiki](https://github.com/mklabs/yeoman/wiki/_pages) but also [our primary project](https://github.com/yeoman/yeoman/tree/master/docs/cli).
94
95 You're also welcome to `git blame` back to commit messages and pull requests. As a project we value comprehensive discussion for our fellow developers.
Something went wrong with that request. Please try again.