Clarify instructions for new team members
diff --git a/README.md b/README.md
index 5358762..aa70e17 100644
--- a/README.md
+++ b/README.md
@@ -1,59 +1,120 @@
Mojo
====
-This repo uses gclient to manage dependencies, so to build things from this
-repo you have to first download depot_tools and make sure it is in your path:
+Mojo is an effort to extract a common platform out of Chrome's renderer and plugin processes that can support multiple types of sandboxed content, such as HTML, Pepper, or NaCl.
-http://www.chromium.org/developers/how-tos/install-depot-tools
+## Set up your environment
-Then, create a directory somewhere for your checkout, cd into it,
-and run the following commands:
+The instructions below only need to be done once. Note that a simple "git clone" command is not sufficient to build the source code because this repo uses the gclient command from depot_tools to manage most third party dependencies.
+
+1. Download depot_tools and make sure it is in your path:<br>http://www.chromium.org/developers/how-tos/install-depot-tools<br>
+
+2. Create a directory somewhere for your checkout, cd into it, and run the following commands:
+
```
$ fetch mojo # use --target_os=android if you want an Android build.
$ cd src
$ ./build/install-build-deps.sh
-```
-
-This creates a directory called 'src' under your checkout directory, clones
-the repository and its dependencies, and installs any packages needed to build.
-
-You can then build Mojo by running:
-
-```
$ gn gen out/Debug
-$ ninja -C out/Debug root
```
-If you're a Googler and want to use Goma:
+The "fetch mojo" command does the following:
+- creates a directory called 'src' under your checkout directory
+- clones the repository using git clone
+- clones dependencies with gclient sync
+
+Finally, "install-build-deps.sh" installs any packages needed to build.
+
+If the fetch command fails, you will need to delete the src directory and start over.
+
+## Build Mojo
+
+Build Mojo by running:
+
```
-$ gn args out/Debug
+$ ninja -C out/Debug -j 10 root
```
-and add
-```
-use_goma = true
-```
+The "root" parameter specifies the target to build, it's not a special keyword. You can find the "root" target in src/BUILD.gn.
-Assuming Goma is installed in the default location (~/goma).
+(If you are a Googler, see the section at the end of this document for faster builds.)
+You can also use the mojob.py script for building. This script automatically calls ninja and sets -j to an appropriate value based on whether Goma is present. You cannot specify a target name with this script.
+```
+mojo/tools/mojob.py build
+```
Run a demo:
```
mojo/tools/mojo_demo.sh --browser
```
-
-
Run the tests:
```
mojo/tools/mojob.py test
```
+## Update your repo
-To land a patch:
+You can update your repo like this:
+```
+$ gclient sync
+$ git pull --rebase
+```
+
+You do not need to rerun "gn gen out/Debug". Ninja will do so automatically as needed.
+
+## Contribute
+
+With git you should make all your changes in a local branch. Once your change is committed, you can delete this branch.
+
+Create a local branch named "mywork" and make changes to it.
+```
+ cd src
+ git new-branch mywork
+ vi ...
+```
+Commit your change locally (this doesn't commit your change to the SVN or Git server)
+
+```
+ git commit -a
+```
+If you added new files, you should tell git so by running `git add <files>` before committing.
+
+Upload your change for review
+
+```
+ git cl upload
+```
+
+Respond to review comments
+See <a href="http://www.chromium.org/developers/contributing-code">Contributing code</a> for more detailed git instructions, including how to update your CL when you get review comments. There's a short tutorial that might be helpful to try before your first change: <a href="http://dev.chromium.org/developers/cpp-in-chromium-101-codelab">C++ in Chromium 101</a>.
+
+To land a change after receiving LGTM:
```
$ git cl land
```
-Don't break build! Waterfall is here: http://build.chromium.org/p/client.mojo/waterfall .
+Don't break the build! Waterfall is here: http://build.chromium.org/p/client.mojo/waterfall
+
+## Googlers
+
+If you're a Googler, you can use Goma, a distributed compiler service for open-source projects such as Chrome and Android. The instructions below assume that Goma is installed in the default location (~/goma).
+
+To enable Goma, update your "args.gn" file. Open the file in your editor with this command:
+```
+$ gn args out/Debug
+```
+
+Add this line to the end of the file:
+```
+use_goma = true
+```
+
+After you close the editor, the "gn args" command will automatically run "gn gen out/Debug" again.
+
+Now you can dramatically increase the number of parallel tasks:
+```
+$ ninja -C out/Debug -j 1000 root
+```