Augureaugure
Tools

GitHub Tool

Interact with GitHub issues, pull requests, repos, releases, and search

The github tool gives the agent full CRUD access to GitHub via the REST API. It uses a single tool with an action dispatch pattern -- one tool, 17 actions across 5 groups.

Configuration

Add tools.github to your augure.json5:

{
  tools: {
    github: {
      token: "${GITHUB_TOKEN}",
    },
  },
}

The token needs appropriate scopes for the actions you want to use (typically repo for private repos, public_repo for public ones).

Actions

Issues

ActionRequired ParamsDescription
list_issuesowner, repoList issues (optional: state, labels, per_page)
get_issueowner, repo, issue_numberGet a single issue with full details
create_issueowner, repo, titleCreate an issue (optional: body, labels)
update_issueowner, repo, issue_numberUpdate an issue (optional: title, body, state, labels)
comment_issueowner, repo, issue_number, bodyAdd a comment to an issue

Pull Requests

ActionRequired ParamsDescription
list_prsowner, repoList PRs (optional: state, per_page)
get_prowner, repo, pull_numberGet a single PR with diff stats
create_prowner, repo, title, head, baseCreate a PR (optional: body, draft)
review_prowner, repo, pull_number, eventSubmit a review (APPROVE, REQUEST_CHANGES, COMMENT)
merge_prowner, repo, pull_numberMerge a PR (optional: merge_method: merge/squash/rebase)

Repos

ActionRequired ParamsDescription
list_repos(none)List repos for authenticated user (optional: owner for another user)
get_repoowner, repoGet repo details (stars, forks, topics, etc.)

Releases

ActionRequired ParamsDescription
list_releasesowner, repoList releases (optional: per_page)
create_releaseowner, repo, tag_nameCreate a release (optional: title, body, target_commitish, draft)
ActionRequired ParamsDescription
search_issuesquerySearch issues and PRs across GitHub
search_codequerySearch code across repositories
search_reposquerySearch repositories

Parameters

ParameterTypeDescription
actionstringRequired. One of the 17 actions listed above
ownerstringRepository owner (user or org)
repostringRepository name
issue_numbernumberIssue number
pull_numbernumberPull request number
titlestringTitle (for create actions)
bodystringBody text
statestringState filter: open, closed, or all
labelsstringComma-separated labels
headstringHead branch (for PRs)
basestringBase branch (for PRs)
eventstringReview event: APPROVE, REQUEST_CHANGES, or COMMENT
merge_methodstringMerge method: merge, squash, or rebase
tag_namestringTag name (for releases)
querystringSearch query (GitHub search syntax)
per_pagenumberResults per page (max 100)

Examples

List open issues

{
  "name": "github",
  "arguments": {
    "action": "list_issues",
    "owner": "FaureAlexis",
    "repo": "augure",
    "state": "open"
  }
}

Create a PR

{
  "name": "github",
  "arguments": {
    "action": "create_pr",
    "owner": "FaureAlexis",
    "repo": "augure",
    "title": "feat: add github tool",
    "head": "feat/github-tool",
    "base": "master",
    "body": "Adds full GitHub CRUD support via Octokit."
  }
}

Search for issues

{
  "name": "github",
  "arguments": {
    "action": "search_issues",
    "query": "repo:FaureAlexis/augure is:open label:bug"
  }
}

Output Format

  • Lists return markdown tables (e.g., | #42 | title | state | labels |)
  • Single items return formatted markdown with metadata and body
  • Search results return tables with result count
  • Mutations return a confirmation message with a link

All output is truncated at 4,000 characters.

Error Handling

If the GitHub token is not configured, the tool returns an error message asking the user to set tools.github.token. API errors (404, 403, etc.) are caught and returned as success: false with the error message.

On this page