From "I want to contribute" to a real draft PR β in one click.
Find beginner-friendly issues, understand any codebase with AI, and ship your first PR.
Start Contributing β’ For Beginners β’ For Maintainers β’ Quick Start
The gap between wanting to contribute to open source and actually merging your first PR is enormous. You find an interesting issue. Then what?
- Which file do I even edit?
- How do I fork this correctly?
- What should I name my branch?
- What do I write in the PR description?
Most people quietly close the tab. RepoSage bridges that gap.
It's an intelligent open-source mentorship platform that handles everything between finding an issue and writing the actual code β the part that stops 90% of beginners.
- No more searching: We scan your GitHub profile and feed you
good-first-issuestailored perfectly to your tech stack. - Understand any codebase: Click an issue, and our AI instantly generates an architecture diagram and an onboarding guide for that specific repository.
- Ask questions without fear: Use the AI chat to ask "Which file do I need to edit to fix this?" before you ever write a line of code.
- Skip the setup chaos: Click "Start Contribution" and go from issue page to cloned repo in under 60 seconds.
- Interactive Learning: Learn Git, PR etiquette, and codebase navigation through our built-in educational hub.
- Grow your community: RepoSage lowers the barrier to entry for your repository, bringing you a steady stream of capable, well-guided contributors.
- Extensible AI: Built on a modular LLM architecture (OpenRouter/Groq), allowing you to plug in deep-context models to analyze massive codebases seamlessly.
- Modern Edge Architecture: Built with Next.js 16 App Router, edge middleware, and optimized caching for a blazing-fast, deploy-anywhere user experience.
The centerpiece feature. Click it on any issue and RepoSage:
- Forks the repo to your GitHub account (if you haven't already)
- Creates a descriptive branch named from the issue context
- Opens a draft PR with a pre-filled description linked to the issue
- Gives you a single command to clone and checkout β ready to paste into your terminal
# What you see after clicking "Start Contribution":
git clone git@github.com:yourusername/repo.git && cd repo && git checkout fix/issue-123-button-alignmentSetup that used to take 20 confused minutes now takes under 60 seconds.
| Feature | What it does | |
|---|---|---|
| π― | Smart Issue Matching | Scans your GitHub profile and surfaces good-first-issues matched exactly to your tech stack and languages. No more endless scrolling. |
| π | Automated Architecture Diagrams | Click any issue and get a real-time Mermaid architecture diagram for that repository. Understand the codebase before you touch a file. |
| π€ | Context-Aware AI Chat | Ask "which file do I edit to fix this?" and get a real answer. DeepSeek/Qwen models read the repo and respond with actual context. |
| β‘ | Start Contribution Button | One click. Fork β branch β draft PR β clone command. The entire setup flow in under 60 seconds. |
| π€οΈ | Kanban Progress Tracker | Track every issue across four stages: Saved β Working β PR Submitted β Merged. |
| π | Educational Hub | 6 structured guides covering 50+ modules on Git, PR etiquette, and the philosophy of open source. |
flowchart TD
A[π€ Sign in with GitHub] --> B(π RepoSage Scans Profile);
B -->|Analyzes languages & history| C[π Personalized Issue Feed];
C --> D{Select an Issue};
D -->|Instant Context| E[π€ AI Issue Analysis];
E --> F[π Auto-Gen Architecture Diagram];
E --> G[π Repo Onboarding Guide];
E --> H[π¬ Interactive 'What to change?' Chat];
D -->|One-Click Setup| I[β‘ Start Contribution];
I --> J[Fork β Branch β Draft PR β Clone Command];
J --> K[βοΈ You write the fix];
D -->|Track Progress| L[π Save to Kanban Board];
L --> M[π Submit PR];
M --> N[π Merged!];
style A fill:#000,color:#fff,stroke:#333,stroke-width:2px
style N fill:#2ea043,color:#fff,stroke:#333,stroke-width:2px
style I fill:#4f46e5,color:#fff,stroke:#4338ca,stroke-width:2px
RepoSage/
β
βββ app/ # Next.js App Router pages & API routes
β βββ api/ # API endpoints (feed, start-contribution)
β βββ dashboard/ # Dashboard page
β βββ issue/ # Issue detail page
β βββ learn/ # Learning hub + guides
β βββ repo/ # Repository insights page
β βββ settings/ # AI provider settings
β βββ layout.tsx # Root layout
β βββ globals.css # Global styles
β
βββ components/ # React components
β βββ dashboard/ # Issue feed, filters, sidebar, onboarding
β βββ issue/ # Arch diagram, AI chat, setup guide
β βββ landing/ # Landing page sections
β βββ learn/ # Guide content, progress, navigation
β βββ repo/ # File viewer, skill match, activity chart
β βββ ui/ # shadcn primitives (button, sonner)
β
βββ lib/ # Business logic & utilities
β βββ github/ # Octokit wrappers (issues, profile, ingest)
β βββ llm/ # AI providers (OpenRouter/Groq), prompts
β βββ auth.ts # NextAuth v5 configuration
β βββ difficulty.ts # Issue difficulty scoring
β βββ env.ts # Zod env validation
β βββ markdown.ts # Markdown β HTML renderer
β βββ rate-limit.ts # GitHub API rate limit check
β βββ utils.ts # cn() helper (clsx + tailwind-merge)
β
βββ data/ # Static content (learning guides)
βββ types/ # TypeScript module augmentations
βββ tests/ # Test files (vitest)
βββ public/ # Static assets (robots.txt, sitemap)
β
βββ package.json
βββ tsconfig.json
βββ vitest.config.ts
βββ .env.local.example
Get your local environment up and running in under 2 minutes.
git clone https://github.com/yourusername/reposage.git
cd reposage
npm installcp .env.local.example .env.localFill in your keys in .env.local:
# GitHub OAuth (required)
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
NEXTAUTH_SECRET=
NEXTAUTH_URL=http://localhost:3000
# AI (required for chat + diagrams)
OPENROUTER_API_KEY=
# Caching (optional but recommended)
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
Need help setting up GitHub OAuth? Click here
- Go to GitHub Settings > Developer Settings > OAuth Apps
- Click New OAuth App
- Set Homepage URL to
http://localhost:3000 - Set Authorization callback URL to
http://localhost:3000/api/auth/callback/github - Copy the Client ID and Client Secret into your
.env.localfile.
npm run devVisit http://localhost:3000 β you're ready to contribute.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) + React 19 |
| Language | TypeScript (Strict Mode) |
| Styling | Tailwind CSS v4 + shadcn/ui |
| AI | OpenRouter + Groq (DeepSeek V3 / Qwen 2.5) |
| Auth | NextAuth v5 β GitHub OAuth |
| GitHub API | Octokit (REST) |
| Caching | Upstash Redis |
| Deployment | Vercel (Edge Runtime) |
- GitHub OAuth integration
- Intelligent issue matching algorithm
- AI-generated codebase onboarding & chat
- Interactive open-source learning hub
- One-click Start Contribution β draft PR
- Automated PR status tracking via Webhooks
- Multi-repo favorite collections
- Weekly customized email digests
RepoSage is built for contributors β it's only right that contributing to RepoSage itself is painless.
- Find an open issue that interests you
- Click Start Contribution (yes, we use our own tool)
- Write your fix
- Push to your branch β your draft PR is already waiting
First time contributing to open source? RepoSage will walk you through it. That's the whole point.
Check out our Contributing Guide and please read our Code of Conduct to keep our community approachable and respectable.
This project is licensed under the MIT License β see the LICENSE file for details.
Built with obsession for the people who want to contribute but don't know where to start.