Merge branch 'master' of github.com:openwhisk/WhiskSwiftTools
diff --git a/README.md b/README.md
index af3ce70..d6c3ae2 100644
--- a/README.md
+++ b/README.md
@@ -8,15 +8,38 @@
 ### wsktool  
 A CLI tool that allows developers to install OpenWhisk "projects" into the OpenWhisk backend.  A project contains sets of actions (JS and Swift), triggers, and rules which can be installed with a single command `wsktool install`.  You can do the opposite with `wsktool uninstall`.  You can see an [example of an OpenWhisk project here](https://github.com/openwhisk/openwhisk-package-jira/tree/master/src).
 
-Documentation on the structure of an OpenWhisk project is coming soon.  
+#### wsktool Project Structure
+`wsktool` looks installs code based on the following project structure.  
 
-`wsktool` supports referencing dependencies on OpenWhisk projects in Github.  It will automatically download, bind, and install these with the main project.
+```
+_ Ignored files
+- src
+   |_ root-manifest.json
+   |_ source_code.js                  // JS action in default package and namespace
+   |_ action_source_code.swift        // Swift action in default package and namespace
+   |_ mypackage1                      // package
+          |_mypackage1-manifest.json  // Package specific settings
+          |_source_code.js
+   |_ mypackage2
+          |_source_code.swift
+          
+```
 
+`wsktool` looks for a `src` directory in the project home. It will walk this directory and install/delete OpenWhisk actions, triggers, and rules using the following conventions:
+
+* Actions will be installed for each source code file under src using the filename as the action name.  The file extension indicate the desired runtime.
+* Source code directly underneath src are installed without specifying a namespace or package
+* Directories underneath src indicate packages.  The package name is the directory name
+* Source code inside package directories are installed as members of the package
+* The `root-manifest.json` contains definitions for triggers, rules, sequences, action parameters, and special runtime settings, e.g. Swift3 instead of Swift 2.
+* You can also declare dependencies on other OpenWhisk packages installed in GitHub in the `root-manifest.json`. `wsktool` will automatically download, bind, and install these with the main project. 
+* The `<package-name>-manifest.json` contains package specific settings for actions.  Settings here will override settings in `root-manifest.json`.
+  
 ### WhiskKit
-A Swift 3 set of protocols and classes that lets you implement actions in Xcode.  Provides an Xcode to OpenWhisk bridge via wsktool that allows you to directly install WhiskKit actions into OpenWhisk.
+A Swift 3 set of protocols and classes that lets you implement actions in Xcode.  WhiskKit provides an Xcode to OpenWhisk bridge via `wsktool` that allows you to directly install WhiskKit actions into OpenWhisk.  To access the bridge, add dependency to the `root-manifest.json` where the `src` directory contains an Xcode project.  `wsktool` will search the project for Swift 3 actions.
 
 ## Building
-This code is build using Xcode 8 Beta 2 and is compatible with Swift 3 Tech Preview 2.  
+This code is build using Xcode 8 Beta 3.  
 
 There is a dependency on an ObjC project [ZipArchive](https://github.com/ZipArchive/ZipArchive).  OS X CLI targets and frameworks don't play together very well. The "easiest" way to reference it is to add the code manually to WhiskSwiftTools.  Clone ZipArchive and install per the documentations on the ZipArchive readme. Copy the SSZipArchive folder into the project folder and link to the `libz` library. WhiskSwiftTools includes bridging header file you can reference.