Contributor Guide

Everything you need to know to contribute to RepoSage and apply for GSoC 2025. From setting up your environment to submitting a winning proposal.

Getting Started

Explore the Project

Familiarize yourself with RepoSage by reading the documentation, exploring the codebase, and understanding our mission to build AI-powered tools for open source.

  • Read through the project documentation at /docs

  • Explore the source code on GitHub

  • Run the project locally to understand how it works

  • Join our community channels to introduce yourself

Set Up Development Environment

Configure your local development environment with all the necessary tools and dependencies.

  • Fork the repository to your GitHub account

  • Clone your fork locally

  • Install Node.js 18+ and npm/yarn

  • Copy .env.example to .env.local and configure

  • Run npm install and npm run dev

Find a Good First Issue

Start with beginner-friendly issues labeled "good first issue" to learn our codebase and development workflow.

  • Browse issues labeled "good first issue" on GitHub

  • Ask questions in the issue comments if unclear

  • Claim the issue by commenting that you want to work on it

  • Wait for maintainer confirmation before starting

Make Your First Contribution

Submit your first pull request following our contribution guidelines.

  • Create a new branch for your changes

  • Write clean, well-documented code

  • Add tests for new functionality

  • Submit a PR with a clear description

  • Respond to review feedback promptly

Engage with the Community

Build relationships with mentors and other contributors by actively participating in discussions.

  • Participate in code reviews

  • Help other contributors with their questions

  • Share your progress and learnings

  • Attend community meetings if available

Prepare Your GSoC Proposal

Draft a compelling proposal that demonstrates your understanding of the project and your implementation plan.

  • Select a project idea from our ideas page

  • Research the topic thoroughly

  • Create a detailed timeline with milestones

  • Get feedback from mentors on your draft

  • Submit before the deadline

Development Setup

Prerequisites
Node.js 18+
npm/yarn
Git
GitHub Account
VS Code (recommended)
Quick Setup
# Clone the repository
git clone https://github.com/AryanVBW/RepoSage.git
# Navigate to project
cd RepoSage
# Install dependencies
npm install
# Copy environment file
cp .env.example .env.local
# Start development server
npm run dev

Writing a Winning Proposal

1

Personal Information
  • Full name and contact details

  • University/Institution and program

  • GitHub profile and portfolio links

  • Timezone and availability during GSoC

2

Project Understanding
  • What problem does this project solve?

  • Who will benefit from this implementation?

  • How does it fit into the larger ecosystem?

  • What alternatives have you considered?

3

Technical Approach
  • Detailed implementation plan with architecture diagrams

  • Technologies and libraries you'll use

  • How you'll handle edge cases and errors

  • Testing strategy and quality assurance

4

Timeline & Milestones
  • Week-by-week breakdown of tasks

  • Specific, measurable deliverables for each phase

  • Buffer time for unexpected challenges

  • Evaluation checkpoints aligned with GSoC schedule

5

About You
  • Relevant experience and past projects

  • Why you're interested in this specific project

  • Your contributions to the project (if any)

  • Other commitments during GSoC period

Pro Tips for Your Proposal

Start early and iterate - get feedback from mentors on multiple drafts

Be specific about deliverables - vague goals are red flags

Show your prior contributions to demonstrate capability

Include a realistic timeline with buffer for unexpected issues

Explain WHY you chose this project - show genuine interest

Discuss potential challenges and how you'll handle them

Keep it concise but comprehensive - quality over quantity

Frequently Asked Questions

RepoSage primarily uses TypeScript for both frontend (Next.js, React) and backend development. Python is used for ML/AI components and data processing scripts. Familiarity with JavaScript/TypeScript is essential, while Python knowledge is helpful for AI-related projects.

It depends on the project! We have projects for all skill levels. Some projects like "AI-Powered Contributor-Issue Matching" are beginner-friendly and teach AI concepts along the way. Advanced projects like "Multi-Agent AI Orchestration" require prior ML experience. Check the difficulty level on each project.

GSoC expects contributors to commit approximately 175-350 hours over the program duration. For a medium project (~175 hours), this means roughly 15-20 hours per week. For large projects (~350 hours), expect 30-35 hours per week. Make sure this fits your schedule.

Absolutely! We welcome original ideas that align with our mission. If you have a unique project idea, discuss it with mentors early in the application process. Make sure it fits the project scope (90-350 hours) and contributes meaningfully to the ecosystem.

Primary communication happens through GitHub issues and pull request discussions. For quick questions, join our Discord/Slack community. Email mentors for sensitive or detailed discussions. Always be respectful of timezone differences and response times.

A strong proposal includes: clear understanding of the problem, detailed technical approach, realistic timeline with milestones, evidence of prior contributions to the project, awareness of potential challenges, and backup plans. Show that you've done your homework!

Start 2-3 months before the application period opens. This gives you time to understand the project, make contributions, build relationships with mentors, and refine your proposal. Early contributors have a significant advantage.

Getting stuck is normal! Communicate early with your mentor, document what you've tried, and ask specific questions. Break down problems into smaller parts. The community is here to help - don't struggle in silence.

Communication Channels

GitHub Issues

Primary channel for bug reports, feature requests, and technical discussions.

Discord Community

Real-time chat with mentors and other contributors. Great for quick questions.

Email

For private or sensitive communications with the maintainers.

Ready to Start Contributing?

Check out our project ideas, find something that excites you, and start your GSoC journey today!

Your Progress

0/12
0%