This repository has been archived by the owner. It is now read-only.
Scaffold out a Backbone.js project
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.editorconfig Update .editorconfig Apr 13, 2013
.gitattributes Add dotfiles Nov 24, 2012
.gitignore ignoring coverage directory Dec 26, 2013
.travis.yml change stabe => 4 Sep 11, 2015 Add readme Nov 24, 2012
package.json Not active anymore. Fixes 💩 #328 Apr 24, 2015
util.js Fix script tags not being added to index file, fixes #364 Sep 30, 2015

Backbone.js generator Build Status Coverage Status

A Backbone generator for Yeoman that provides a functional boilerplate Backbone app out of the box. You also get access to a number of sub-generators which can be used to easily create individual models, views, collections and so on.

Optional RequireJS (AMD) support has recently been added as a prompt when using the generator on new projects.


Install: npm install -g generator-backbone

Make a new directory and cd into it:

mkdir my-new-project && cd $_

Run yo backbone, optionally passing an app name:

yo backbone [app-name]


Available generators:

  • backbone:model
  • backbone:view
  • backbone:collection
  • backbone:router
  • backbone:all

Typical workflow

yo backbone # generates your application base and build workflow
yo backbone:model blog
yo backbone:collection blog
yo backbone:router blog
yo backbone:view blog
grunt serve

Also checkout this NetTuts write-up for a guide to building Backbone.js apps using this generator.


  • --appPath

    Generate scaffold into a custom directory.

  • --coffee

    Generate scaffolds in CoffeeScript. By default check if project uses CoffeeScript.

  • --requirejs

    Generate scaffolds using RequireJS (AMD) Loader. By default check if project uses RequireJS.

  • --skip-install

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

  • --test-framework=[framework]

    Defaults to mocha. Can be switched for another supported testing framework like jasmine.

  • --template-framework=[framework]

    Defaults to lodash templating with grunt-contrib-jst. handlebars and mustache are also supported.

A note regarding JST templates and strict mode

If you use strict mode in your app and JST templates the default grunt-jst implementation will cause your app to error out as the templates will be precompiled using a 'with' statement.

This can be addressed by changing the jst grunt task as follows:

jst: {
    compile: {
                variable: 'data'
        files: {
            '.tmp/scripts/templates.js': ['<%= %>/scripts/templates/*.ejs']

A result of this change is that your template variable definitions must also be updated from <%= templateVariable %> to <%= data.templateVariable %>. More information on this can be found in the Underscore documentation.


See the contributing docs

When submitting an issue, please follow the guidelines. Especially important is to make sure Yeoman is up-to-date, and providing the command or commands that cause the issue.

When submitting a bugfix, write a test that exposes the bug and fails before applying your fix. Submit the test alongside the fix.

When submitting a new feature, add tests that cover the feature.


BSD license