code: function initializeEngine (opts, argv, cb) {
    argv = argv || {}
    cb = cb || noop
    argv.dirname = __dirname
    assert.equal(typeof opts, 'object')
    assert.equal(typeof argv, 'object')
  
    const base = { dependencies: [], devDependencies: [] }
    opts = xtend(base, opts)
  
    const fns = [
      runPre.bind(null, opts.pre, argv),
      createFiles.bind(null, opts.files, argv, opts.templates),
      installDeps.bind(null, opts.devDependencies, '-D ', argv),
      installDeps.bind(null, opts.dependencies, '-S ', argv)
    ]
    series(fns, function (err) {
      if (err) throw err
      cb()
    })
  }
docs: code generation engine (obj, obj, fn) -> null