Skip to content


Subversion checkout URL

You can clone with
Download ZIP


        /          /         
   _   /_  __.  __/  __ , , ,
  /_)_/ /_(_/|_(_/_ (_)(_(_/_
  |     ||  _  ||        |
  |__|__||   __||__|__|__|


use npm to manage your private modules, without having to replicate all of npm.


create a private registry named rego for npm users you and your friends jim, paul, and emma

curl -X PUT ',paul,emma'

publish a module to it!

npm config set always-auth true
cd path/to/private/module
npm publish --registry

How it Works

shadow-npm works a lot like putting something at the front of your $PATH when searching for a module, look there first, and if you don't find it, check the next place in the chain.

shadow-npm does this for npm, by proxying all requests, it checks for modules in your private npm first. then, if it does not find them, it will retrive them from the real npm! this works even if you have a private module with open source dependencies!

Trouble Shooting

post issues here:

if something does not work on shadow-npm, but it does with regular npm, post the issue here. do not post the issue on npm's github page.

this is a test launch, so bugs are expected. all feedback is warmly welcomed!

send to either:


  npm search --registry


today, there is only http. I'll get https tomorrow. must sleep now.

User Authentication

shadow-npm copies your couchdb user from the npm registry, and uses couchdb to auth against it. the your password is hashed, and shadow-npm never reads it.

read the shadow-npm code here:


MIT licence, Dominic Tarr, 2011.

(not isaacs, joyent, etc. please don't bug them if this doesn't work)

Something went wrong with that request. Please try again.