How kshitiz-shah/repowise works
RepoWise lets developers connect a public GitHub repository, index its source, explore a generated architecture graph, ask codebase questions with cited snippets, and analyze issues. The main path runs from the client through the authenticated Node API to repository/GitHub services and the independent FastAPI intelligence service. The graph also preserves account/session and the distinct indexing, architecture, retrieval, and issue-analysis capabilities. README and sampled files support the major routes and selected service wiring; unsampled AI route internals are shown at their enclosing service paths, with uncertain internal calls omitted.
Main entry points: main.py AI HTTP app · retrieval_service.py RAG orchestration · llm_service.py LLM service · App.tsx Workspace UI
Components 26
Client
- Workspace UI
client/src/App.tsx - API client
client/src/api.ts - Architecture graph
client/src/ArchitectureGraph.tsx - Graph state/layout
client/src/hooks/useArchitectureGraph.ts
Node API
- API routing
server/src/routes/repository.routes.ts - Auth routing
server/src/routes/auth.routes.ts - Repository handlers
server/src/controllers/repository.controller.ts - Auth handlers
server/src/controllers/auth.controller.ts - Repository rules
server/src/services/repository.service.ts - Authentication
server/src/services/auth.service.ts - AI client
server/src/services/ai.service.ts
AI intelligence
- AI HTTP app
ai-service/app/main.py - Source indexing
ai-service/app/services/indexing_service.py - Architecture analysis
ai-service/app/services/architecture_service.py - Issue analysis
ai-service/app/services/issue_service.py - RAG orchestration
ai-service/app/services/retrieval_service.py - Embeddings
ai-service/app/services/embedding_service.py - LLM service
ai-service/app/services/llm_service.py - LLM providers
ai-service/app/providers/base.py - Vector service
ai-service/app/services/vector_service.py
Data and integrations
- PostgreSQL
- Qdrant
- GitHub
- Gemini
- Groq
Other components
- Developer
Connections 29
- Developer → Workspace UI: uses
- Workspace UI → API client: requests
- Workspace UI → Architecture graph: renders
- Architecture graph → Graph state/layout: manages graph
- API client → API routing: calls API
- API routing → Repository handlers: dispatches
- Auth routing → Auth handlers: dispatches
- Repository handlers → Repository rules: loads files
- Repository handlers → AI client: requests analysis
- Auth handlers → Authentication: authenticates
- Repository rules → PostgreSQL: reads/writes
- Repository rules → GitHub: fetches source
- Authentication → PostgreSQL: stores sessions
- AI client → AI HTTP app: forwards requests
- AI HTTP app → Source indexing: dispatches indexing
- AI HTTP app → Architecture analysis: dispatches architecture
- AI HTTP app → RAG orchestration: dispatches queries
- AI HTTP app → Issue analysis: dispatches issue analysis
- Source indexing → Embeddings: embeds code
- Source indexing → Vector service: indexes vectors
- RAG orchestration → Embeddings: embeds query
- RAG orchestration → Vector service: searches chunks
- RAG orchestration → LLM service: generates answers
- Issue analysis → LLM service: requests analysis
- Architecture analysis → LLM service: requests structured output
- Vector service → Qdrant: reads/writes vectors
- LLM service → LLM providers: selects/falls back
- LLM providers → Gemini: calls
- LLM providers → Groq: calls