Ember CLI

Version 0.0.0

The command line interface for ambitious web applications

npm install -g ember-cli


Ember CLI is the official command line utility used to create, build, serve, and test Ember.js apps and addons.

It provides a consistent project structure, a powerful addon system, and a fast Broccoli-powered build pipeline. Whether you are looking for a zero-config experience or the ability to make your own customizations, Ember CLI has the tools you need.

There are thousands of JavaScript libraries that work great in Ember. When an npm package offers some Ember-specific conveniences, we call it an “addon.” Ember CLI’s addon system provides a way to create reusable units of code, share components and styling, extend the build tooling, and more — all with minimal configuration. To view a complete list of addons, visit EmberObserver. You can still use your favorite npm packages directly too. If they are not available as addons yet, you can add them into your build pipeline or create your own addon wrappers.

Ember CLI’s asset compilation system has out-of-the-box support for:

Get started.


Ember CLI uses babel, which turns ES2015 module syntax into AMD (RequireJS-esq) modules.

Using a custom resolver, Ember CLI can automatically import modules when needed. For example, the route in routes/post.js will know to use the controller in controllers/post.js and the template in templates/post.hbs. You are not limited to automatic resolution so if your application needs to explicitly include a module, it’s only an import away. Learn more about ES2015 modules here.

Testing using the CLI

All apps built with Ember CLI are preconfigured to use QUnit and Ember QUnit. While these are the default, you are free to use other options such as Mocha and Ember Mocha.

Dependency Management

Ember CLI supports both yarn and npm for managing dependencies.

Runtime Configuration

Ember CLI’s runtime is configurable via a file named .ember-cli. The JSON-formatted file, which must be placed in your home directory, can include any command-line options whose names must be in camel case form. For example:

# ~/.ember-cli
  "skipGit" : true,
  "port" : 999,
  "host" : "",
  "liveReload" : true,
  "environment" : "mock-development",
  "checkForUpdates" : false

Content Security Policy

The ember-cli-content-security-policy addon can be used to to enable the Content Security Policy headers in modern browsers when running the development server.

When enabled, Content Security Policy headers help mitigate certain types of attacks including Cross Site Scripting (XSS) and data injection. Browser support is very good, and the ember-cli-content-security-policy addon makes it easy to build your app with CSP in mind. For example, enabling it on your production stack is a matter of adding headers.


Ember CLI is continuously evolving. It’s an on-going community effort. We welcome your issues and PRs for features, bug fixes, and anything that would improve your quality of life as an Ember developer.

Talk to us here:


Currently, Ember CLI supports Node (latest LTS recommended), npm (3.x and above) or yarn.


A good browser framework is important. But building ambitious web applications also requires excellent tooling and processes. Ember CLI wraps all of this (and much more) into a developer-friendly command-line package.

Among the principal features of Ember CLI are:

  • Project/Addon creation: create new projects quickly without having to worry about project structure;
  • Build pipeline: asset compilation, finger-printing and more out of the box;
  • Generators: use the built-in generators and get files that follow the latest practices, and matching tests;
  • Ember Addons: extend both your application and Ember CLI itself with community solutions.

By sharing the tooling infrastructure that Ember CLI and its addons provide, members of the Ember.js ecosystem can spend more time on the things that make their individual applications unique.