How rahulv-17/repolens-ai works
RepoLens AI imports GitHub repositories, analyzes their files and dependencies, persists repository insights, then presents them in a protected dashboard for exploration and repository-aware chat. The sampled controller shows the analysis orchestration and chat context flow; the README documents additional overview, health, and important-file capabilities. Authentication includes password, Google, profile, and email-reset flows. Some feature implementations were not sampled, so those are represented only at supported enclosing paths, and uncertain links are omitted.
Main entry points: repoController.ts Repository controller · App.tsx App routing · RepoAnalysis.tsx Analysis workspace · repoRoutes.ts Repository routes
Components 28
Developer experience
- App routing
frontend/src/App.tsx - Dashboard
frontend/src/pages/Dashboard.tsx - Analysis workspace
frontend/src/pages/RepoAnalysis.tsx - File explorer
frontend/src/components/FileExplorer.tsx - Dependency graph
frontend/src/components/DependencyGraph.tsx - Global search
frontend/src/components/GlobalSearchModal.tsx - Repository chat UI
frontend/src/components/AiChat.tsx - Auth pages
frontend/src/pages
Identity and access
- Auth routes
backend/src/routes/authRoutes.ts - Auth controller
backend/src/controllers/authController.ts - Auth middleware
backend/src/middleware/authMiddleware.ts
Repository analysis
- Repository routes
backend/src/routes/repoRoutes.ts - Repository controller
backend/src/controllers/repoController.ts - Repository cloning
backend/src/services/cloneService.ts - File scanning
backend/src/services/scannerService.ts - AST parsing
backend/src/parsers/astParser.ts - Graph generation
backend/src/graph/graphGenerator.ts
AI and exploration
- Context retrieval
backend/src/ai/contextRetriever.ts - Gemini service
backend/src/ai/geminiService.ts
Persistence and integrations
- API server
backend/src/server.ts - User records
backend/src/models/User.ts - Repository records
backend/src/models/Repository.ts - Chat history
backend/src/models/ChatHistory.ts
Other components
- Developer
- GitHub repository
- Google identity
- Email service
- Gemini API
Connections 29
- Developer → App routing: uses
- App routing → Auth pages: routes to
- App routing → Dashboard: routes to
- App routing → Analysis workspace: routes to
- Dashboard → Repository routes: requests repositories
- Analysis workspace → Repository routes: requests analysis
- Analysis workspace → File explorer: presents files
- Analysis workspace → Dependency graph: presents graph
- Analysis workspace → Repository chat UI: presents chat
- App routing → Global search: opens search
- Auth pages → Auth routes: submits credentials
- API server → Auth routes: mounts routes
- API server → Repository routes: mounts routes
- Auth routes → Auth controller: dispatches
- Repository routes → Auth middleware: protects routes
- Repository routes → Repository controller: dispatches
- Auth controller → User records: reads and writes
- Auth controller → Email service: sends reset email
- Google identity → Auth controller: provides identity
- Repository controller → Repository cloning: clones repository
- GitHub repository → Repository cloning: provides source
- Repository controller → File scanning: scans directory
- Repository controller → AST parsing: parses files
- Repository controller → Graph generation: generates graph
- Repository controller → Repository records: creates and queries
- Repository controller → Chat history: stores and reads chat
- Repository controller → Context retrieval: selects relevant context
- Repository controller → Gemini service: requests streamed answer
- Gemini service → Gemini API: calls model