Ember is made up of several libraries. If you wish to add a feature or fix a bug please file a pull request against the appropriate repository. Be sure to check the libraries listed below before making changes in the Ember repository.

# Main Repositories
**Ember.js** - The main repository for Ember.

* [https://github.com/emberjs/ember.js](https://github.com/emberjs/ember.js)

**Ember Data** - A data persistence library for Ember.

* [https://github.com/emberjs/data](https://github.com/emberjs/data)

**Ember Website** - Source for [http://emberjs.com](http://emberjs.com)

* [https://github.com/emberjs/website](https://github.com/emberjs/website)

**Ember Guides** - Source for [http://guides.emberjs.com](http://guides.emberjs.com) which you are currently reading.

* [https://github.com/ember-learn/guides-source](https://github.com/ember-learn/guides-source)
* [https://github.com/ember-learn/guides-app](https://github.com/ember-learn/guides-app)

# Libraries Used By Ember

These libraries are part of the Ember asset output, but development of them takes place in a separate repository.

## `Backburner`
* **backburner.js** - Implements the Ember run loop.
* [https://github.com/ebryn/backburner.js](https://github.com/ebryn/backburner.js)

## `DAG Map`
* **dag-map** - A directed acyclic graph data structure for JavaScript
* [https://github.com/krisselden/dag-map](https://github.com/krisselden/dag-map)

## `Glimmer 2`
* **glimmer** - Implements the really fast rendering engine now included in Ember
* [https://github.com/tildeio/glimmer](https://github.com/tildeio/glimmer)

## `HTMLBars`
* **htmlbars** - The syntax for templating most often used with Ember
* [https://github.com/tildeio/htmlbars](https://github.com/tildeio/htmlbars)

## `morph-range`

* **morph-range** - Used by Ember for manipulating the text nodes known as morphs which are created for HTMLBars to keep track of text that could change.
* [https://github.com/krisselden/morph-range](https://github.com/krisselden/morph-range)

## `Route Recognizer`

* **route-recognizer** - A lightweight JavaScript library that matches paths against registered routes.
* [https://github.com/tildeio/route-recognizer](https://github.com/tildeio/route-recognizer)

## `router.js`

* **router.js** - A lightweight JavaScript library that builds on route-recognizer and RSVP to provide an API for handling routes.
* [https://github.com/tildeio/router.js](https://github.com/tildeio/router.js)

## `RSVP`

* **rsvp.js** - Implementation of the of Promises/A+ spec used by Ember.
* [https://github.com/tildeio/rsvp.js](https://github.com/tildeio/rsvp.js)
