Skip to main content

A CLI tool that automatically fixes and merges GitHub PRs using AI agents

Project description

English | 日本語

autoland

A CLI tool that automatically fixes and merges GitHub PRs using AI agents

Features

  • Automatic detection and processing of open PRs
  • Waiting for GitHub checks completion
  • Automatic fixes for review comments using AI agents
  • Automatic commit and push of fixes
  • Automatic merge decision and execution

Installation

pipx install autoland

Please refer to https://pipx.pypa.io/latest/installation/ for pipx installation.

Prerequisites

The following tools must be set up:

  • gh (GitHub CLI)
  • codex command (AI coding tool)
  • Execution in a Git repository

Usage

Run in the target repository directory:

autoland

Workflow

  1. PR Detection: Selects the oldest open PR and checks out to the corresponding branch
  2. Checks Waiting: Waits for GitHub checks to complete
  3. Auto-fix: AI agent analyzes review comments and executes necessary fixes
  4. Push Changes: Commits fixes and posts a processing report as a comment
  5. Re-check: Checks for new comments and determines merge eligibility
  6. Execute Merge: Automatically merges if there are no issues
flowchart TD
  Start(["Start"]) --> Use[["Usage<br>Run in target repository: <code>autoland</code>"]]

  subgraph CLI["Process performed by CLI tool"]
    direction TB
    C0{"Are there any open PRs?"}
    C1["Select oldest open PR and<br>checkout to corresponding branch"]
    C2["Wait for GitHub checks to complete"]
    C3["Launch fixing agent and<br>pass PR context"]
    C6["Post agent-generated report<br>as PR comment"]
    C4{"Did agent add commits?"}
    C5["push"]
    C8["Merge PR"]
  end

  subgraph AG["Coding Agent"]
    direction TB
    A1["Analyze context"]
    A2{"Are there any issues?"}
    A3["Implement necessary fixes and commit"]
    A5["Create issues for out-of-scope problems<br>(if --create-issue enabled)"]
    A4_fix["Output result report (fix details)"]
    A4_ok["Output result report (no issues)"]
    A_OUT["Report"]
  end

  Use --> C0
  C0 -- Yes --> C1 --> C2
  C0 -- No --> End(["End"])

  C2 --> C3 --> A1 --> A2
  A2 -- Yes --> A3 --> A5 --> A4_fix --> A_OUT
  A2 -- No --> A5 --> A4_ok --> A_OUT

  A_OUT --> C6

  C6 --> C4
  C4 -- No (mergeable) --> C8 --> End
  C4 -- Yes (has changes to push) --> C5 --> C2

Design Principles

  • CLI does not manage authentication credentials, leverages existing tools
  • Complex decisions are delegated to AI, only mechanical decisions are implemented on the CLI side
  • Timestamped log output for long-running operations

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoland-0.2.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autoland-0.2.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file autoland-0.2.0.tar.gz.

File metadata

  • Download URL: autoland-0.2.0.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for autoland-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a35e18b307a437ff3f503ae9ad52f1239b9a2126e6b2960bd04d8e31a0350b85
MD5 20dd5e8648154560c25682a34abbb4e3
BLAKE2b-256 dc29c2f1279c7dcac54ddb14d0fae4e226b94be13fd51021a91915bcecc06345

See more details on using hashes here.

File details

Details for the file autoland-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: autoland-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for autoland-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b7eb6e472f0380ce0f03262c2f82002a48c7cb2316f22f7c6abd6d64a822de1c
MD5 63b1ce2f8da6c6613d1e5d314f5aecb1
BLAKE2b-256 54d2a964caba987ea0fb8f8906f392a6598b32c2faf469848c6ae05707861de0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page