def init()

in src/databao_context_engine/cli/commands.py [0:0]


def init(ctx: Context) -> None:
    """
    Create an empty Databao Context Engine project
    """
    project_dir = ctx.obj["project_dir"]
    try:
        init_project_dir(project_dir=project_dir)
    except InitProjectError as e:
        if e.reason == InitErrorReason.PROJECT_DIR_DOESNT_EXIST:
            if click.confirm(
                f"The directory {ctx.obj['project_dir'].resolve()} does not exist. Do you want to create it?",
                default=True,
            ):
                create_project_dir(project_dir=project_dir)
                init_project_dir(project_dir=project_dir)
            else:
                return
        else:
            raise e

    click.echo(f"Project initialized successfully at {project_dir.resolve()}")

    try:
        resolve_ollama_bin()
    except RuntimeError as e:
        click.echo(str(e), err=True)

    if click.confirm("\nDo you want to configure a datasource now?"):
        add_datasource_config_cli(project_dir)