async function initSkeleton(alias, rootPath) {
  if (!alias) {
    alias = process.env.BRUNCH_INIT_SKELETON || 'https://github.com/brunch/dead-simple';
  }
  const cwd = process.cwd();
  rootPath = sysPath.resolve(rootPath || cwd);

  if (alias == null || alias === '.' && rootPath === cwd) {
    return printErrorBanner();
  }

  if (await exists(sysPath.join(rootPath, 'package.json'))) {
    const error = new Error(`Directory "${rootPath}" is already an npm project`);
    error.code = 'ALREADY_NPM_PROJECT';
    throw error;
  }

  // Copy skeleton from file system. Returns Promise.
  const skeleton = skeletons.urlFor(alias) || alias;
  const skeletonExists = await exists(skeleton);
  const rPath = skeletonExists ? skeleton : await clone(skeleton);
  await fs.promises.mkdir(rootPath, {recursive: true, mode: rwxrxrx});

  const relative = sysPath.relative(cwd, rootPath);
  logger.info(`Copying local skeleton to "${relative}"...`);
  const timer = Date.now();
  await ncp(rPath, rootPath, {
    filter: path => !/^\.(git|hg)$/.test(sysPath.basename(path))
  });

  const difference = Date.now() - timer;
  if (difference > 30) {
    logger.info('Created skeleton directory layout');
  }
  await installDeps(rootPath, {logger});
  return true;
}
@param {string} alias filesystem path or skeleton url
@param {string} rootPath
@returns {Promise<boolean>}