# badalsahu200ns-png/repopilot architecture

> Architecture diagram of the GitHub repository badalsahu200ns-png/repopilot, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/badalsahu200ns-png/repopilot
- Repository: https://github.com/badalsahu200ns-png/repopilot

## Overview

RepoPilot guides developers from repository connection through codebase analysis, evidence-backed questions, change-impact analysis, task planning, IBM Bob assistance, and verification. The graph emphasizes those domain stages and the API, auth, and persistence layers that support them. README-described task planning and verification are included at their documented paths; their implementations were not sampled, so their internal wiring is not inferred.

Main entry points: [`src/lib/supabase/server.ts`](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/lib/supabase/server.ts) (Data adapter), [`src/app/api/repositories/[id]/analyze/route.ts`](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/%5Bid%5D/analyze/route.ts) (Codebase X-Ray), [`src/app/api/repositories/route.ts`](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/route.ts) (Repository connection), [`src/app/api/repositories/[id]/ask/route.ts`](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/%5Bid%5D/ask/route.ts) (Evidence answers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Developer workflow"]
  node_repo_ui["Repository workspace<br/>[page.tsx]"]
  node_connect_api["Repository connection<br/>[route.ts]"]
end

subgraph group_intelligence["Repository intelligence"]
  node_analysis_api["Codebase X-Ray<br/>[route.ts]"]
  node_github_client["GitHub access<br/>[client.ts]"]
  node_ask_ui["Codebase Q&amp;A<br/>[page.tsx]"]
  node_ask_api["Evidence answers<br/>[route.ts]"]
  node_impact_ui["Change impact<br/>[page.tsx]"]
  node_impact_api["Impact analysis<br/>[route.ts]"]
end

subgraph group_execution["Planning and execution"]
  node_task_ui["Task workflow<br/>[page.tsx]"]
  node_tasks_api["Task management<br/>[route.ts]"]
  node_plan_api["Task planning<br/>[route.ts]"]
  node_bob_ui["Bob assistance<br/>[route.ts]"]
  node_verify_ui["Verification center<br/>[page.tsx]"]
end

subgraph group_platform["Auth and persistence"]
  node_auth_api["Authentication routes<br/>[route.ts]"]
  node_session["Session management<br/>[session.ts]"]
  node_data_adapter["Data adapter<br/>[server.ts]"]
  node_local_db[("Local JSON store<br/>[localDb.ts]")]
end

node_developer(("Developer"))
node_github(("GitHub API"))
node_gemini(("Gemini API"))
node_ibm(("IBM watsonx"))
node_supabase[("Supabase")]

node_developer -->|"connects repository"| node_connect_api
node_connect_api -->|"checks access"| node_github_client
node_github_client -->|"requests repository data"| node_github
node_connect_api -->|"stores repository"| node_data_adapter
node_developer -->|"opens repository"| node_repo_ui
node_repo_ui -->|"requests analysis"| node_analysis_api
node_analysis_api -->|"gets user token"| node_github_client
node_analysis_api -->|"fetches repository files"| node_github
node_analysis_api -->|"reads and stores analysis"| node_data_adapter
node_developer -->|"asks question"| node_ask_ui
node_ask_ui -->|"submits question"| node_ask_api
node_ask_api -->|"reads context and saves answer"| node_data_adapter
node_ask_api -.->|"requests answer"| node_gemini
node_developer -->|"describes change"| node_impact_ui
node_impact_ui -->|"requests impact analysis"| node_impact_api
node_impact_api -->|"reads repository context"| node_data_adapter
node_impact_api -.->|"requests analysis"| node_gemini
node_developer -->|"creates task"| node_task_ui
node_task_ui -->|"submits task"| node_tasks_api
node_tasks_api -->|"stores task"| node_data_adapter
node_plan_api -->|"manages plan data"| node_data_adapter
node_developer -->|"requests assistance"| node_bob_ui
node_bob_ui -.->|"requests Bob response"| node_ibm
node_bob_ui -.->|"uses fallback"| node_gemini
node_developer -->|"reviews change"| node_verify_ui
node_developer -->|"signs in"| node_auth_api
node_auth_api -->|"creates session"| node_session
node_auth_api -->|"uses auth provider"| node_data_adapter
node_data_adapter -->|"reads and writes"| node_local_db
node_data_adapter -.->|"queries configured backend"| node_supabase

click node_repo_ui "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/repositories/%5Bid%5D/page.tsx"
click node_connect_api "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/route.ts"
click node_analysis_api "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/%5Bid%5D/analyze/route.ts"
click node_github_client "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/lib/github/client.ts"
click node_ask_ui "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/repositories/%5Bid%5D/ask/page.tsx"
click node_ask_api "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/%5Bid%5D/ask/route.ts"
click node_impact_ui "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/repositories/%5Bid%5D/change/page.tsx"
click node_impact_api "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/%5Bid%5D/change-impact/route.ts"
click node_task_ui "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/tasks/new/page.tsx"
click node_tasks_api "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/tasks/route.ts"
click node_plan_api "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/tasks/%5Bid%5D/plan/route.ts"
click node_bob_ui "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/bob/route.ts"
click node_verify_ui "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/repositories/%5Bid%5D/verify/page.tsx"
click node_auth_api "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/auth/login/route.ts"
click node_session "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/lib/auth/session.ts"
click node_data_adapter "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/lib/supabase/server.ts"
click node_local_db "https://github.com/badalsahu200ns-png/repopilot/blob/master/src/lib/db/localDb.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_repo_ui,node_connect_api toneBlue
class node_analysis_api,node_github_client,node_ask_ui,node_ask_api,node_impact_ui,node_impact_api,node_supabase toneAmber
class node_task_ui,node_tasks_api,node_plan_api,node_bob_ui,node_verify_ui,node_github,node_gemini toneMint
class node_auth_api,node_session,node_data_adapter,node_local_db toneRose
class node_developer,node_ibm toneIndigo
```

## Components

### Developer workflow

- [Repository workspace](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/repositories/%5Bid%5D/page.tsx): `src/app/(app)/repositories/[id]/page.tsx`
- [Repository connection](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/route.ts): `src/app/api/repositories/route.ts`

### Repository intelligence

- [Codebase X-Ray](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/%5Bid%5D/analyze/route.ts): `src/app/api/repositories/[id]/analyze/route.ts`
- [GitHub access](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/lib/github/client.ts): `src/lib/github/client.ts`
- [Codebase Q&A](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/repositories/%5Bid%5D/ask/page.tsx): `src/app/(app)/repositories/[id]/ask/page.tsx`
- [Evidence answers](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/%5Bid%5D/ask/route.ts): `src/app/api/repositories/[id]/ask/route.ts`
- [Change impact](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/repositories/%5Bid%5D/change/page.tsx): `src/app/(app)/repositories/[id]/change/page.tsx`
- [Impact analysis](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/repositories/%5Bid%5D/change-impact/route.ts): `src/app/api/repositories/[id]/change-impact/route.ts`

### Planning and execution

- [Task workflow](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/tasks/new/page.tsx): `src/app/(app)/tasks/new/page.tsx`
- [Task management](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/tasks/route.ts): `src/app/api/tasks/route.ts`
- [Task planning](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/tasks/%5Bid%5D/plan/route.ts): `src/app/api/tasks/[id]/plan/route.ts`
- [Bob assistance](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/bob/route.ts): `src/app/api/bob/route.ts`
- [Verification center](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/(app)/repositories/%5Bid%5D/verify/page.tsx): `src/app/(app)/repositories/[id]/verify/page.tsx`

### Auth and persistence

- [Authentication routes](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/app/api/auth/login/route.ts): `src/app/api/auth/login/route.ts`
- [Session management](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/lib/auth/session.ts): `src/lib/auth/session.ts`
- [Data adapter](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/lib/supabase/server.ts): `src/lib/supabase/server.ts`
- [Local JSON store](https://github.com/badalsahu200ns-png/repopilot/blob/master/src/lib/db/localDb.ts): `src/lib/db/localDb.ts`

### Other components

- **Developer**
- **GitHub API**
- **Gemini API**
- **IBM watsonx**
- **Supabase**

## Connections

- Developer → Repository connection: connects repository
- Repository connection → GitHub access: checks access
- GitHub access → GitHub API: requests repository data
- Repository connection → Data adapter: stores repository
- Developer → Repository workspace: opens repository
- Repository workspace → Codebase X-Ray: requests analysis
- Codebase X-Ray → GitHub access: gets user token
- Codebase X-Ray → GitHub API: fetches repository files
- Codebase X-Ray → Data adapter: reads and stores analysis
- Developer → Codebase Q&A: asks question
- Codebase Q&A → Evidence answers: submits question
- Evidence answers → Data adapter: reads context and saves answer
- Evidence answers → Gemini API: requests answer
- Developer → Change impact: describes change
- Change impact → Impact analysis: requests impact analysis
- Impact analysis → Data adapter: reads repository context
- Impact analysis → Gemini API: requests analysis
- Developer → Task workflow: creates task
- Task workflow → Task management: submits task
- Task management → Data adapter: stores task
- Task planning → Data adapter: manages plan data
- Developer → Bob assistance: requests assistance
- Bob assistance → IBM watsonx: requests Bob response
- Bob assistance → Gemini API: uses fallback
- Developer → Verification center: reviews change
- Developer → Authentication routes: signs in
- Authentication routes → Session management: creates session
- Authentication routes → Data adapter: uses auth provider
- Data adapter → Local JSON store: reads and writes
- Data adapter → Supabase: queries configured backend
