Skip to content

Autonomous Contributor

AI-powered issue fixing — GitWire analyzes open issues and generates code fixes as pull requests.

Overview

The Autonomous Contributor uses a two-pass AI pipeline:

  1. Pass 1: Analyze — Claude reads the issue, identifies relevant files, and scores them
  2. Pass 2: Generate — Claude generates full-file fixes for the top-ranked files
mermaid
graph TD
    A[Issue with fix label] --> B[Pass 1: Analyze]
    B --> C[Score & Rank Files]
    C --> D[Fetch Top Files]
    D --> E[Pass 2: Generate Fixes]
    E --> F{Pre-Merge Validation}
    F -->|Pass| G[Create Branch + PR]
    F -->|Fail| H[Mark as Rejected]

Trigger Conditions

An issue is eligible for autonomous fixing when:

ConditionValue
LabelsContains at least one: bug, good first issue, help wanted, enhancement, documentation
OpenIssue state is open
No prior fixNo existing fix attempt for this issue
Rate limit≤ 3 fix attempts per repo per day
Daily limit≤ 1 fix attempt per issue

Two-Pass Pipeline

Pass 1: Analysis + File Selection

Claude receives the issue title and labels, then:

  1. Identifies which files in the repository are relevant
  2. Returns a list of candidate files with relevance scores
  3. Ranks by: keyword match, proximity to source, language preference

Pass 2: Full-File Generation

For each top-ranked file:

  1. Fetch the file content from GitHub
  2. Send file + issue context to Claude
  3. Claude returns the complete corrected file
  4. GitWire validates the fix (see below)

Rate Limits

LimitValue
Per repo per day3 fix attempts
Per issue1 fix attempt
Max files per fix5

Database Table

fix_attempts

ColumnTypeDescription
repo_idBIGINTTarget repository
issue_numberINTGitHub issue number
branch_nameTEXTCreated branch name
pr_numberINTOpened PR number
statusTEXTpendinganalyzinggeneratingsubmitted / failed / rejected
complexityTEXTtrivial, simple, moderate, complex
explanationTEXTClaude's explanation of the fix

API Endpoints

MethodPathDescription
POST/api/fix/:owner/:repo/issues/:numberTrigger a fix for an issue
GET/api/fix/:owner/:repo/issues/:numberGet fix status for an issue
GET/api/fix/:owner/:repo/attemptsList fix attempts for a repo

In This Section

Released under the MIT License.