Skip to contents

Allows an LLM to create a new git branch using gert::git_branch_create(), equivalent to git branch <branch> in the terminal.

Usage

btw_tool_git_branch_create(
  branch,
  ref = "HEAD",
  checkout = TRUE,
  `_intent` = ""
)

Arguments

branch

Name of the new branch to create.

ref

Optional reference point for the new branch. Defaults to "HEAD".

checkout

Whether to check out the new branch after creation. Defaults to TRUE.

_intent

An optional string describing the intent of the tool use. When the tool is used by an LLM, the model will use this argument to explain why it called the tool.

Value

Returns a confirmation message.

Examples

withr::with_tempdir({
  gert::git_init()
  gert::git_config_set("user.name", "R Example")
  gert::git_config_set("user.email", "ex@example.com")

  fs::file_touch("hello.md")
  gert::git_add("hello.md")
  gert::git_commit("Initial commit")

  # LLM creates a new branch
  res <- btw_tool_git_branch_create(branch = "feature/new-analysis")

  # What the LLM sees
  cat(res@value)
})
#> Created branch `feature/new-analysis` from `HEAD` and checked it out.