(DEPRECATED) see ember app kit instead!
JavaScript CSS
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 83 commits ahead, 416 commits behind deprecate:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This project has been deprecated. Don't stress if you've built a project using it - it won't stop functioning or anything - but the template has been superceded by Ember App Kit. Hopefully a Yeoman generator for it will be released soon :)

Charcoal: An alternative Ember generator

This an alternative Ember generator forked from Yeoman's offical Ember Generator.

This generator creates a new Ember project that uses Bower to handle dependencies and builds with Trek's Grunt-Neuter task. It uses a "module" pattern for the file structure rather than the traditional controller, model, view, route, and template folders.

What Charcoal has:

  • A generator for creating a new Ember project, including dependencies via Bower.
  • A default set of smart conventions and Grunt tasks to support it.
  • A generator to create new Ember modules.
  • A guide to building projects with Yeoman+Grunt+Bower+Charcoal.
  • Preconfigured but disabled-by-default static assets tasks. Use only the dependencies you need.

What Charcoal does not have:

Lots of things! See the issues page for a short-term roadmap. I try to keep my development as transparent as possible.


First, if you haven't already, install Yeoman and Charcoal:

npm install -g yo generator-charcoal

After that:

  1. Create a new project folder: mkdir my_project && cd my_project
  2. Run yo charcoal to generate a new project template
  3. Test to make sure it works with grunt server.

A page with "Welcome to Ember.js" should appear in your browser. Refer to the development guide for further information :)


The default Bower configuration includes jQuery, Handlebars, Ember, and Ember Data. The first three are all their latest stable revision, while Ember Data is always pulled from ember-data-latest.js.


  • --skip-install

    Skips the automatic execution of bower and npm after scaffolding has finished.


Testing right now is sort of ad-hoc while I figure out how to automate testing the generators. In the meantime, before a PR:

  • Generate a new application and make sure that grunt server, grunt test, grunt test-server, and grunt build are working properly.
  • Generate a new module and make sure it is loaded successfully.
  • Run grunt jshint to make sure both the application and module are linted properly.


BSD license