async function runNewProjectWizard(options) {
  const repoSlug = getGitHubRepoSlug();
  const fallbackProjectName = path.basename(process.cwd());
  const [defaultProjectName = fallbackProjectName] = (repoSlug && repoSlug.match(/[^/]+$/)) || [];

  const responses = await inquirer.prompt([
    {
      type: 'input',
      name: 'serverBaseUrl',
      message: 'What is the URL of your LHCI server?',
      default: options.serverBaseUrl || 'https://your-lhci-server.example.com/',
    },
    {
      type: 'input',
      name: 'projectName',
      message: 'What would you like to name the project?',
      validate: input => !!input.length,
      default: defaultProjectName,
    },
    {
      type: 'input',
      name: 'projectExternalUrl',
      message: "Where is the project's code hosted?",
      default: `https://github.com/${repoSlug || '<org>/<repo>'}`,
    },
    {
      type: 'input',
      name: 'projectBaseBranch',
      message: "What branch is considered the repo's trunk or main branch?",
      default: 'main',
    },
  ]);

  const api = new ApiClient({
    fetch,
    ...options,
    rootURL: responses.serverBaseUrl || options.serverBaseUrl,
  });
  const project = await api.createProject({
    name: responses.projectName,
    externalUrl: responses.projectExternalUrl,
    baseBranch: responses.projectBaseBranch,
    slug: '', // this property is dynamically generated server-side
  });

  const token = project.token;
  const adminToken = project.adminToken;
  const adminWarning = 'to manage data. KEEP THIS SECRET!';
  process.stdout.write(`Created project ${project.name} (${project.id})!\n`);
  process.stdout.write(`Use build token ${log.bold}${token}${log.reset} to add data.\n`);
  if (adminToken) {
    process.stdout.write(`Use admin token ${log.bold}${adminToken}${log.reset} ${adminWarning}\n`);
  } else {
    process.stdout.write(
      [
        `WARNING: The server you've used is out-of-date and cannot issue admin tokens.`,
        `         Upgrade your server to take advantage of administrator functions.`,
        '',
      ].join('\n')
    );
  }
}
@param {LHCI.WizardCommand.Options} options
@return {Promise<void>}