The registry is our directory of all of the apps, connectors, and collections. It's based on npm and is built into the locker.
An empty/new Locker (no Me dir) needs a dashboard UI and minimum set of collections/apps to get up and running, the defaults are defined in lconfig and can be overridden by a the local Config/config.js.
The first time lockerd is started it will talk to the registry to install each of these packages locally, they are stored in the Me/node_modules/* dir.
When an app is added (via the dashboard) or when the auth process starts by hitting /auth/:connectorhandle the newest signed versions are installed from the registry and dynamically loaded into the map and available for immediate use.
When modifying any service (app/connector/collection) and testing it via a local locker, you can upsert it into the map so that the locker points to your modified source directory instead of the registry installed one. In the directory of the modified service (where it's package.json is) you run
node path/to/Ops/upsert.js and it hot-replaces the running copy, hitting /Me/:servicehandle will then be using your code, yay!
Right now it's best to fork and submit a pull request instead of publishing new ones directly to the registry, but if you're comfortable hacking you can publish directly using npm commands and uploading any art and filing any issues (see our publish.js util).
Built into the new dashboard is a form/tool to publish newly developed or updated apps. It gets the list of apps from your connected github account, so any repo that looks like an app (has an index.html file) will show up there and can be tested/published. Once published they will go into a verification queue and then be signed so that they are available to install to any locker anywhere!