I think this needs more details. Specially on some parts that @jsantell has pointed out.

1. I think dependency handling should be delegated completely to an npm. So if add-on depends on other libs
    it's users responsibility to install them. We'll recommend and support `npm install` by which I mean loader
    will follow [node's module search logic](http://nodejs.org/api/modules.html#modules_file_modules)
2. I think providing node way to load shims for node core APIs should also be possible, I was suggesting
    adding something like `sdk-aliases` field in `package.json` to do that:

 ```json
      {
       "name": "my-addon",
        "dependencies": {
          "sdk-net-shim": "*"
        },
        "sdk-aliases": {
          "fs": "sdk/io/fs",
          "net": "sdk-net-shim/net"
         },
         "scripts": {
           "xpi": "zip ./my-addon.xpi -r ./",
           "postinstall": "npm run xpi && firefox --addon-install ./my-addon.xpi && rm ./my-addon.xpi",
           "preuninstall": "firefox --addon-uninstall my-addon",
           "start": "firefox --addon-register ./",
           "stop": "firefox --addon-disable my-addon",
           "restart": "npm stop && npm start",
         }
       }
 ```