def start(*, path, name, verbose, **kwargs):
    """
    Create a new aiohttp app.
    """
    setup_logging(verbose)
    try:
        check_dir_clean(Path(path))
        if name is None:
            name = Path(path).name

        for kwarg_name, choice_enum in DECISIONS:
            docs = dedent(choice_enum.__doc__).split('\n')
            title, *help_text = filter(bool, docs)
            click.secho('\n' + title, fg='green')
            if kwargs[kwarg_name] is None:
                click.secho('\n'.join(help_text), dim=True)
                choices = _display_enum_choices(choice_enum)
                kwargs[kwarg_name] = click.prompt(
                    'choose which {} to use {}'.format(kwarg_name, choices),
                    type=EnumChoice(choice_enum),
                    show_default=False,
                    default=enum_default(choice_enum),
                )
            click.echo('using: {}'.format(click.style(kwargs[kwarg_name], bold=True)))
            continue

        StartProject(path=path, name=name, **kwargs)
    except AiohttpDevException as e:
        main_logger.error('Error: %s', e)
        sys.exit(2)
Create a new aiohttp app.