AI-Powered GitHub Analysis, Developer Arena & GitHub Wrapped
Live Demo β’ Documentation β’ Report Bug β’ Request Feature
github.gg is an open-source platform that transforms how developers analyze and understand GitHub repositories. Using AI-powered analysis, it provides deep insights into code quality, repository health, and developer contributions.
Your year in code, Spotify Wrapped style. A viral, shareable year-in-review experience for developers.
- Animated Story Experience: Instagram/TikTok-style slides with auto-advancing playback
- Real-time Generation: tRPC subscriptions with SSE for live progress updates
- Contribution Calendar: Beautiful heatmap visualization of your commit activity
- AI Personality Insights: Get your "Developer Personality" (e.g., "The Midnight Archaeologist")
- Gift to Friends: Generate wrapped for any GitHub user and send email notifications
- Profile Badges: Embeddable SVG/PNG badges for your GitHub README
- Star-Gate: Star the repo to unlock your Wrapped (viral growth mechanic)
Slides include: Intro β Commits & PRs β Languages β Coding Schedule β Contribution Calendar β Highlights β AI Personality β Share
- Repository Scorecards: Comprehensive code quality metrics with AI-generated insights
- PR Code Reviews: Automated code review with security, performance, and maintainability analysis
- Issue Triage: Intelligent issue classification with "slop ranking" and priority suggestions
- Commit Analysis: Deep dive into commit quality and best practices
- Interactive Diagrams: Visualize repository structure, dependencies, and file relationships
- Score History: Track repository and developer metrics over time
- GitHub App Integration: Automated PR reviews and issue analysis via webhooks
- AI-Generated Wikis: Automatically generate documentation for any repository
- Collaborative Editing: Milkdown-based markdown editor with live preview
- Version Control: Track wiki page history and changes
- ELO Rankings: Competitive developer rankings based on GitHub activity
- Code Duels: Challenge other developers and compare skills
- Leaderboards: See how you stack up against other developers
- Unified Authentication: Single
better-authOAuth with GitHub provider - GitHub App Integration: Enhanced permissions for private repos and webhooks
- Installation Linking: Seamlessly connect OAuth accounts with GitHub App installations
- Bring Your Own API Key (BYOK): Use your own AI API keys
- Stripe Payment Integration: Pro subscriptions for advanced features
- PostgreSQL + Drizzle ORM: Type-safe database operations
# Clone the repository
git clone https://github.com/lantos1618/github.gg.git
cd github.gg
# Run automated setup
bun run setupThis will:
- β Install all dependencies
- β
Create
.env.localconfiguration file - β Start PostgreSQL database with Docker
- β Run database migrations
- Go to GitHub Developer Settings
- Click "New OAuth App"
- Fill in the details:
- Application name:
github.gg-dev - Homepage URL:
http://localhost:3000 - Authorization callback URL:
http://localhost:3000/api/auth/callback/github
- Application name:
- Copy the Client ID and Client Secret
- Update your
.env.localfile:
GITHUB_CLIENT_ID=your_client_id_here
GITHUB_CLIENT_SECRET=your_client_secret_herebun devOpen http://localhost:3000 π
| Layer | Technology |
|---|---|
| Framework | Next.js 15+ (App Router, Turbopack) |
| Language | TypeScript 5.9 |
| Runtime | Bun |
| Database | PostgreSQL + Drizzle ORM |
| Authentication | Better Auth (OAuth) + GitHub App |
| API | tRPC with SSE Subscriptions |
| AI | Google Gemini via Vercel AI SDK |
| State | Zustand + TanStack Query |
| GitHub | Octokit |
| Styling | Tailwind CSS 4 + shadcn/ui |
| Animations | Framer Motion |
| Payments | Stripe |
| Resend + React Email | |
| Rate Limiting | Upstash Redis |
| Deployment | Vercel |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Next.js App Router β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Server β β Client β β API β β
β β Components β β Components β β Routes β β
β ββββββββ¬ββββββββ ββββββββ¬ββββββββ ββββββββ¬ββββββββ β
β β β β β
β βββββββββββββββββββ΄ββββββββββββββββββ β
β β β
β ββββββββ΄ββββββββ β
β β tRPC β β
β β + SSE Streams β β
β ββββββββ¬ββββββββ β
β β β
β βββββββββββββββββββ΄ββββββββββββββββββ β
β β β β
β ββββββββ΄ββββββββ βββββββββ΄βββββββββ β
β β Database β β External β β
β β (Drizzle) β β Services β β
β β β β β β
β β β’ PostgreSQL β β β’ GitHub API β β
β β β’ Migrations β β β’ Gemini AI β β
β β β’ Caching β β β’ Stripe β β
β β β β β’ Resend Email β β
β ββββββββββββββββ ββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
github.gg/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ wrapped/ # GitHub Wrapped feature
β β βββ arena/ # Developer Arena & Leaderboards
β β βββ wiki/ # AI-generated wikis
β β βββ api/ # API routes (tRPC, webhooks)
β βββ components/
β β βββ wrapped/ # Wrapped slides & animations
β β βββ arena/ # Arena UI components
β β βββ wiki/ # Wiki editor & viewer
β β βββ ui/ # shadcn/ui components
β βββ lib/
β β βββ ai/ # AI analysis modules
β β βββ auth/ # Unified auth system (better-auth)
β β βββ github/ # GitHub API & App integration
β β βββ trpc/ # tRPC routes and procedures
β β βββ email/ # Email templates (React Email)
β βββ db/ # Database schema (Drizzle)
βββ tests/ # Test files
βββ docs/ # Documentation
βββ drizzle/ # Database migrations
bun dev # Start development server (Turbopack)
bun run build # Build for production
bun run db:start # Start PostgreSQL with Docker
bun run db:studio # Open Drizzle Studio
bun run db:push # Push schema changes
bun test # Run testsSee .env.example for all configuration options. Key variables:
# Required
DATABASE_URL=postgresql://...
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
BETTER_AUTH_SECRET=...
# AI Features
GOOGLE_GENERATIVE_AI_API_KEY=...
# Payments (optional)
STRIPE_SECRET_KEY=...
STRIPE_WEBHOOK_SECRET=...
# Email (optional)
RESEND_API_KEY=...We love contributions! Whether it's bug fixes, feature additions, or documentation improvements.
- Fork the repository
- Create a feature branch
git checkout -b feature/AmazingFeature
- Make your changes
- Write tests for new features
- Follow the existing code style
- Update documentation as needed
- Commit your changes
git commit -m 'feat: Add some amazing feature' - Push to your fork
git push origin feature/AmazingFeature
- Open a Pull Request
- Code Style: Follow the existing TypeScript and React patterns
- Testing: Write tests for new features (
bun test) - Type Safety: Maintain 100% TypeScript coverage
- Documentation: Update docs for API changes
- Commits: Use Conventional Commits
- π¨ UI/UX improvements
- π Documentation and tutorials
- π Bug fixes and testing
- π Internationalization (i18n)
- β‘ Performance optimizations
- π New integrations and features
- Setup Guide: Detailed local development setup
- Activation Guide: Setting up the GitHub App
- Component Patterns: React component conventions
- GitHub Wrapped Spec: Wrapped feature specification
- Click the button above
- Set up environment variables in Vercel dashboard
- Connect your PostgreSQL database (Vercel Postgres, Supabase, etc.)
- Deploy!
# Build the application
bun run build
# Start production server
bun startImportant: Run database migrations before deploying:
bun run db:push- Repository analysis with AI
- PR code reviews
- Issue triage and analysis
- Commit analysis
- Interactive diagrams
- Score history tracking
- GitHub App integration
- Webhook support for automated reviews
- GitHub Wrapped with animated slides
- AI personality insights
- Gift wrapped to friends
- Arena leaderboards
- Wiki system
- Profile badges (SVG/PNG embeds)
- Code battles and tournaments
- Team analytics
- Historical wrapped comparison (year-over-year)
- VS Code extension
- Browser extension
- API for third-party integrations
- Self-hosted enterprise version
See the open issues for a full list of proposed features and known issues.
- Thanks to all contributors who have helped build github.gg
- Built with amazing open-source projects: Next.js, Bun, Drizzle, tRPC, and more
- Inspired by the GitHub community and the need for better code analysis tools
Distributed under the MIT License. See LICENSE for more information.
- Website: https://github.gg
- GitHub: https://github.com/lantos1618/github.gg
- Issues: https://github.com/lantos1618/github.gg/issues
- Discussions: https://github.com/lantos1618/github.gg/discussions
β Star us on GitHub if you find this project useful! β
Made with β€οΈ by the github.gg community
Note: github.gg is not affiliated with, endorsed by, or sponsored by GitHub, Inc. GitHub is a registered trademark of GitHub, Inc.