Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 191 lines (120 sloc) 7.522 kB
fe3d0b9 @paulirish readme updates
paulirish authored
1 # Welcome, Friend!
2
325ebaa @addyosmani Some more readme tweaks.
addyosmani authored
3 ## What am I?
4
5 Yeoman is a robust and opinionated client-side stack, comprised of tools and frameworks that can help developers quickly build beautiful web applications. We take care of providing everything needed to get started without any of the normal headaches associated with a manual setup.
6
7 Yeoman is fast, performant and is optimized to work best in modern browsers.
8
d063611 @sindresorhus Improve readme
sindresorhus authored
9 For more information about the project, see [yeoman.io](http://yeoman.io).
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
10
c14bcac @sindresorhus Add mention about code style and fix indention of code blocks
sindresorhus authored
11
f565bca @addyosmani Updating references to docs, tweaking.
addyosmani authored
12 ## Installing (pre-launch)
fe3d0b9 @paulirish readme updates
paulirish authored
13
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
14 * Clone this repo and `cd` into it
d063611 @sindresorhus Improve readme
sindresorhus authored
15 * Run this command: `./setup/install.sh`
6efe9c8 @sindresorhus Update install instructions
sindresorhus authored
16 * `cd` into the `/cli` directory and run `sudo npm link`
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
17 * Navigate to a new directory and run `yeoman init` to make sure everything is working as expected.
450e42c @paulirish adding rvm to install dependencies. cleanup of readme. Install is eas…
paulirish authored
18
6efe9c8 @sindresorhus Update install instructions
sindresorhus authored
19 You can keep Yeoman up to date by using `git pull --rebase`.
20
21 **Make sure to pull in the latest and test before filing an issue, it might be fixed already**
22
fe3d0b9 @paulirish readme updates
paulirish authored
23
f1f903c @addyosmani Adding usage examples and listing of commands for contributors. This …
addyosmani authored
24 ## Documentation
25
26 Yeoman supports a powerful set of high-level commands. These include:
27
8f98e17 @paulirish more syntax highlighting
paulirish authored
28 ```shell
f1f903c @addyosmani Adding usage examples and listing of commands for contributors. This …
addyosmani authored
29 yeoman init # Initialize and scaffold a new project using generator templates
30 yeoman build # Build an optimized version of your app, ready to deploy
31 yeoman server # Launch a preview server which will begin watching for changes
c269e4c @paulmillr Update refs to mocha.
paulmillr authored
32 yeoman test # Run a Mocha test harness in a headless Phantom.js
f1f903c @addyosmani Adding usage examples and listing of commands for contributors. This …
addyosmani authored
33
b77cd39 @sindresorhus Cleanup readme
sindresorhus authored
34 yeoman install # Install a package from the client-side package registry
f1f903c @addyosmani Adding usage examples and listing of commands for contributors. This …
addyosmani authored
35 yeoman uninstall # Uninstall the package
36 yeoman update # Update a package to the latest version
37 yeoman list # List the packages currently installed
38 yeoman search # Query the registry for matching package names
b77cd39 @sindresorhus Cleanup readme
sindresorhus authored
39 yeoman lookup # Look up info on a particular package
f1f903c @addyosmani Adding usage examples and listing of commands for contributors. This …
addyosmani authored
40
41 ```
42
43 A common initial workflow with Yeoman might be:
44
8f98e17 @paulirish more syntax highlighting
paulirish authored
45 ```shell
b77cd39 @sindresorhus Cleanup readme
sindresorhus authored
46 yeoman init # Invoke the most basic application scaffold (Bootstrap, Boilerplate etc.)
47 yeoman build # Build your project, creating an optimized version in the publish folder
48 yeoman server # Create an intermediate version of your app, firing off a watch process
f1f903c @addyosmani Adding usage examples and listing of commands for contributors. This …
addyosmani authored
49
50 ```
51
52 Some more examples of how to use our commands include:
53
8f98e17 @paulirish more syntax highlighting
paulirish authored
54 ```shell
b77cd39 @sindresorhus Cleanup readme
sindresorhus authored
55 yeoman init angular:bootstrap # Invoke the AngularJS generator scaffold
56 yeoman init angular:controller # Invoke the AngularJS Controller sub-generator
57 yeoman install jquery underscore [depName] # Install a dependency or dependencies
58 yeoman update jquery # Update a specific dependency (e.g jquery)
59 yeoman search jquery # Lookup jquery in the Bower registry
f1f903c @addyosmani Adding usage examples and listing of commands for contributors. This …
addyosmani authored
60 ```
61
62
f565bca @addyosmani Updating references to docs, tweaking.
addyosmani authored
63 See the [complete documentation](https://github.com/yeoman/yeoman/tree/master/docs/cli) for more. We also have [extended documentation](https://github.com/mklabs/yeoman/wiki/_pages) available for those more interested in the Yeoman internals.
f1f903c @addyosmani Adding usage examples and listing of commands for contributors. This …
addyosmani authored
64
65
66
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
67 ### Trouble-shooting
68
69 If for any reason you experience exceptions after the yeoman installation process above, you may find the
70 following steps resolve these issues:
71
8f98e17 @paulirish more syntax highlighting
paulirish authored
72 ```shell
73 cd yeoman/cli
74 sudo -s 'npm install -g && npm link'
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
75 ```
fe3d0b9 @paulirish readme updates
paulirish authored
76
6b91fef @addyosmani Adding tweaks to contribution guide, disclaimer for private beta testers
addyosmani authored
77 Please also note that (pre-launch) commands such as `yeoman install`, `yeoman update` and `yeoman search` etc (i.e package management commands) will only work if you have [Bower](http://github.com/twitter/bower) installed. As this is also currently in private beta, please let us know if you need access and we'll sort that out.
eb655aa @addyosmani Adding note about bower access.
addyosmani authored
78
f565bca @addyosmani Updating references to docs, tweaking.
addyosmani authored
79 Should you run into any further problems beyond this, please open a [new issue](https://github.com/yeoman/yeoman/issues/new) and one of the team will be happy to follow up with you.
80
450e42c @paulirish adding rvm to install dependencies. cleanup of readme. Install is eas…
paulirish authored
81 ## Running
fe3d0b9 @paulirish readme updates
paulirish authored
82
d063611 @sindresorhus Improve readme
sindresorhus authored
83 Here's a small shell script that you can save as `server.sh` which opens and serves the current directory:
84
b77cd39 @sindresorhus Cleanup readme
sindresorhus authored
85 ```shell
d063611 @sindresorhus Improve readme
sindresorhus authored
86 #!/usr/bin/env sh
b9b8779 @ebidel Linux support
ebidel authored
87
c14bcac @sindresorhus Add mention about code style and fix indention of code blocks
sindresorhus authored
88 port=$1
d063611 @sindresorhus Improve readme
sindresorhus authored
89 if [ $# -ne 1 ]; then
c14bcac @sindresorhus Add mention about code style and fix indention of code blocks
sindresorhus authored
90 port=8000
91 fi
92
d063611 @sindresorhus Improve readme
sindresorhus authored
93 if [ $(uname -s) == "Darwin" ]; then
c14bcac @sindresorhus Add mention about code style and fix indention of code blocks
sindresorhus authored
94 open=open
95 else
96 open=xdg-open
97 fi
98
99 $open http://localhost:$port && python -m SimpleHTTPServer $port;
b9b8779 @ebidel Linux support
ebidel authored
100 ```
101
d063611 @sindresorhus Improve readme
sindresorhus authored
102 You then need to make it executable: `$ chmod +x server.sh`
b9b8779 @ebidel Linux support
ebidel authored
103
d063611 @sindresorhus Improve readme
sindresorhus authored
104 For example, run this guy as `$ server` (defaults to port 8000), or supply a port yourself `$ server 3000`.
59c0d7f @addyosmani Adding browser support to README.
addyosmani authored
105
c14bcac @sindresorhus Add mention about code style and fix indention of code blocks
sindresorhus authored
106
325ebaa @addyosmani Some more readme tweaks.
addyosmani authored
107
59c0d7f @addyosmani Adding browser support to README.
addyosmani authored
108 ## Browser Support
109
d063611 @sindresorhus Improve readme
sindresorhus authored
110 * Modern browsers (latest version of Chrome, Safari, Firefox, Opera and IE10)
59c0d7f @addyosmani Adding browser support to README.
addyosmani authored
111 * Chrome on Android
112 * Mobile Safari
113
c14bcac @sindresorhus Add mention about code style and fix indention of code blocks
sindresorhus authored
114
8911835 @addyosmani Fixes #127 - improves credits in readme
addyosmani authored
115 ## Platform Support
116
6b91fef @addyosmani Adding tweaks to contribution guide, disclaimer for private beta testers
addyosmani authored
117 Yeoman 1.0 will support OS X and Linux. We will be aiming to bring in support for Windows in a future version of the project.
8911835 @addyosmani Fixes #127 - improves credits in readme
addyosmani authored
118
c14bcac @sindresorhus Add mention about code style and fix indention of code blocks
sindresorhus authored
119 ## Contribute
120
6b91fef @addyosmani Adding tweaks to contribution guide, disclaimer for private beta testers
addyosmani authored
121 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.
122
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
123 ### Repos
124
125 * [Yeoman (CLI, Insights)](http://github.com/yeoman/yeoman)
126 * [Yeoman I/O Holding Page](http://github.com/yeoman/yeoman.io)
d063611 @sindresorhus Improve readme
sindresorhus authored
127 * [Yeoman I/O Site](http://github.com/yeoman/yeoman.io) (site branch)
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
128
c14bcac @sindresorhus Add mention about code style and fix indention of code blocks
sindresorhus authored
129 ### Style Guide
130
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
131 This project follows the [jQuery Style Guide](http://docs.jquery.com/JQuery_Core_Style_Guidelines) with an exception of two space indentation and multiple var statements. 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.
132
b9fe2e5 @sindresorhus Make the CLI code pass JSHint
sindresorhus authored
133 ### Pull Request Guidelines
134
135 - Lint the code by running `grunt` in the `/cli` folder before submitting a pull request
136 - Develop in a topic branch, not master
137
987517f @paulirish update readme with testing info.
paulirish authored
138 ### Tests
139
140 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).
141
b4b6057 @paulirish readme update about testing
paulirish authored
142 To run our test suite:
143
144 ```sh
145 npm test
146 ```
147
b77cd39 @sindresorhus Cleanup readme
sindresorhus authored
148 Do note that if any CLI prompts are not accounted for the test suite will have a timeout failure.
b4b6057 @paulirish readme update about testing
paulirish authored
149
d6c85b5 @paulirish add to readme about our existing developer documentation.
paulirish authored
150 ### Developer Docs
151
b77cd39 @sindresorhus Cleanup readme
sindresorhus authored
152 We have significant developer docs for you if you'd like to hack on Yeoman.
d6c85b5 @paulirish add to readme about our existing developer documentation.
paulirish authored
153
6b91fef @addyosmani Adding tweaks to contribution guide, disclaimer for private beta testers
addyosmani authored
154 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).
d6c85b5 @paulirish add to readme about our existing developer documentation.
paulirish authored
155
b77cd39 @sindresorhus Cleanup readme
sindresorhus authored
156 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.
b9fe2e5 @sindresorhus Make the CLI code pass JSHint
sindresorhus authored
157
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
158 ## About
159
8911835 @addyosmani Fixes #127 - improves credits in readme
addyosmani authored
160 Yeoman is an open-source project by [Google](http://google.com) which builds on top of [Grunt](https://github.com/cowboy/grunt) and [node-build-script](http://github.com/h5bp/node-build-script). We utilize a number of useful open-source solutions including:
161
162 * Twitter Bootstrap
d063611 @sindresorhus Improve readme
sindresorhus authored
163 * HTML5 Boilerplate
8911835 @addyosmani Fixes #127 - improves credits in readme
addyosmani authored
164 * Modernizr
165 * Twitter Bower
d063611 @sindresorhus Improve readme
sindresorhus authored
166 * Node.js
8911835 @addyosmani Fixes #127 - improves credits in readme
addyosmani authored
167 * NPM
168 * Compass
d063611 @sindresorhus Improve readme
sindresorhus authored
169 * Socket.IO
170 * CoffeeScript
171 * Mocha
172 * Jasmine
8911835 @addyosmani Fixes #127 - improves credits in readme
addyosmani authored
173 * PhantomJS
d063611 @sindresorhus Improve readme
sindresorhus authored
174 * And [more...](https://github.com/yeoman/yeoman/wiki/Dependencies)
8911835 @addyosmani Fixes #127 - improves credits in readme
addyosmani authored
175
176 Version 1 of the project features the combined efforts of:
177
d063611 @sindresorhus Improve readme
sindresorhus authored
178 * [Paul Irish](http://paulirish.com)
8911835 @addyosmani Fixes #127 - improves credits in readme
addyosmani authored
179 * [Addy Osmani](http://addyosmani.com)
d063611 @sindresorhus Improve readme
sindresorhus authored
180 * [Mickael Daniel](http://blog.mklog.fr)
181 * [Sindre Sorhus](http://sindresorhus.com)
8bc0352 @ebidel Update master
ebidel authored
182 * [Eric Bidelman](http://ericbidelman.com)
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
183
d063611 @sindresorhus Improve readme
sindresorhus authored
184 and other developers.
f64ffb8 @addyosmani Updating project readme with troubleshooting for install, links to re…
addyosmani authored
185
f565bca @addyosmani Updating references to docs, tweaking.
addyosmani authored
186 We will be aiming to officially release the project in Q3, 2012.
6b91fef @addyosmani Adding tweaks to contribution guide, disclaimer for private beta testers
addyosmani authored
187
188 ## Disclaimer
189
6efe9c8 @sindresorhus Update install instructions
sindresorhus authored
190 If you've been invited to try out the project as a beta tester or contributor, all we ask is that you refrain from publicly publishing/sharing the project sources until we have launched. This is to ensure that the first public version of Yeoman is as stable as possible, but would also stop unicorns from crying. Thanks for understanding :)
Something went wrong with that request. Please try again.