A JavaScript toolkit for building edX user interfaces.
JavaScript Ruby
Clone or download


edX UI Toolkit

A JavaScript toolkit for building edX user interfaces.

GitHub version npm version Bower version CoverageStatus

Table of Contents

  1. Overview
  2. License
  3. Contributions
  4. Getting Started
  5. Linting
  6. Tests
  7. Documentation


This library contains the following:

  • Backbone views to implement patterns as defined by the edX Pattern Library: http://ux.edx.org/
  • Utility methods to simplify the creation and testing of user interfaces


The code in this repository uses the Apache 2.0 license unless otherwise noted. Please see the LICENSE file for details.


Contributions are very welcome. The easiest way is to fork this repo, and then make a pull request from your fork. The first time you make a pull request, you may be asked to sign a Contributor Agreement.

Please refer to our contributor guidelines for important additional information.

Getting Started

The UI Toolkit uses Node 8 to manage its dependencies. To work with the repo locally, you will need to have Node 8 installed. We recommend using n to manage node versions on your machine.

  1. Get the code (e.g. clone the repository).

  2. Install the Node requirements:

     $ npm i


    $ gulp lint


To run tests in headless mode:

    $ gulp test

To run tests in debug mode:

    $ gulp test-debug

Once tests are running in debug mode, open this URL:



The UI Toolkit has auto-generated documentation available here: http://ui-toolkit.edx.org/.

To generate this documentation, run the following command:

    $ gulp doc

To upload a preview of the documentation to S3:

    $ gulp preview

To update the hosted documentation:

    $ gulp doc-publish