code: function extractFiles(args) {
    var usage = '\n' +
      cyan('USAGE:') + '   hulk [--wrapper wrapper] [--outputdir outputdir] ' +
      '[--namespace namespace] [--variable variable] FILES\n\n' +
      cyan('OPTIONS:') + ' [-w, --wrapper]   :: wraps the template (i.e. amd)\n' +
      '         [-o,  --outputdir] :: outputs the templates as individual files to a directory\n\n' +
      '         [-n,  --namespace] :: prepend string to template names\n\n' +
      '         [-vn, --variable]  :: variable name for non-amd wrapper\n\n' +
      cyan('EXAMPLE:') + ' hulk --wrapper amd ./templates/*.mustache\n\n' +
      cyan('NOTE:') + '    hulk supports the "*" wildcard and allows you to target specific extensions too\n';
    var files = [];
  
    if (options.version) {
      console.log(require('../package.json').version);
      process.exit(0);
    }
  
    if (!args.length || options.help) {
      console.log(usage);
      process.exit(0);
    }
  
    args.forEach(function(arg) {
      if (/\*/.test(arg)) {
        arg = arg.split('*');
        files = files.concat(
          fs.readdirSync(arg[0] || '.')
            .map(function(f) {
              var file = path.join(arg[0], f);
              return new RegExp(esc(arg[1]) + '$').test(f) && fs.statSync(file).isFile() && file;
            })
            .filter(function(f) {
              return f;
            })
        );
        return files;
      }
  
      if (fs.statSync(arg).isFile()) files.push(arg);
    });
  
    return files;
  }
docs: check for dirs and correct ext (<3 for windows)