Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 94 lines (54 sloc) 4.933 kb
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored
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
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
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
26 ## Contributor License Agreement
27
533c17c @devinrhode2 Re-wrote CLA section to get to the point.
devinrhode2 authored
28 Before we can accept patches, there's a quick web form we need you to fill our [here](http://code.google.com/legal/individual-cla-v1.0.html) (<strong>\*scroll to the bottom!\*</strong>).
433da97 @paulirish Add section about CLA
paulirish authored
29
533c17c @devinrhode2 Re-wrote CLA section to get to the point.
devinrhode2 authored
30 If you're contributing under a company, you need to fill out [this form instead](http://code.google.com/legal/corporate-cla-v1.0.html).
bec878f @paulirish extra detail on the CLA
paulirish authored
31
533c17c @devinrhode2 Re-wrote CLA section to get to the point.
devinrhode2 authored
32 This CLA asserts that fixes and documentation are owned by you and that Google can license all work under BSD.
bec878f @paulirish extra detail on the CLA
paulirish authored
33
533c17c @devinrhode2 Re-wrote CLA section to get to the point.
devinrhode2 authored
34 Other projects require a similar agreement: jQuery, Firefox, Apache, and many more.
433da97 @paulirish Add section about CLA
paulirish authored
35
533c17c @devinrhode2 Re-wrote CLA section to get to the point.
devinrhode2 authored
36 [More about CLAs](https://www.google.com/search?q=Contributor%20License%20Agreement)
433da97 @paulirish Add section about CLA
paulirish authored
37
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored
38 ## Quick Start
39
40 * Clone this repo and `cd` into it
41 * Run this command: `./setup/install.sh`
42 * `cd` into the `/cli` directory and run `sudo npm link` after the install is complete.
43 * Navigate to a new directory and run `yeoman init` to make sure everything is working as expected.
fc8e04b @sindresorhus Improve contributing.md. Fixes #279
sindresorhus authored
44 * Add `yeoman_test` with any value to your environment variables to disable the updater and Insight.
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored
45
46 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.
47
b59819c @sindresorhus Add instructions on how to develop on the generators repo
sindresorhus authored
48 ### Generators
49
fc8e04b @sindresorhus Improve contributing.md. Fixes #279
sindresorhus authored
50 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 by running `npm link path/to/generator/folder` in `yeoman/cli/`. This means changes you do in the generators repo will be reflected in the yeoman repo.
b59819c @sindresorhus Add instructions on how to develop on the generators repo
sindresorhus authored
51
138ce77 @addyosmani Fixes #619 - adds note to contrib. guide about the new --disable-insi…
addyosmani authored
52 ### Insight
53
54 When developing for Yeoman, you will most likely be running and debugging commands within the CLI. If you have opted into Insight, these commands will be logged. A special `--disable-insight` flag is available for developers wishing to opt out of Insight tracking so inflated stats are not recorded.
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored
55
56 ## Style Guide
57
58 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.
59
60
61 ## Pull Request Guidelines
62
433da97 @paulirish Add section about CLA
paulirish authored
63 * Submit your CLA, if you haven't.
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored
64 * 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.
fc8e04b @sindresorhus Improve contributing.md. Fixes #279
sindresorhus authored
65 * Non-trivial changes should be discussed in an issue first
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored
66 * Develop in a topic branch, not master
fc8e04b @sindresorhus Improve contributing.md. Fixes #279
sindresorhus authored
67 * Lint the code by running `grunt` in the `/cli` folder
68 * Add relevant tests to cover the change
69 * Make sure test-suite passes
70 * Squash your commits
71 * Write a convincing description of your PR and why we should land it
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored
72
73
74 ## Tests
75
76 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).
77
78 To run our test suite:
79
fc8e04b @sindresorhus Improve contributing.md. Fixes #279
sindresorhus authored
80 ```
f1e2ea8 @sindresorhus Move the contribute section into a contributing.md file
sindresorhus authored
81 npm test
82 ```
83
84 Do note that if any CLI prompts are not accounted for the test suite will have a timeout failure.
85
86
87 ## Developer Docs
88
89 We have significant developer docs for you if you'd like to hack on Yeoman.
90
91 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).
92
93 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.