AI-Powered GitHub Repository Analysis & Developer Arena
Live Demo β’ Documentation β’ Report Bug β’ Request Feature
gh.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.
- 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
- ELO Rankings: Competitive developer rankings based on GitHub activity
- Code Battles: Challenge other developers and showcase your skills
- Tournaments: Participate in coding competitions
- Achievements: Unlock badges and track your progress
- Unified Authentication System: 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) support
- Stripe payment integration
- PostgreSQL database with Drizzle ORM
- Type-safe tRPC API
# 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:
gh.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) |
| Language | TypeScript |
| Runtime | Bun |
| Database | PostgreSQL + Drizzle ORM |
| Authentication | Better Auth (OAuth) + GitHub App |
| API | tRPC |
| AI | Google Gemini via Vercel AI SDK |
| GitHub | Octokit |
| Styling | Tailwind CSS + shadcn/ui |
| Payments | Stripe |
| Resend | |
| Deployment | Vercel |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Next.js App Router β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Server β β Client β β API β β
β β Components β β Components β β Routes β β
β ββββββββ¬ββββββββ ββββββββ¬ββββββββ ββββββββ¬ββββββββ β
β β β β β
β βββββββββββββββββββ΄ββββββββββββββββββ β
β β β
β ββββββββ΄ββββββββ β
β β tRPC β β
β β API Layer β β
β ββββββββ¬ββββββββ β
β β β
β βββββββββββββββββββ΄ββββββββββββββββββ β
β β β β
β ββββββββ΄ββββββββ βββββββββ΄βββββββββ β
β β Database β β External β β
β β (Drizzle) β β Services β β
β β β β β β
β β β’ PostgreSQL β β β’ GitHub API β β
β β β’ Migrations β β β’ Gemini AI β β
β β β’ Caching β β β’ Stripe β β
β ββββββββββββββββ ββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
github.gg/
βββ src/
β βββ app/ # Next.js App Router pages
β βββ components/ # React components
β βββ lib/
β β βββ ai/ # AI analysis modules
β β βββ auth/ # Unified auth system (better-auth)
β β βββ github/ # GitHub API & App integration
β β βββ trpc/ # tRPC routes and procedures
β βββ db/ # Database schema and migrations
β βββ styles/ # Global styles
βββ tests/ # Test files
βββ docs/ # Documentation
βββ drizzle/ # Database migrations
See package.json for all available scripts. Common commands:
bun dev # Start development server
bun run db:start # Start PostgreSQL with Docker
bun run db:studio # Open Drizzle Studio
bun test # Run testsSee .env.example for all configuration options. The setup script automatically creates .env.local with development defaults.
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
- Testing Guide: How to test PR review features
- Activation Guide: Setting up the GitHub App
- API Documentation: tRPC API reference
- 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
- Dev Rank ELO rankings
- Code battles and tournaments
- Team analytics
- 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 gh.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 gh.gg community
Note: gh.gg is not affiliated with, endorsed by, or sponsored by GitHub, Inc. GitHub is a registered trademark of GitHub, Inc.