How anush0327/forgementor works
ForgeMentor is a VS Code AI software-engineering mentor. The visible workflow is chat or selected code in the webview, a host-mediated request, backend mode handling (ask, hint, or code explanation), and a selected model provider returning mentor text. The backend service and provider flow are sampled; extension-host wiring and several provider implementations are represented only by their paths and roles in the tree, so uncertain connections are omitted.
Main entry points: Chat.tsx Chat interface · App.tsx Chat app · mentorViewProvider.ts Webview provider · mentorAPIClient.ts Backend client
Components 19
Mentor chat UI
- Webview entry
forge/webview/src/main.tsx - Chat app
forge/webview/src/App.tsx - Chat interface
forge/webview/src/components/Chat.tsx
VS Code extension
- Extension host
forge/src/extension.ts - Webview provider
forge/src/mentorViewProvider.ts - Mentor service
forge/src/mentorService.ts - Backend client
forge/src/mentorAPIClient.ts - Request models
forge/src/mentorModels.ts
Mentor API
- API endpoints
backend/src/main/java/com/forgementor/backend/controllers/MentorController.java - Mode orchestration
backend/src/main/java/com/forgementor/backend/services/MentorService.java - Provider resolver
backend/src/main/java/com/forgementor/backend/providers/MentorProviderResolverImpl.java - Provider contract
backend/src/main/java/com/forgementor/backend/interfaces/MentorProvider.java
AI providers
- OpenAI provider
backend/src/main/java/com/forgementor/backend/providers/OpenAIProvider.java - Gemini provider
backend/src/main/java/com/forgementor/backend/providers/GeminiProvider.java - Mock provider
backend/src/main/java/com/forgementor/backend/providers/MockMentorProvider.java
Other components
- Developer
- VS Code editor
- OpenAI model service
- Gemini model service
Connections 13
- Developer → Chat interface: enters prompt
- VS Code editor → Extension host: invokes selection command
- Webview entry → Chat app: renders
- Chat app → Chat interface: renders
- Chat interface → Webview provider: posts messages
- Webview provider → Chat interface: sends responses
- Mentor service → Backend client: calls endpoint
- Backend client → API endpoints: POSTs request
- API endpoints → Mode orchestration: dispatches mode
- Mode orchestration → Provider resolver: resolves model
- Provider resolver → Provider contract: selects implementation
- OpenAI provider → OpenAI model service: calls model
- Gemini provider → Gemini model service: calls model