Repolyze
Analyze your GitHub repository with actionable insights, visual diagrams, and exportable reports.
Install / Use
/learn @OssiumOfficial/RepolyzeREADME
Understand Any Codebase in Seconds
AI insights on your GitHub repo - understand quality, design, security, and improvement opportunities in seconds.
Now owned and maintained by Ossium
<br />Features • Quick Start • API Reference • Contributing • Code of Conduct • License
<br /> <img src="public/og-image.png" alt="Repository Overview" width="750" />🔹 Data Flow Diagram
<img src="public/data-flow-diagram.png" alt="Data Flow Diagram" width="750" />🔹 PDF Export
<img src="public/pdf.png" alt="PDF Export Screenshot" width="750" />🔹 Repository Score & Insights
<img src="public/repo-score.png" alt="Repository Score" width="750" />🔹 Repository Score Image
<img src="public/Repolyze-the-algorithm-main.png" alt="Repository Score" width="750" /> </div>About
Repolyze is an open-source tool that leverages AI to analyze GitHub repositories instantly. Whether you're evaluating a new library, onboarding to a codebase, or auditing your own project, Repolyze provides comprehensive insights in seconds.
Why Repolyze?
| Benefit | Description | | ---------------------- | --------------------------------------------------- | | Save Hours | Understand any codebase in seconds, not hours | | AI-Powered | Intelligent analysis using advanced language models | | Comprehensive | Code quality, security, architecture, and more | | Branch Support | Analyze any branch, not just the default | | Beautiful UI | Modern, responsive interface with dark mode | | Privacy First | No code is stored; analysis happens in real-time | | Free & Open Source | MIT licensed, community-driven |
Features
Core Analysis
| Feature | Description | | ------------------------- | ------------------------------------------------------- | | Health Scoring | Comprehensive score (0-100) for overall code quality | | Architecture Analysis | Visualize component relationships and structure | | Security Insights | Identify potential vulnerabilities and security issues | | Dependency Analysis | Understand package dependencies and outdated packages | | Tech Stack Detection | Automatically identify frameworks and technologies | | AI Recommendations | Get actionable improvement suggestions | | Branch Analysis | Analyze any branch in the repository | | Data Flow Diagrams | Interactive Mermaid diagrams showing data flow patterns |
Export & Sharing
| Feature | Description | | ------------------- | -------------------------------------------- | | Copy Plain Text | Copy analysis report as formatted plain text | | Copy Markdown | Copy full report in Markdown format | | Download PDF | Export detailed PDF report with all insights | | Share Cards | Download beautiful share cards as images | | Social Sharing | Share on Twitter, LinkedIn, or copy link |
User Experience
| Feature | Description | | ------------------------- | -------------------------------------------------- | | Interactive File Tree | Explore repository structure with file statistics | | Real-time Progress | Watch the analysis happen live with status updates | | Dark/Light Mode | Beautiful themes for any preference | | Fully Responsive | Works seamlessly on desktop, tablet, and mobile | | Lightning Fast | Built with Next.js 16 for optimal performance | | Smart Caching | Recently analyzed repos load instantly |
Quick Start
Prerequisites
- Node.js 18.0 or higher
- pnpm (recommended) or npm/yarn
- Git
# Verify Node.js version
node --version # Should be >= 18.0.0
# Install pnpm if needed
npm install -g pnpm
Installation
# 1. Clone the repository
git clone https://github.com/OssiumOfficial/Repolyze.git
cd Repolyze
# 2. Install dependencies
pnpm install
# 3. Set up environment variables
cp .env.example .env.local
# 4. Add your API keys (see Environment Variables section)
# 5. Start development server
pnpm dev
# 6. Open http://localhost:3000
Environment Variables
Create a .env.local file with the following:
# ===========================================
# REQUIRED
# ===========================================
# GitHub Personal Access Token
# Get yours at: https://github.com/settings/tokens
# Required scopes: repo, read:user
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
# OpenRouter API Key
# Get yours at: https://openrouter.ai/keys
OPENROUTER_API_KEY=sk-or-xxxxxxxxxxxxxxxxxxxx
# ===========================================
# OPTIONAL
# ===========================================
# Site URL (for SEO and social sharing)
NEXT_PUBLIC_SITE_URL=http://localhost:3000
# Cache duration in seconds (default: 3600)
CACHE_TTL=3600
<details>
<summary><b>📋 How to Get API Keys</b></summary>
GitHub Personal Access Token
- Go to GitHub Settings → Developer settings → Personal access tokens → Tokens (classic)
- Click "Generate new token (classic)"
- Select scopes:
repo,read:user - Copy the token and add it to
.env.local
OpenRouter API Key
- Go to OpenRouter
- Sign up and navigate to Settings → API Keys
- Create a new key and add it to
.env.local
🛠️ Tech Stack
| Category | Technologies | | -------------- | ---------------------------------- | | Framework | Next.js 16, React 19, TypeScript 5 | | Styling | Tailwind CSS 4, shadcn/ui | | Animation | Framer Motion | | Diagrams | Mermaid | | PDF Export | jsPDF | | AI | OpenRouter | | Deployment | Vercel |
📁 Project Structure
Repolyze/
├── app/
│ ├── api/
│ │ ├── analyze/
│ │ │ ├── route.ts # POST /api/analyze - Main analysis endpoint
│ │ │ ├── config.ts # API configuration & constants
│ │ │ ├── types.ts # Request/Response type definitions
│ │ │ ├── validators.ts # Input validation schemas
│ │ │ ├── rate-limit.ts # Rate limiting middleware
│ │ │ └── stream-handler.ts # SSE streaming handler
│ │ └── branches/
│ │ └── route.ts # GET /api/branches - Fetch repo branches
│ ├── share/
│ │ └── page.tsx # Shareable analysis page
│ ├── layout.tsx # Root layout with providers
│ ├── page.tsx # Home page
│ └── globals.css # Global styles & Tailwind imports
│
├── components/
│ ├── ui/ # shadcn/ui components (button, card, dialog, etc.)
│ │
│ ├── repo-analyzer/
│ │ ├── index.tsx # Main analyzer orchestrator
│ │ ├── section-header.tsx # Reusable section headers
│ │ └── automations.ts # Automation suggestions logic
│ │
│ ├── analysis-header/
│ │ ├── index.tsx # Analysis results header
│ │ ├── branch-selector.tsx # Branch selection dropdown
│ │ └── summary-actions.tsx # Export & share action buttons
│ │
│ ├── file-tree/
│ │ ├── index.tsx # File tree container
│ │ ├── tree-node.tsx # Individual tree node component
│ │ ├── language-tags.tsx # Language indicator badges
│ │ └── types.ts # File tree type definitions
│ │
│ ├── share-card/
│ │ ├── index.tsx # Share card generator
│ │ ├── variants/ # Card variants (compact, default, detailed)
│ │ ├── technical-frame.tsx # Technical info frame
│ │ └── types.ts # Share card types
│ │
│ ├── share-modal/
│ │ ├── index.tsx # Share modal entry point
│ │ ├── desktop-dialog.tsx # Desktop share dialog
│ │ ├── mobile-drawer.tsx # Mobile share drawer
│ │ └── action-sections.tsx # Share action buttons
│ │
│ ├── testimonial/
│ │ ├── masonry.tsx # Masonry layout for testimonials
│ │ ├── testimonial.tsx # Individual testimonial card
│ │ └── data.ts # Testimonial data
│ │
│ ├── ai-insights.tsx # AI-generated insights display
│ ├── automation-panel.tsx # Automation suggestions panel
│ ├── architecture-diagram.tsx # Architecture visualization
│ └── data-flow-di
