Gru

CI License: Apache 2.0

Gru turns GitHub issues into merged PRs — autonomously, locally, with the AI coding agent of your choice.

Point it at an issue and it handles the rest: implementation, PR, code review, CI fixes, rebases — all in an isolated worktree that never touches your working directory.

Animated terminal demo: running "gru do <issue>" — Gru fetches the issue, spawns an agent, and opens a PR autonomously

Gru is agent-agnostic. It ships with backends for Claude Code and OpenAI Codex, and its pluggable architecture makes it straightforward to add more.

Quick Start

# Install prebuilt binary (macOS Apple Silicon)
curl -fL https://github.com/fotoetienne/gru/releases/latest/download/gru-aarch64-apple-darwin.tar.gz | tar xz
sudo mv gru /usr/local/bin/

# Or install from crates.io (all platforms, requires Rust 1.73+)
cargo install gru

# Initialize a repo
gru init owner/repo

# Fix an issue — Gru handles the rest
gru do 42

Prebuilt binaries for macOS x86_64 and Linux are on the Releases page.

For a full walkthrough, see Getting Started.

How It Works

  1. gru init owner/repo creates a bare git mirror at ~/.gru/repos/
  2. gru do 42 creates an isolated worktree, spawns the agent, and monitors progress via streaming JSON
  3. The agent reads the issue, explores the code, makes changes, and runs tests
  4. After committing, a code-reviewer subagent checks for correctness, security, and convention issues before the PR is created
  5. Gru opens a PR, watches CI, and feeds failures back to the agent for auto-fix (up to 2 attempts before escalating)
  6. Review comments are forwarded to the agent for responses
  7. Labels (gru:todogru:in-progressgru:done / gru:failed) track state on GitHub