node package manager


Scaffold what you want.


Scaffold what you want.

This plugin requires Grunt ~0.4.1.

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-scaffold --save-dev

One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:


In your project's Gruntfile, add a section named scaffold to the data object passed into grunt.initConfig().

    scaffold: {
        test: {
            options: {
                questions: [{
                    name: 'name',
                    type: 'input',
                    message: 'Test name:'
                template: {
                    "skeletons/test.js": "test/{{name}}.js"

Type: Array

See Inquirer.js questions for more info.

Type: Object

Map of files to be copied from source to dest.


template: {"skeletons/test.js": "test/{{name}}.js"}

When the prompt for name is answered 'Button', then program processes content of the file skeletons/test.js and copy it to test/Button.js.

Type: Function

Function where user ansers can be modified/adjusted. This function receives the hash of all user answers.


filter: function (result) {
    result['capital-name'] = grunt.util._(;
    return result;

Type: Function

Callback called before templates are processed task.

Type: Function

Callback called after templates are processed task.

This plugin is inspired by grunt-prompt and scaffolding.

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

The MIT License