I have been experimenting with a tool called volo:
It is a tool to bootstrap a new projects from project templates on
github, and install dependencies. I'm trying to see how far it works
by using github as the package repository. I know in the grand vision
some companies will want to run their own private repositories, and I
think that still works with this system, it just means having that
kind of repository implement the parts of the github API used by the
client tool. It is a pretty simple API that is used too.
The big thing though is that it means for the default simple case
there is already a robust repo available, and the ability to use forks
has already been proven useful for requirejs, since the amdjs group is
running forks of underscore and backbone.
I also documented the rules that "volo add" uses to know what to take
out of a tar.gz that is fetched from github for a user/repo/versiontag
The important thing is that it tries to only extract what is needed,
but not keep things like test directories.
I am able to install dojo with this system. For node/commonjs
packages, it will do AMD conversion on them. For plain "browser
globals" scripts, if "depends" and "exports" is passed, it will wrap
them in AMD with dependencies and export a module value.
What it does not do right now is fetch nested dependencies. I talk
about that a bit in that add-dependency-rules wiki page above though.
Sharing this in case we can coordinate on some things. Feel free to
point out problems with the approach too.