Skip to content

Geff115/repo-ranger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

32 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– RepoRanger - AI-Powered Repository Maintenance Agent

RepoRanger Dashboard

Live Demo License: MIT Powered by Kestra's built-in AI Agent AI: Groq

An intelligent AI agent that automatically triages GitHub issues, provides contextual analysis, and generates strategic insights for repository maintainers.

View Live Dashboard โ€ข Watch Demo โ€ข Read Docs


๐ŸŽฏ The Problem

Open-source maintainers are overwhelmed:

  • ๐Ÿ“Š 15-30 minutes spent manually triaging each issue
  • ๐Ÿ” Lack of context for bug reports and feature requests
  • ๐Ÿ“ˆ No systematic way to identify patterns across issues
  • โฐ Time-consuming repetitive analysis work

For a repository with 100 issues per week, that's 25-50 hours of manual work!


โœจ The Solution

RepoRanger automates the entire issue triage workflow using AI-powered intelligence:

๐Ÿ” Real-Time Issue Triage

When a new issue is created, RepoRanger instantly:

  • โœ… Classifies the issue type (bug/feature/documentation/question)
  • โœ… Assigns priority (high/medium/low) based on content analysis
  • โœ… Adds labels automatically to GitHub
  • โœ… Posts AI analysis as a comment with:
    • Issue summary
    • Potentially affected files
    • Recommended next steps

GitHub Comment Example

๐Ÿ“Š Weekly Intelligence Reports

Every Monday, RepoRanger generates a comprehensive report:

  • ๐Ÿ“ˆ Trend Analysis: Most common issue types
  • ๐Ÿšจ Critical Issues: What needs immediate attention
  • ๐ŸŽฏ Strategic Decisions: Prioritization recommendations
  • ๐Ÿ’ก Actionable Insights: Specific improvements to make

Weekly Report Example

๐Ÿ“ˆ Real-Time Analytics Dashboard

Beautiful Vercel-hosted dashboard showing:

  • ๐Ÿ“Š Category distribution charts
  • ๐ŸŽฏ Priority breakdown
  • โฑ๏ธ Recent activity feed
  • ๐Ÿ“‹ Intelligence report summaries

Dashboard Analytics


๐Ÿ†• Advanced Features

๐Ÿ” Intelligent Duplicate Detection

RepoRanger goes beyond simple keyword matching to identify duplicate issues:

Duplicate Detection

How it works:

  • Semantic Analysis: AI understands the meaning and context, not just keywords
  • 90-Day Lookback: Scans all issues from the past 3 months
  • Similarity Scoring: Rates matches as high/medium/low similarity
  • Smart Recommendations: Suggests whether to close as duplicate or merge discussions
  • Automatic Labeling: Adds "duplicate" label when high confidence match found
  • Context Preservation: Links to related issues so maintainers can review

Real-world impact:

  • Reduces duplicate issue clutter by 60-80%
  • Helps users find existing solutions faster
  • Saves maintainers time reviewing duplicates

๐Ÿง  Enhanced Classification

Advanced AI prompts provide deeper insights than basic categorization:

What you get:

  • Affected Components: Identifies likely code files and modules impacted
  • Root Cause Hints: Suggests potential underlying causes for bugs
  • Suggested Next Steps: Provides actionable troubleshooting steps for the reporter
  • Confidence Indicators: Shows how certain the AI is about its classification

Example Output:

Category: bug
Priority: high
Affected Files:
  - src/auth/oauth.py
  - config/oauth_providers.json
  - middleware/auth_handler.py

Suggested Next Steps:
1. Check OAuth provider configuration in config/oauth_providers.json
2. Review recent changes to auth/oauth.py
3. Test with different OAuth providers to isolate the issue

๐Ÿ“Š Strategic Intelligence Reports

Weekly reports go beyond simple summaries:

Advanced Analysis Includes:

  • Trend Detection: Identifies patterns across multiple issues
  • Root Cause Analysis: Groups related issues to find underlying problems
  • Risk Assessment: Predicts consequences of unaddressed issues
  • Resource Allocation: Recommends where to focus development effort
  • Impact Forecasting: Estimates effect on users if issues persist

Example Insight:

"65% of this week's issues relate to authentication. Root cause appears to be OAuth token expiry handling. Recommendation: Prioritize PR #42 which addresses token refresh logic - expected to resolve 8-10 open issues."



๐Ÿ† Kestra AI Agent Integration

RepoRanger leverages Kestra's built-in AI Agent (io.kestra.plugin.ai.agent.AIAgent) as the core intelligence engine, using Groq as the provider for fast, reliable AI inference.

How I Use Kestra's AI Agent

1. Real-Time Issue Classification

Flow: repo-ranger-listener
AI Agent Task: ai_agent_classification

type: io.kestra.plugin.ai.agent.AIAgent
provider:
  type: io.kestra.plugin.ai.provider.OpenAI
  apiKey: "{{ kv('GROQ_API_KEY') }}"
  modelName: openai/gpt-oss-120b
  baseUrl: https://api.groq.com/openai/v1
configuration:
  responseFormat:
    type: JSON
    jsonSchema: # Structured output for classification

What the AI Agent does:

  • โœ… Analyzes issue title and body
  • โœ… Compares against 90 days of historical issues
  • โœ… Classifies category (bug/feature/documentation/question)
  • โœ… Assigns priority (high/medium/low)
  • โœ… Identifies affected files
  • โœ… Detects duplicate issues with similarity scoring
  • โœ… Generates suggested next steps

Output: Structured JSON with classification, duplicates, and recommendations


2. Weekly Strategic Intelligence

Flow: weekly-issue-report
AI Agent Task: ai_agent_analysis

type: io.kestra.plugin.ai.agent.AIAgent
provider:
  type: io.kestra.plugin.ai.provider.OpenAI
  apiKey: "{{ kv('GROQ_API_KEY') }}"
  modelName: llama-3.3-70b-versatile
  baseUrl: https://api.groq.com/openai/v1
configuration:
  temperature: 0.5
  maxToken: 3000

What the AI Agent decides:

  • ๐Ÿ“Š Summarizes issue data from the past 7 days
  • ๐ŸŽฏ Identifies trends: Patterns across issue types and components
  • ๐Ÿšจ DECIDES critical issues: Which need immediate attention
  • ๐Ÿ‘ฅ DECIDES resource allocation: Where the team should focus
  • โš ๏ธ DECIDES risk levels: Acceptable vs. unacceptable risks
  • ๐Ÿ—๏ธ DECIDES architectural changes: When systemic fixes are needed
  • ๐Ÿ“‹ Assigns tasks: Specific developer responsibilities

Output: Strategic markdown report with explicit decisions


Why Kestra's AI Agent?

  1. Native Integration: Seamlessly integrates with Kestra workflows
  2. Provider Flexibility: Can use any OpenAI-compatible API (I use Groq)
  3. Structured Outputs: JSON Schema support for reliable parsing
  4. Decision-Making: Goes beyond summarization to autonomous decisions
  5. Workflow Orchestration: Combined with Kestra's scheduling and webhooks

Real Example Output

From Issue Classification:

{
  "category": "bug",
  "priority": "high",
  "summary": "Login fails when using Google OAuth",
  "affected_files": [
    "src/auth/oauth_service.py",
    "src/auth/login_controller.js",
    "config/oauth_config.yml"
  ],
  "duplicate_detection": {
    "is_duplicate": true,
    "similar_issues": [
      {
        "number": 42,
        "title": "Google OAuth Issues",
        "similarity": "high",
        "reason": "Both report failures with the Continue with Google login flow"
      }
    ],
    "recommendation": "Link this issue to #42, investigate OAuth client configuration"
  }
}

From Weekly Report:

DECISION: The team should focus on addressing the critical issues (#48, #42, #29) this week.

DECISION: Architectural changes are needed to address OAuth login functionality.

DECISION: Priority ranking:

  1. Critical issues (HIGH impact, HIGH effort)
  2. Bug fixes (MEDIUM impact, MEDIUM effort)
  3. Enhancements (LOW impact, LOW effort)

Technical Architecture

graph LR
    A[GitHub Issue] -->|Webhook| B[Kestra Workflow]
    B --> C[Kestra AI Agent]
    C -->|Groq API| D[Llama 3.3 70B]
    D -->|Classification| C
    C --> E[GitHub API]
    E -->|Comment + Labels| A
    
    F[Cron Schedule] --> G[Weekly Report Flow]
    G --> H[Kestra AI Agent]
    H -->|Groq API| D
    D -->|Strategic Analysis| H
    H -->|Report| E
    E -->|New Issue| A
Loading

Key Components:

  • Kestra: Workflow orchestration, scheduling, AI Agent hosting
  • Kestra AI Agent: Core intelligence engine with decision-making
  • Groq: Fast inference provider (OpenAI-compatible)
  • Llama Models: openai/gpt-oss-120b (classification), llama-3.3-70b-versatile (strategy)
  • GitHub API: Data source and action destination

๐ŸŽฏ Impact Metrics

Time Savings

Metric Before RepoRanger After RepoRanger Savings
Issue Triage 15-30 min/issue <1 min/issue 90%+
Duplicate Detection 10 min/issue Automatic 100%
Pattern Analysis 2-3 hours/week Automatic 100%
Weekly Planning 1-2 hours 10 min review 85%+

For a repository with 100 issues/week:

  • Manual triage: 25-50 hours/week
  • With RepoRanger: 2-3 hours/week
  • Time saved: ~45 hours/week = More than 1 FTE!

Quality Improvements

  • Duplicate reduction: 60-80% fewer duplicate issues
  • Faster resolution: Issues categorized instantly for routing
  • Better prioritization: High-priority issues surfaced immediately
  • Pattern detection: Systemic problems identified early

๐Ÿ—๏ธ Architecture

RepoRanger uses a multi-workflow orchestration pattern with two main flows:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   GitHub Repository                      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚                       โ”‚
       Webhook โ”‚ (Issue Event)  Cron  โ”‚ (Weekly)
               โ–ผ                       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Flow 1: Issue Listener   โ”‚ โ”‚ Flow 2: Weekly Reporter    โ”‚
โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    โ”‚ โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€      โ”‚
โ”‚ 1. Receive webhook       โ”‚ โ”‚ 1. Fetch issues (7 days)   โ”‚
โ”‚ 2. Classify with AI      โ”‚ โ”‚ 2. Analyze patterns        โ”‚
โ”‚ 3. Post comment          โ”‚ โ”‚ 3. Make decisions          โ”‚
โ”‚ 4. Add labels            โ”‚ โ”‚ 4. Generate report         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚                       โ”‚
               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ–ผ
                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚  GitHub Issues  โ”‚
                 โ”‚  + Comments     โ”‚
                 โ”‚  + Labels       โ”‚
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Technology Stack

Component Technology Purpose
Orchestration Kestra Built-in AI Agent, Workflow automation, scheduling, task coordination
AI/LLM Groq openai/gpt-oss-120b model for structured classification, and Llama 3.3 70B model for strategic analysis
Frontend Vercel + Next.js Production dashboard deployment
Integration GitHub API Repository data access and updates
Code Quality CodeRabbit Automated code reviews
Execution Python 3.11 + Docker Task scripting and containerization

๐Ÿš€ Getting Started

Prerequisites

  • Docker & Docker Compose
  • GitHub Personal Access Token with repo scope
  • Groq API Key (free tier available at console.groq.com)
  • Ngrok for webhook tunneling (development)

Quick Setup

  1. Clone the repository
   git clone https://github.com/Geff115/repo-ranger.git
   cd repo-ranger
  1. Configure Kestra with your API keys

    Edit docker-compose.yml and add your keys:

   environment:
     GROQ_API_KEY: "your_groq_api_key"
     GITHUB_PAT: "your_github_token"
  1. Start Kestra
   docker-compose up -d
  1. Access Kestra UI

  2. Import the flows

    • In Kestra UI, go to Flows
    • Create repo-ranger-listener flow
    • Create weekly-issue-report flow
  3. Set up GitHub webhook

    • Go to your repo Settings โ†’ Webhooks โ†’ Add webhook
    • Payload URL: https://your-ngrok-url/api/v1/executions/webhook/dev/repo-ranger-listener/hackathon-secret-key
    • Content type: application/json
    • Events: Issues only
    • Click "Add webhook"
  4. Deploy the dashboard (optional)

   cd dashboard
   npm install
   npm run dev  # Local development
   # OR deploy to Vercel for production

๐Ÿ“‹ Usage

Testing the Issue Listener

  1. Create a new issue in your GitHub repository
  2. Watch Kestra's Executions tab for the workflow
  3. Check your issue for the AI-generated comment
  4. Verify labels were added automatically

Running Weekly Reports Manually

  1. Go to Kestra UI โ†’ Flows โ†’ weekly-issue-report
  2. Click the "Execute" button (โ–ถ๏ธ)
  3. Check your repository for the new report issue

Viewing Analytics

Visit your deployed dashboard at: https://your-app-url.vercel.app/

Or run locally:

cd dashboard
npm run dev
# Open http://localhost:3000

๐ŸŽฌ Demo

๐ŸŽฅ Watch the Demo Video

Quick Demo Flow

  1. Create an issue โ†’ "Bug: Login fails with OAuth"
  2. Agent analyzes โ†’ Classification: bug, Priority: high
  3. Comment posted โ†’ AI analysis with affected files
  4. Labels added โ†’ bug, priority: high
  5. Dashboard updates โ†’ Real-time stats and charts
  6. Weekly report โ†’ Strategic insights every Monday

๐Ÿ“Š Impact

Time Savings

  • Before: 15-30 minutes per issue for manual triage
  • After: Instant automated analysis
  • Result: 90%+ time savings on issue management

Value Proposition

For a repository with:

  • 100 issues/week
  • 20 min average triage time
  • = 33 hours/week saved

That's nearly a full-time role eliminated through automation!


๐ŸŽฏ Hackathon Alignment

Built for AI Agents Assemble Hackathon

Sponsor Technologies Used

โœ… Kestra - Core workflow orchestration engine & built-in AI Agent features
โœ… Vercel - Production-ready dashboard deployment
โœ… CodeRabbit - Automated code quality reviews

Additional Technology Used

โœ… Groq - Lightning-fast AI inference (openai/gpt-oss-120b & Llama 3.3 70B)


๐Ÿ”ฎ Roadmap

  • Real-time issue classification
  • Auto-labeling and commenting
  • Weekly intelligence reports
  • Vercel analytics dashboard
  • Duplicate issue detection
  • Multi-repository support
  • Email notifications
  • Slack integration
  • Custom AI model fine-tuning
  • Browser extension

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

CodeRabbit will automatically review your PR!


๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Kestra - Powerful workflow orchestration & built-in AI Agent features
  • Groq - Blazing-fast AI inference
  • Vercel - Seamless deployment platform
  • CodeRabbit - Intelligent code reviews
  • openai/gpt-oss-120b - Intelligent structured classification language model
  • Llama 3.3 70B - Intelligent strategic analysis language model

๐Ÿ“ž Contact

Project: github.com/Geff115/repo-ranger Live App: repo-ranger-8k3c.vercel.app
Demo Video: youtu.be/z8dyJHdTEDo
Built by: Gabriel Effangha


โญ Star this repo if you find it useful!

Made with โค๏ธ for the AI Agents Assemble Hackathon

About

AI-powered GitHub issue triage agent with automated classification, labeling, and strategic insights

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors