var command = {
  command: 'create',
  description: 'Helper to create new contracts, migrations and tests',
  builder: {
    all: {
      type: "boolean",
      default: false
    },
    force: {
      type: "boolean",
      default: false
    }
  },
  help: {
    usage: "truffle create (contract|migration|test) <ArtifactName>",
    options: [
      {
        option: "contract",
        description: "Create a new contract definition and file contracts/ArtifactName.sol.",
      },{
        option: "migration",
        description: "Create a new migration and file migrations/###########_artifact_name.js.",
      },{
        option: "test",
        description: "Create a new test and file tests/artifact_name.js.",
      },{
        option: "<ArtifactName>",
        description: "Name of new artifact.",
      },
    ]
  },
  run: function (options, done) {
    var Config = require("truffle-config");
    var ConfigurationError = require("../errors/configurationerror");
    var create = require("../create");

    var config = Config.detect(options);

    var type = config.type;

    if (type == null && config._.length > 0) {
      type = config._[0]
    }

    var name = config.name;

    if (name == null && config._.length > 1) {
      name = config._[1];
    }

    if (type == null) {
      return done(new ConfigurationError("Please specify the type of item to create. Example: truffle create contract MyContract"));
    }

    if (name == null) {
      return done(new ConfigurationError("Please specify the name of item to create. Example: truffle create contract MyContract"));
    }

    if (!/^[a-zA-Z_$][a-zA-Z_$0-9]*$/.test(name)) {
      return done(new ConfigurationError("The name " + name + " is invalid. Please enter a valid name using alpha-numeric characters."));
    }

    var fn = create[type];

    if (fn == null) return done(new ConfigurationError("Cannot find creation type: " + type));

    var destinations = {
      "contract": config.contracts_directory,
      "migration": config.migrations_directory,
      "test": config.test_directory
    };

    create[type](destinations[type], name, options, done);
  }
}

module.exports = command;

@@ -285,33 +285,23 @@
 ate 
-(contract%7Cmigration%7Ctest)
+%3Cartifact_type%3E
  %3CAr
@@ -354,24 +354,31 @@
 ption: %22
-contract
+%3Cartifact_type%3E
 %22,%0A     
@@ -411,160 +411,276 @@
 new 
-contract definition and file contracts/ArtifactName.sol.%22,%0A      %7D,%7B%0A        option: %22migration%22,%0A        description: %22Create a new migration and file 
+artifact where artifact_type is one of the following: %22 +%0A          %22contract, migration%5Cn                    or test. The new artifact is created %22 +%0A          %22along with one of the following files:%5Cn                    %60contracts/ArtifactName.sol%60, %22 +%0A          %22%60
 migr
@@ -690,23 +690,16 @@
 ons/####
-#######
 _artifac
@@ -707,38 +707,35 @@
 _name.js
-.%22,%0A 
+%60 or%5Cn
      
-%7D,%7B%0A
         
 option: 
@@ -730,73 +730,16 @@
     
-option: %22test%22,%0A        description: %22Create a new test and file 
+       %60
 test
@@ -756,17 +756,29 @@
 _name.js
-.
+%60. (required)
 %22,%0A     

Update the help information for the create command