AI-powered code analysis that reviews your GitHub repositories like a senior engineer.
| Feature | Description |
|---|---|
| 🧠 AI Code Analysis | Deep analysis of your codebase using Google Gemini AI |
| � Health Score | Get a 0-100 score based on code quality, security, and best practices |
| 🐛 Issue Detection | Find bugs, security vulnerabilities, and architectural problems |
| 📝 README Generation | Auto-generate professional README.md files |
| 💬 AI Chat | Ask questions about your codebase with context-aware responses |
| � Private Repos | Analyze private repositories with GitHub OAuth |
| 🏷️ Badge Generation | Create embeddable repo badges for your README |
Get a comprehensive overview of your repository's health, including a calculated score, issue breakdown, and critical insights.
Transform your documentation instantly. RepoJudge analyzes your code structure and generates a professional Markdown file ready for GitHub.
Got questions? Chat with an AI that understands your specific repository context.
"How can I refactor the auth service?" "What security vulnerabilities exist in api.js?"
---### Prerequisites
- Node.js 18+
- GitHub OAuth App (for private repos)
- Google Gemini API Key
# Clone the repository
git clone https://github.com/yourusername/repojudge.git
cd repojudge
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your API keys
# Start the server
npm startGEMINI_API_KEY=your_gemini_api_key
SESSION_SECRET=your_random_session_secretThese values are collected in the API Settings modal on first visit and sent to the backend via headers/query. .env is no longer required for these keys.
Set these on the backend (Worker/Node environment), not in the frontend:
GITHUB_CLIENT_ID=your_github_oauth_client_id
GITHUB_CLIENT_SECRET=your_github_oauth_client_secretRepoJudge can run on GitHub Pages as a static frontend that talks to a separately hosted backend.
- Deploy the Node backend (same codebase).
- Build the static frontend:
npm run build # or pnpm build - Configure GitHub Pages to serve the
/docsfolder. - Open
dashboard.htmland set:- Gemini API key
- Session secret
On first visit the site prompts for these values. If localStorage is available, they are stored on the client device.
If your backend is on a different origin, set window.__API_BASE__ before app.js loads (for example in public/index.html and public/dashboard.html, or in docs/ after build).
You can run the backend on Cloudflare Workers and keep the GitHub Pages frontend static.
- Create KV namespaces:
wrangler kv:namespace create repojudge_sessions wrangler kv:namespace create repojudge_cache
- Update
wrangler.tomlwith the KV IDs forSESSIONSandCACHE. - Set Worker secrets (recommended):
wrangler secret put GITHUB_CLIENT_ID wrangler secret put GITHUB_CLIENT_SECRET # Optional (if you don't want to enter them in the frontend) wrangler secret put GEMINI_API_KEY wrangler secret put SESSION_SECRET - Deploy the worker:
wrangler deploy
- Point the frontend to the worker origin by setting:
<script> window.__API_BASE__ = 'https://your-worker.yourdomain.workers.dev'; </script>
- Update your GitHub OAuth App callback URL to:
https://your-worker.yourdomain.workers.dev/auth/github/callback
The frontend asks for GEMINI_API_KEY and SESSION_SECRET on first visit. GitHub OAuth uses backend secrets.
- Go to GitHub Developer Settings
- Click "New OAuth App"
- Fill in:
- Application name: RepoJudge
- Homepage URL: http://localhost:3000
- Authorization callback URL: http://localhost:3000/auth/github/callback
- Configure Client ID and Client Secret on the backend (Worker/Node environment)
- Backend: Node.js, Express.js
- AI: Google Gemini 2.0 Flash
- Frontend: Vanilla HTML/CSS/JavaScript
- Auth: GitHub OAuth 2.0
- Styling: Custom CSS with dark theme
- Paste a GitHub URL or select from your repos
- AI analyzes the codebase structure and key files
- Get a detailed report with:
- Health score (0-100)
- Prioritized issues by severity
- Security vulnerabilities
- Auto-generated README
- Competitor suggestions
MIT License - feel free to use this project however you want!
- Google Gemini AI for the powerful analysis engine
- Boxicons for beautiful icons
- Inter Font for clean typography
Made with ❤️ by grxtor YongDo-Hyun

