Inspiration

My inspiration for RepoBuddy came from my own experience with open source.

Hacktoberfest was my first real exposure to open-source contribution. I participated, made contributions, and even earned a Golden Batch. However, getting there was much harder than I expected. The difficult part was not simply writing code. It was figuring out where to contribute in the first place and how the entire contribution process worked.

Finding an issue that was actually suitable for a beginner was difficult. Even after finding an interesting repository, there were many things I did not understand. I did not initially know what forking a repository meant, why I needed to create a branch, how I was supposed to work on someone else's codebase, how to push my changes, or how a pull request fit into the process.

There was a lot of information available online, but it was scattered across documentation, tutorials, GitHub guides, and individual repositories. As a beginner, it was difficult to connect all of those pieces together for one specific contribution.

That experience made me think:

What if instead of simply finding an issue, there was something that could take a beginner from "I found an issue" to "I understand how to contribute to this issue"?

That is where RepoBuddy came from.

If RepoBuddy had existed during my first Hacktoberfest, it could have helped me understand the repository, identify suitable issues, explain the relevant code, and guide me through the contribution process step by step.

The goal is not to replace the contributor. It is to remove the confusion that prevents someone from becoming one.


What it does

RepoBuddy is an AI-powered contribution assistant designed to help developers, especially beginners, contribute to open-source repositories.

A user starts by providing a public GitHub repository.

RepoBuddy analyzes the repository and its available issues and identifies potential contribution opportunities. Instead of simply showing a list of issues, it provides useful context around them, such as their difficulty, relevance, affected parts of the codebase, and the kind of work that may be required.

When a user selects an issue, RepoBuddy creates a contribution-oriented workflow around that specific issue.

It helps the user:

  • Understand what the issue is asking for
  • Understand the relevant parts of the repository
  • Identify files and components that may need to be changed
  • Create a step-by-step implementation plan
  • Understand the concepts and code involved
  • Ask questions about the repository while working
  • Follow the Git workflow required for the contribution
  • Test and review their implementation
  • Prepare an appropriate commit
  • Push their changes
  • Create a pull request
  • Prepare a useful pull-request description

RepoBuddy does not require the user to give it access to their GitHub account to use these features. Instead, the user remains in control and performs the Git and GitHub operations themselves, while RepoBuddy guides them through the process.

The central idea is:

RepoBuddy doesn't just help you find something to contribute to. It helps you understand how to actually contribute to it.


How we built it

RepoBuddy is built as an AI-agent-based system rather than a simple chatbot.

The project uses a multi-agent architecture where different parts of the contribution process can be handled by specialized agents. The system uses Google's Agent Development Kit (ADK) along with MCP-based tools to allow the agents to interact with repository information and perform structured analysis.

At a high level, the workflow looks like:

GitHub Repository
        |
        v
Repository Analysis
        |
        v
Issue / Contribution Analysis
        |
        v
Potential Contribution Opportunities
        |
        v
User Selects an Issue
        |
        v
Contribution Workspace
        |
        v
Repository Understanding
        |
        v
Implementation Guidance
        |
        v
Testing & Review Guidance
        |
        v
Commit + Pull Request Guidance

RepoBuddy uses repository information, issue information, code structure, and related context to reason about potential contributions.

The system can generate structured outputs such as a project analysis and a contribution roadmap rather than returning only a conversational response.

I also designed the contribution process so that GitHub authentication is not required just to use RepoBuddy. Public repositories can be analyzed without asking users to hand over their GitHub credentials. For actions such as forking or creating a pull request, the user can perform those actions themselves.

This keeps the initial product simpler and, more importantly, keeps the user in control of their GitHub account.


Challenges we ran into

One of the biggest challenges was deciding what RepoBuddy should actually be.

It would have been easy to turn it into another generic AI chatbot that answers questions about a repository. However, that would not solve the problem that inspired the project in the first place.

The real problem was the contribution journey.

A beginner does not only need to ask:

"What does this function do?"

They also need to know:

"Is this issue suitable for me?"

"Where do I start?"

"Which files should I look at?"

"Why do I need a branch?"

"What happens after I make the change?"

"How do I turn my local changes into a pull request?"

Designing RepoBuddy around this complete journey was therefore a major challenge.

Another challenge was balancing automation with security and complexity. I initially considered integrating GitHub authentication so that RepoBuddy could perform actions such as creating forks or pull requests automatically. However, that introduces additional concerns around authentication, permissions, credentials, and security.

I eventually chose a simpler and more user-controlled approach: RepoBuddy provides the intelligence and guidance, while the user performs sensitive GitHub actions themselves.

I also had to deal with the difficulty of analyzing real-world repositories. Repositories differ significantly in their structure, languages, frameworks, documentation quality, issue quality, and contribution practices. A useful contribution assistant therefore needs to reason about the repository rather than relying on a fixed template.


Accomplishments that we're proud of

I am proud that RepoBuddy grew out of an actual problem rather than an attempt to add AI to an existing workflow simply because AI is popular.

The project addresses a very specific barrier to open-source contribution: the gap between finding an issue and knowing how to contribute to it.

I am especially proud of the contribution-focused workflow. Instead of treating every interaction as an open-ended chatbot conversation, RepoBuddy organizes the experience around a specific contribution.

I am also proud of building the project around an agent-based architecture using ADK and MCP, giving me a foundation for repository analysis and specialized contribution assistance.

Most importantly, the project has personal meaning for me. My first Hacktoberfest experience showed me that earning a contribution milestone is possible even when you start with very little understanding of open-source workflows, but the learning curve can be unnecessarily confusing.

RepoBuddy is my attempt to make that first step easier for the next developer.


What we learned

I learned that building an AI application is not just about getting a model to generate good answers.

The more important question is:

What does the AI actually enable the user to do?

While developing RepoBuddy, I learned about AI-agent architectures, repository analysis, GitHub data, MCP, ADK, and the challenges of working with real software projects.

I also learned that open source has a much larger learning curve than simply knowing how to code.

Understanding concepts such as:

  • repositories
  • forks
  • branches
  • commits
  • pull requests
  • issue discussions
  • contribution guidelines

can be just as important to a beginner as understanding the code itself.

Most importantly, I learned from my own experience that beginners often do not know which questions they are supposed to ask.

A beginner might not even know that they need to ask:

"Should I fork this repository first?"

RepoBuddy is designed around that realization.


What's next for RepoBuddy

The current version focuses on helping users understand repositories, identify meaningful contribution opportunities, and follow a structured contribution workflow.

The next step is to make RepoBuddy increasingly aware of the contributor's actual local development environment.

For example, RepoBuddy could eventually have a local agent that can inspect the user's cloned repository, understand the current Git branch and working tree, run tests, inspect errors, and review the user's changes.

This would allow the workflow to evolve from:

"Here is what you should do."

to:

"Here is what you have done,
here is what remains,
and here is why."

I also want to explore optional GitHub integration for users who want RepoBuddy to perform actions such as creating branches, opening pull requests, or interacting with issues on their behalf.

However, these capabilities would remain optional. My goal is not to take control away from contributors, but to give them a tool that helps them become capable contributors themselves.

Ultimately, I want RepoBuddy to make open source feel less like:

"I found a GitHub issue. Now what?"

and more like:

"I found something I can contribute to, and I know exactly how to begin."

Built With

Share this project:

Updates

Submission history