Skip to content

Commit

Permalink
Massively improve the readme. Make it more focused.
Browse files Browse the repository at this point in the history
  • Loading branch information
sindresorhus committed Jan 24, 2013
1 parent c1583ee commit aeed6eb
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 88 deletions.
6 changes: 6 additions & 0 deletions contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ In order for us to help you please check that you've completed the following ste
* Included as much information about the bug as possible, including any output you've received, what OS and version you're on, etc.
* Shared the output from `echo $PATH $NODE_PATH` and `brew doctor` as this can also help track down the issue.

[Submit your issue](https://github.com/yeoman/yeoman/issues/new)


## Repos

Expand All @@ -35,6 +37,7 @@ Other projects require a similar agreement: jQuery, Firefox, Apache, and many mo

[More about CLAs](https://www.google.com/search?q=Contributor%20License%20Agreement)


## Quick Start

* Clone this repo and `cd` into it
Expand All @@ -45,14 +48,17 @@ Other projects require a similar agreement: jQuery, Firefox, Apache, and many mo

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.


### Generators

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.


### Insight

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.


## Style Guide

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.
Expand Down
141 changes: 53 additions & 88 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,108 +1,88 @@
# Welcome, Friend! [![Build Status](https://secure.travis-ci.org/yeoman/yeoman.png?branch=master)](http://travis-ci.org/yeoman/yeoman)

## What am I?
Yeoman is a robust and opinionated client-side stack, comprising 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. Builds upon great tools like [grunt](http://gruntjs.com) the task runner, [bower](http://twitter.github.com/bower/) the package manager for the web, and our own homebrewed [generator system](https://github.com/yeoman/generators).

Yeoman is a robust and opinionated client-side stack, comprising 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.
## [Website](http://yeoman.io)   [Documentation](https://github.com/yeoman/yeoman/wiki)   [Submit issue](https://github.com/yeoman/yeoman#issue-submission)

![image](http://yeoman.io/media/yeoman-masthead.png)

Yeoman is fast, performant and is optimized to work best in modern browsers.

For more information about the project, see [yeoman.io](http://yeoman.io).
## Installation

npm install -g yeoman

*Node.js 0.8.x required*

## Installation

Try the audit script to see what you need in place:

```shell
curl -L get.yeoman.io | bash
```
curl -L get.yeoman.io | bash

You can follow its guidance or simply walk through the [installation procedure](https://github.com/yeoman/yeoman/wiki/Manual-Install).

*Yeoman requires Node 0.8.x*


## Issue submission

Make sure you've read the [issue submission guidelines](https://github.com/yeoman/yeoman/blob/master/contributing.md#issue-submission) before you open a [new issue](https://github.com/yeoman/yeoman/issues/new).


## Documentation
## Overview

For more information on Yeoman, please read our [complete documentation](https://github.com/yeoman/yeoman/tree/master/docs/cli).
Yeoman supports a powerful set of high-level commands:

Yeoman supports a powerful set of high-level commands. These include:

```shell
yeoman init # Initialize and scaffold a new project using generator templates
yeoman build # Build an optimized version of your app, ready to deploy
yeoman server # Launch a preview server which will begin watching for changes
yeoman test # Run a Mocha test harness in a headless PhantomJS

yeoman install # Install a package from the client-side package registry
yeoman uninstall # Uninstall the package
yeoman update # Update a package to the latest version
yeoman list # List the packages currently installed
yeoman search # Query the registry for matching package names
yeoman lookup # Look up info on a particular package
```
init # Initialize and scaffold a new project using generator templates
build # Build an optimized version of your app, ready to deploy
server # Launch a preview server which will begin watching for changes
test # Run a Mocha test harness in a headless PhantomJS
install # Install a package from the clientside package registry
uninstall # Uninstall the package
update # Update a package to the latest version
list # List the packages currently installed
search # Query the registry for matching package names
lookup # Look up info on a particular package
```

### Example usage

A common initial workflow with Yeoman might be:

```shell
yeoman init # Invoke the most basic application scaffold (Bootstrap, Boilerplate etc.)
yeoman server # Fire off a file watch/server process which also places an
# intermediate build of your project in `temp`
yeoman build # Build your project, creating an optimized version in a new `dist` directory
yeoman server:dist # Serve up the production-ready version of your application
yeoman init # Invoke the most basic application scaffold (Bootstrap, Boilerplate etc.)
yeoman server # Fire off a file watch/server process which also places an
# intermediate build of your project in `temp`
yeoman build # Build your project, creating an optimized version in a new `dist` directory
yeoman server:dist # Serve up the production-ready version of your application
yeoman test # Test your app
```

Some more examples of how to use our commands include:
Some more examples of how to use our commands:

```shell
# Generators for MVC/MV* Frameworks
yeoman init bbb # Backbone Boilerplate generator scaffold
yeoman init ember # Create a "Hello World" Yeoman project with the Ember Starter Kit
yeoman init backbone # Backbone-Rails generator scaffold
yeoman init angular # Invoke the AngularJS generator scaffold
yeoman init angular:controller # Invoke the AngularJS Controller sub-generator

# Generator for Chrome Apps
yeoman init chromeapp

# Additional server profiles
yeoman server:app # Serves up an intermediate build of your application
yeoman server:dist # Serves up a production build, if you've built before
yeoman server:test # Serves your test suite
# Generators
yeoman init ember # Create a "Hello World" Yeoman project with the Ember Starter Kit
yeoman init backbone # Backbone-Rails generator scaffold
yeoman init angular # Invoke the AngularJS generator scaffold
yeoman init angular:controller name # Invoke the AngularJS Controller sub-generator

# Package management
yeoman search jquery # Lookup jQuery in the Bower registry
yeoman install jquery underscore [depName] # Install a dependency or dependencies
yeoman update jquery # Update a specific dependency (e.g jquery)
yeoman search jquery # Lookup jQuery in the Bower registry
yeoman install jquery underscore [depName] # Install a dependency or dependencies
yeoman update jquery # Update a specific dependency (e.g jquery)
```

![image](http://yeoman.io/media/yeoman-packages.png)

We also have [extended documentation](https://github.com/mklabs/yeoman/wiki/_pages) available for those more interested in the Yeoman internals.


#### Bower

Yeoman uses [Bower](http://twitter.github.com/bower/) as its package manager. The Bower registry is currently being populated, you may find that certain packages work and others do not. We are actively working with the Bower team to resolve this issue and hope to have fully functional packages in place upon launch.
Yeoman uses [Bower](http://twitter.github.com/bower) as its package manager. The Bower registry is currently being populated, you may find that certain packages work and others do not. We are actively working with the Bower team to resolve this issue.


## Browser Support

* Modern browsers (latest version of Chrome, Safari, Firefox, Opera and IE10)
* Chrome on Android
* Mobile Safari
![image](http://yeoman.io/media/yeoman-packages.png)


## Platform Support

Yeoman 1.0 will support OS X, Linux and FreeBSD. We will be aiming to bring in support for Windows in a [future](https://github.com/yeoman/yeoman/issues/216) version of the project.
Yeoman supports OS X, Linux, FreeBSD, with partial Windows support. We will be aiming to bring in full support for Windows in a [future](https://github.com/yeoman/yeoman/wiki/Manual-Install) version.


## Contribute
Expand All @@ -118,38 +98,23 @@ See the [contributing docs](https://github.com/yeoman/yeoman/blob/master/contrib
- [\#yeoman](irc://irc.freenode.net:6667) on Freenode *(or [webchat](http://webchat.freenode.net))*
- [Google+](https://plus.google.com/101063139999404044459/posts) *(follow for updates)*
- [Twitter](https://twitter.com/yeoman)
- [Media assets](https://github.com/yeoman/yeoman.io/tree/gh-pages/media)
- [Available components](http://sindresorhus.com/bower-components/)


## About

Yeoman is an open-source project by [Google](http://google.com) which builds on top of [Grunt](https://github.com/gruntjs/grunt) and [node-build-script](http://github.com/h5bp/node-build-script). We utilize a number of useful open-source solutions including:

* Twitter Bootstrap
* HTML5 Boilerplate
* Modernizr
* Twitter Bower
* Node.js
* NPM
* Compass
* Socket.IO
* CoffeeScript
* Mocha
* Jasmine
* PhantomJS
* And [more...](https://github.com/yeoman/yeoman/wiki/Tools-Used)

Version 1 of the project features the combined efforts of:
## Team

* [Paul Irish](http://paulirish.com)
* [Addy Osmani](http://addyosmani.com)
* [Mickael Daniel](http://blog.mklog.fr)
* [Sindre Sorhus](http://sindresorhus.com)
* [Eric Bidelman](http://ericbidelman.com)
* [Frederick Ros](https://github.com/sleeper)
Yeoman was beautifully crafted by these people and bunch of awesome [contributors](https://github.com/yeoman/yeoman/graphs/contributors)

and other developers.
[![Paul Irish](http://www.gravatar.com/avatar/ffe68d6f71b225f7661d33f2a8908281.png?s=40)Paul Irish](http://paulirish.com) 
[![Addy Osmani](http://www.gravatar.com/avatar/96270e4c3e5e9806cf7245475c00b275.png?s=40)Addy Osmani](http://addyosmani.com) 
[![Mickael Daniel](http://www.gravatar.com/avatar/a23615915f0baf096b94cc9df93fc327.png?s=40)Mickael Daniel](http://blog.mklog.fr) 
[![Sindre Sorhus](http://www.gravatar.com/avatar/d36a92237c75c5337c17b60d90686bf9.png?s=40)Sindre Sorhus](http://sindresorhus.com) 
[![Eric Bidelman](http://www.gravatar.com/avatar/e7948aac7c52b26470be80311873a398.png?s=40)Eric Bidelman](http://ericbidelman.com)
[![Frederick Ros](http://www.gravatar.com/avatar/4605de69c4c3af3f48b8e829206cd4c2.png?s=40)Frederick Ros](https://github.com/sleeper)


## License

Yeoman is released under a [BSD](http://opensource.org/licenses/bsd-license.php) license.
[BSD license](http://opensource.org/licenses/bsd-license.php)
Copyright (c) Google

0 comments on commit aeed6eb

Please sign in to comment.