RepoMind is an autonomous AI agent system that acts as a virtual senior software engineer for any GitHub repository. Paste a URL — and within minutes, RepoMind clones, analyzes, explains, and lets you chat with the entire codebase using natural language.
"From a GitHub URL to a full architectural briefing in under 2 minutes."
GitHub URL ──► Clone ──► Scan ──► Parse ──► AI Analysis
│
┌─────────────────────────────┘
▼
┌───────────────────────────────────┐
│ Intelligence Agent │
│ Architecture · Purpose · Patterns │
└──────────────┬────────────────────┘
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
Docs Agent Security Agent Q&A Agent
README · Guide Secrets · Vulns RAG · Chat
│ │ │
└─────────────────┴─────────────────┘
│
▼
Unified Dashboard
|
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────┐
│ REPOMIND SYSTEM │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Frontend (Next.js) Backend (Express.js) │
│ ┌─────────────────┐ ┌──────────────────────┐ │
│ │ Landing Page │◄───────►│ POST /api/analyze │ │
│ │ Dashboard │ │ GET /api/status │ │
│ │ Progress Track │ │ POST /api/chat │ │
│ │ Dep. Graph │ │ GET /api/graph │ │
│ │ Chat Panel │ │ GET /api/health │ │
│ └─────────────────┘ └──────────┬───────────┘ │
│ │ │
│ ┌──────────▼───────────┐ │
│ │ ORCHESTRATOR │ │
│ │ (State Machine) │ │
│ └──────────┬───────────┘ │
│ │ │
│ ┌───────────┬──────────┬───────┴──┬──────────┐ │
│ ▼ ▼ ▼ ▼ ▼ │
│ ┌───────┐ ┌────────┐ ┌────────┐ ┌───────┐ ┌────────┐ │
│ │Clone │ │Scanner │ │Parser │ │Intel. │ │ Docs │ │
│ │Agent │ │Agent │ │Agent │ │Agent │ │ Agent │ │
│ └───────┘ └────────┘ └────────┘ └───────┘ └────────┘ │
│ │
│ ┌───────────────────┐ ┌──────────────────┐ │
│ │ Security Agent │ │ Q&A Agent │ │
│ │ Regex + LLM Scan │ │ Keyword RAG │ │
│ └───────────────────┘ └──────────────────┘ │
│ │
│ AI Layer: Groq LLaMA 3.3 70B · Gemini text-embedding │
└─────────────────────────────────────────────────────────────────┘
RepoMind/
│
├── 📂 backend/
│ ├── 📄 server.js # Express entry point
│ ├── 📂 routes/
│ │ ├── 📄 analyze.js # POST /analyze · GET /status
│ │ └── 📄 chat.js # POST /chat
│ │
│ ├── 📂 orchestrator/
│ │ └── 📄 index.js # Agent pipeline coordinator
│ │
│ ├── 📂 agents/
│ │ ├── 📂 cloneAgent/ # GitHub repo cloning
│ │ │ └── 📄 index.js
│ │ ├── 📂 scannerAgent/ # File tree scanner
│ │ │ └── 📄 index.js
│ │ ├── 📂 parserAgent/ # Import & export parser
│ │ │ └── 📄 index.js
│ │ ├── 📂 intelligenceAgent/ # Core AI analysis
│ │ │ ├── 📄 index.js
│ │ │ └── 📄 prompts.js
│ │ ├── 📂 docsAgent/ # Documentation generator
│ │ │ └── 📄 index.js
│ │ ├── 📂 securityAgent/ # Vulnerability scanner
│ │ │ └── 📄 index.js
│ │ └── 📂 qaAgent/ # Q&A + RAG pipeline
│ │ ├── 📄 index.js
│ │ └── 📄 embedder.js
│ │
│ ├── 📂 services/
│ │ └── 📄 llm.js # Groq LLM wrapper
│ │
│ ├── 📂 utils/
│ │ ├── 📄 contextBuilder.js # LLM context builder
│ │ ├── 📄 ignoreFilter.js # File ignore rules
│ │ └── 📄 tokenCounter.js # Token estimator
│ │
│ ├── 📂 cloned_repos/ # Local repo storage
│ └── 📄 .env # Environment variables
│
└── 📂 frontend/
├── 📂 app/
│ ├── 📄 page.tsx # Root page
│ ├── 📄 layout.tsx # App layout
│ └── 📄 globals.css # Royal gold theme
│
├── 📂 components/
│ ├── 📄 LandingPage.tsx # Hero + URL input
│ ├── 📄 Dashboard.tsx # Main report view
│ ├── 📄 ProgressTracker.tsx # Live step tracker
│ ├── 📄 SummaryCard.tsx # Project summary
│ ├── 📄 TechStackCard.tsx # Tech badges
│ ├── 📄 HealthScoreCard.tsx # Score rings
│ ├── 📄 ArchitectureView.tsx # Mermaid diagram
│ ├── 📄 DependencyGraph.tsx # D3 Canvas graph
│ ├── 📄 FileExplorer.tsx # Important files
│ ├── 📄 SecurityReport.tsx # Security issues
│ ├── 📄 ChatPanel.tsx # Ask Repo chat
│ └── 📄 AnimatedBackground.tsx # Canvas animations
│
├── 📄 .env.local # Frontend env vars
└── 📄 tailwind.config.ts # Tailwind config
node >= 18.0.0
npm >= 9.0.0
gitgit clone https://github.com/yourusername/RepoMind.git
cd RepoMindcd backend
npm installCreate .env file:
GROQ_API_KEY=your_groq_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here
PORT=3001
NODE_ENV=developmentStart backend:
npm run dev
# RepoMind backend running on :3001cd ../frontend
npm installCreate .env.local file:
NEXT_PUBLIC_API_URL=http://localhost:3001Start frontend:
npm run dev
# Ready at http://localhost:3000Open http://localhost:3000, paste any GitHub URL, and click Analyze!
https://github.com/expressjs/express ← great starter
https://github.com/fastapi/fastapi ← Python example
https://github.com/vitejs/vite ← modern tooling
| Service | Used For | Cost | Get Key |
|---|---|---|---|
|
|
LLM inference (all AI analysis) |
100% Free |
console.groq.com |
|
|
Text embeddings (Q&A search) |
Free Tier |
aistudio.google.com |
RepoMind runs completely free — no credit card required for the hackathon demo!
Start analyzing a GitHub repository.
// Request
{
"url": "https://github.com/expressjs/express"
}
// Response
{
"jobId": "4e7c5990-b820-4dba-9212-f409ecb4c32e"
}Poll the analysis progress.
// Response (running)
{
"status": "running",
"progress": [
{ "step": "Cloning repository", "status": "done" },
{ "step": "Scanning files", "status": "done" },
{ "step": "Running AI analysis", "status": "running" }
]
}
// Response (done)
{
"status": "done",
"report": {
"projectName": "express",
"purpose": "Fast, unopinionated web framework for Node.js",
"techStack": ["Node.js", "JavaScript", "HTTP"],
"healthScore": {
"maintainability": 88,
"security": 76,
"documentation": 95,
"complexity": 72,
"scalability": 90
},
"importantFiles": [...],
"securityIssues": [...],
"generatedDocs": { "readme": "...", "setupGuide": "..." }
}
}Ask a question about the analyzed repository.
// Request
{
"jobId": "4e7c5990-b820-4dba-9212-f409ecb4c32e",
"question": "How is routing handled?",
"projectName": "express"
}
// Response
{
"answer": "Express routing is handled through the Router class...",
"sources": ["lib/router/index.js", "lib/router/route.js"]
}Get dependency graph data for visualization.
Backend health check.
{ "status": "ok", "timestamp": "2026-05-09T..." }| Agent | Responsibility | Technology |
|---|---|---|
| Clone Agent | Clone repos, validate URLs, manage storage | simple-git, GitHub API |
| Scanner Agent | Recursive file scanning, ignore filtering, content extraction | Node.js fs module |
| Parser Agent | Import/export analysis, entry point detection, dependency mapping | Regex, AST patterns |
| Intelligence Agent | Architecture understanding, purpose extraction, health scoring | Groq LLaMA 3.3 70B |
| Docs Agent | README generation, setup guides, architecture docs, Mermaid diagrams | Groq LLaMA 3.3 70B |
| Security Agent | Secret detection, dangerous pattern scanning, vulnerability analysis | Regex + Groq LLM |
| Q&A Agent | Natural language Q&A, keyword RAG retrieval, source attribution | Keyword Search + Groq |
- Push code to GitHub
- Go to render.com → New Web Service
- Connect your repo, set root to
backend/ - Build command:
npm install - Start command:
node server.js - Add environment variables:
GROQ_API_KEY,GEMINI_API_KEY
cd frontend
npx vercel --prodAdd environment variable in Vercel dashboard:
NEXT_PUBLIC_API_URL= your Render backend URL
- Multi-agent pipeline (7 agents)
- AI-powered repository analysis
- Interactive dependency graph
- RAG-based Q&A chat
- Security vulnerability scanner
- Auto documentation generation
- Live progress tracking
- Royal gold UI theme
- Animated canvas backgrounds
- Deploy to Render + Vercel
- GitHub OAuth login
- Repository history & saved analyses
- PR diff analysis ("what changed?")
- GitHub Actions bot integration
- Tree-sitter deep AST parsing
- Multi-repo comparison
- VS Code extension
- Organization-wide analytics
Contributions are welcome! Here's how to get started:
# Fork the repo, then:
git clone https://github.com/Puskar2Sora/RepoMind.git
cd RepoMind
git checkout -b feature/your-amazing-feature
# Make your changes
git commit -m "feat: add amazing feature"
git push origin feature/your-amazing-feature
# Open a Pull Request Please read CONTRIBUTING.md for our code of conduct and contribution guidelines.
This project is licensed under the MIT License — see the LICENSE file for details.
⭐ Star this repo if RepoMind helped you understand a codebase!
Made by PUSKAR NATH



