Started rewriting package.json files so that any github dependencies are downloaded into the NPM cache dir, then the dependency is rewritten to look like a normal NPM dependency. This means the client doesn't need to clone anything from github. Next step is to open the packages and rewrite the package.json within before saving.