A registry system for hosting Brackets extensions powered by node.js
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib Upgraded the request-json version and also updated the check for IPv4… Feb 24, 2017
spec Updated Node version to 6.9.5 and also AWS S3 API (#74) Feb 23, 2017
views remove spaces around '=' Aug 30, 2014
NOTICE Add bootbox license to the notice May 1, 2014
package.json Update package.json Jul 18, 2018


Brackets Extension Registry Build Status

A node.js-powered registry for Brackets extensions.

Note: If you discovered any issue with the extension registry or have an idea for improvement, please file a bug in the brackets issue tracker.


  1. npm install

  2. Create a config folder at the top level. (This will be ignored by git.)

  3. In the config folder, put your SSL cert or create a self-signed cert. The key should be in certificate.key and the cert should be in certificate.cert.

  4. Register a GitHub API client app. The callback URL must match the hostname of your server. For testing, you could enter https://localhost:4040/auth/github/callback.

  5. Also in the config folder, create a config.json file that contains:

    • sessionSecret - key to use for session hashing (required)
    • githubClientId - client id for registered GitHub app (required)
    • githubClientSecret - client secret for registered GitHub app (required)
    • hostname - hostname of the server, defaults to localhost
    • securePort - port to run HTTPS on, defaults to 4040
    • redirectPort - port to run HTTP on, just redirects to securePort, defaults to 4000
    • rss.title - Title used for RSS feed, defaults to ''
    • rss.description - Description used for RSS feed, defaults to ''
    • rss.feedURL - URL used for RSS feed, defaults to '' (this is the URL used in the feed itself, not the URL used for the feed)
    • rss.siteURL - URL used for main site URL in the RSS feed, defaults to '' (see note above, both URLs here are used in the metadata of the feed)
    • admins - a list of "github:username" strings for people that are authorized to administer the packages in the registry
    • aws.accesskey - AWS accesskey is required for saving to S3
    • aws.secretkey - also required for saving to S3
    • s3.bucket - S3 bucket name that is used to store the data
    • sns.topic - If you're using SNS for errors, configure this setting to have the errors sent to SNS
  6. npm start

Debugging REPL

There's an optional REPL available. To set it up:

  1. Add "repl": true to the config.json file.
  2. npm install repl-client -g
  3. npm start
  4. (in another terminal window) rc /tmp/repl/registry.sock

You'll have the Express "app" available as app, and the repository module available as repository.


This project uses a slightly modified version of DropzoneJS. If you need to update it, take a look at the dropzone.js file for CHANGED comments.


This repository also includes the Glyphicons Halflings set that ships with Bootstrap. Thank you to all of the contributors to open source software that we use.