How shakthinami/repobrief works
RepoBrief is a team platform for indexing GitHub repositories, answering codebase questions, analyzing meeting audio, and managing project collaboration and credits. The main journey is sign-in, create a repository project, index its files, then ask questions and review cited code; meetings and billing are parallel product workflows. The graph combines sampled call paths with README-documented capabilities. Several UI-to-route connections and unsampled team/auth internals are not shown where wiring could not be verified.
Main entry points: prisma.ts Prisma database · embeddingPipeline.ts Repository indexer · route.ts Q&A endpoint · page.tsx Create project
Components 25
Projects and indexing
- Create project
src/app/(protected)/create/page.tsx - Repository indexer
src/lib/embeddingPipeline.ts - GitHub loader
src/lib/githubLoader.ts - Project dashboard
src/app/(protected)/dashboard/page.tsx
Codebase Q&A
- Q&A interface
src/app/(protected)/qa/page.tsx - Q&A endpoint
src/app/api/qa/route.ts - Keyword Q&A
src/app/api/simple-qa/route.ts - Saved questions API
src/app/api/save-question/route.ts - Saved question lookup
src/app/api/get-saved-questions/route.ts
Meeting analysis
- Meeting upload UI
src/components/meeting-transcription.tsx - Transcription API
src/app/api/transcribe/route.ts - Meeting transcription storage
src/lib/meeting-storage.ts
Teams and billing
- Project membership APIs
src/app/api/projects/[projectId]/members/route.ts - Billing and credits
src/app/(protected)/billing/page.tsx - Stripe checkout
src/app/actions/stripe.ts - Stripe webhook
src/app/api/webhooks/stripe/route.ts - Credit balance APIs
src/app/api/get-credits/route.ts
Persistence and integrations
- GitHub API
- Gemini AI
- AssemblyAI
- Supabase
- Clerk authentication
- Stripe
- Prisma database
src/lib/prisma.ts
Other components
- Team member
Connections 32
- Team member → Create project: creates project
- Create project → Repository indexer: starts indexing
- Repository indexer → GitHub loader: loads files
- GitHub loader → GitHub API: fetches repository
- Repository indexer → Gemini AI: summarizes and embeds
- Repository indexer → Prisma database: stores embeddings
- Team member → Q&A interface: asks question
- Q&A interface → Q&A endpoint: submits question
- Q&A endpoint → Prisma database: reads indexed files
- Q&A endpoint → Gemini AI: generates answer
- Q&A endpoint → Q&A interface: returns answer and references
- Keyword Q&A → Prisma database: reads project files
- Keyword Q&A → Gemini AI: generates answer
- Team member → Saved questions API: saves answer
- Saved questions API → Prisma database: writes question
- Saved question lookup → Prisma database: reads saved questions
- Team member → Meeting upload UI: uploads audio
- Meeting upload UI → Transcription API: submits audio URL
- Transcription API → AssemblyAI: submits and checks job
- Meeting upload UI → Meeting transcription storage: saves transcription
- Meeting transcription storage → Supabase: reads and writes records
- Transcription API → Supabase: looks up and deletes records
- Team member → Project membership APIs: manages membership
- Project membership APIs → Prisma database: updates project members
- Team member → Billing and credits: manages credits
- Billing and credits → Stripe checkout: starts purchase
- Stripe checkout → Stripe: creates checkout
- Stripe → Stripe webhook: sends payment event
- Stripe webhook → Prisma database: updates credits and transactions
- Credit balance APIs → Prisma database: reads credit balance
- Create project → Clerk authentication: requires sign-in
- Project dashboard → Prisma database: uses project data