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
statusTEXTpending → analyzing → generating → submitted / 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.