code: function createFiles (files, argv, templates, cb) {
    if (!templates) {
      const parent = path.resolve(module.parent.filename)
      templates = path.join(parent, '../templates')
    }
  
    const dir = argv.directory
    parallel(files.map(mapFn), cb)
  
    function mapFn (file) {
      const tempDir = path.resolve(templates)
      const inFile = path.join(tempDir, file.replace(/^\./, '_.'))
      const outFile = path.resolve(path.join(dir, file))
  
      return function (done) {
        fs.createReadStream(inFile)
          .pipe(through(transform))
          .pipe(fs.createWriteStream(outFile))
          .on('error', done)
          .on('finish', function () {
            process.stdout.write('write: ' + outFile + '\n')
            done()
          })
  
        function transform (chunk, enc, cb) {
          const str = chunk.toString()
          const mt = mustache.render(str, argv)
          cb(null, mt)
        }
      }
    }
  }
docs: create files (obj, obj, str, fn) -> null