def METHOD_NAME(dbt_project_path=None, options: dict = None) -> RecipeModel:
    """
    Create the base recipe
    """
    base = RecipeModel()
    if tool().git_branch() is not None:
        if options.get('base_branch') is not None:
            if tool().git_branch(options.get('base_branch')) is not None:
                base.branch = options.get('base_branch')
            else:
                ex = RecipeException(f"Cannot find specified base branch: {options.get('base_branch')}")
                ex.hint = f"Please check if the specified branch name '{options.get('base_branch')}' is correct."
                raise ex
        else:
            if tool().git_branch('main') is not None:
                base.branch = 'main'
            elif tool().git_branch('master') is not None:
                base.branch = 'master'
            else:
                ex = RecipeException("Cannot find default 'main' or 'master' branch")
                ex.hint = "Please specify the base branch using the '--base-branch' option."
                raise ex
    dbt_project = _read_dbt_project_file(dbt_project_path)
    if dbt_project:
        base.dbt = _prepare_dbt_cmds(options)
    base.piperider = _prepare_piperider_cmd(options)
    return base