# tejas004s/multi-agent-software-planning-system architecture

> Architecture diagram of the GitHub repository tejas004s/multi-agent-software-planning-system, 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/tejas004s/multi-agent-software-planning-system
- Repository: https://github.com/tejas004s/multi-agent-software-planning-system

## Overview

DevForge AI turns a user’s project idea into an engineering plan through sequential requirements, architecture, implementation, QA, and report stages. The frontend collects the prompt and displays the report and execution timeline; the FastAPI endpoint invokes a LangGraph workflow whose state passes through the stages. Agents use Gemini for generation. The README documents all five agent responsibilities; source excerpts show only some implementations, so links through the graph-node layer reflect the documented workflow rather than inspected wrapper code.

Main entry points: [`backend/graph/nodes.py`](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/graph/nodes.py) (Workflow nodes), [`frontend/src/App.jsx`](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/App.jsx) (Dashboard app), [`backend/services/gemini_client.py`](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/services/gemini_client.py) (Gemini client), [`backend/api/workflow.py`](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/api/workflow.py) (Plan endpoint)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Frontend"]
  node_prompt_form["Prompt form<br/>[PromptForm.jsx]"]
  node_app["Dashboard app<br/>[App.jsx]"]
  node_api_client["API client<br/>[api.js]"]
  node_timeline["Agent timeline<br/>[AgentTimeline.jsx]"]
  node_report_viewer["Report viewer<br/>[ReportViewer.jsx]"]
end

subgraph group_backend["API and orchestration"]
  node_workflow_api["Plan endpoint<br/>[workflow.py]"]
  node_workflow_service["Workflow service"]
  node_workflow_graph["LangGraph workflow<br/>[workflow.py]"]
  node_graph_nodes["Workflow nodes<br/>[nodes.py]"]
  node_workflow_state["Shared workflow state<br/>[state.py]"]
end

subgraph group_planning["Planning agents"]
  node_project_manager["Requirements agent<br/>[project_manager.py]"]
  node_architect["Architecture agent<br/>[architect.py]"]
  node_implementation["Implementation agent"]
  node_qa["QA reviewer<br/>[qa_engineer.py]"]
  node_report_generator["Report generator"]
  node_base_agent["Base agent<br/>[base_agent.py]"]
end

subgraph group_ai["AI service"]
  node_gemini_client["Gemini client<br/>[gemini_client.py]"]
end

node_user(("User"))
node_gemini["Google Gemini"]

node_user -->|"enters idea"| node_prompt_form
node_prompt_form -->|"submits prompt"| node_app
node_app -->|"sends request"| node_api_client
node_api_client -->|"POST prompt"| node_workflow_api
node_workflow_api -->|"runs workflow"| node_workflow_service
node_workflow_service -->|"invokes graph"| node_workflow_graph
node_workflow_graph -->|"dispatches stages"| node_graph_nodes
node_workflow_graph -->|"uses state schema"| node_workflow_state
node_graph_nodes -->|"runs requirements"| node_project_manager
node_graph_nodes -->|"runs architecture"| node_architect
node_graph_nodes -->|"runs implementation"| node_implementation
node_graph_nodes -->|"runs review"| node_qa
node_graph_nodes -->|"generates report"| node_report_generator
node_project_manager -->|"uses base"| node_base_agent
node_base_agent -->|"generates text"| node_gemini_client
node_implementation -->|"generates text"| node_gemini_client
node_qa -->|"generates text"| node_gemini_client
node_gemini_client -->|"requests generation"| node_gemini
node_workflow_api -->|"returns report and logs"| node_app
node_app -->|"displays logs"| node_timeline
node_app -->|"displays report"| node_report_viewer

click node_prompt_form "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/components/PromptForm.jsx"
click node_app "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/App.jsx"
click node_api_client "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/services/api.js"
click node_timeline "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/components/AgentTimeline.jsx"
click node_report_viewer "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/components/ReportViewer.jsx"
click node_workflow_api "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/api/workflow.py"
click node_workflow_service "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/services/workflow_service.py"
click node_workflow_graph "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/graph/workflow.py"
click node_graph_nodes "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/graph/nodes.py"
click node_workflow_state "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/schemas/state.py"
click node_project_manager "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/project_manager.py"
click node_architect "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/architect.py"
click node_implementation "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/implementation_engineer.py"
click node_qa "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/qa_engineer.py"
click node_report_generator "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/report_generator.py"
click node_base_agent "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/base_agent.py"
click node_gemini_client "https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/services/gemini_client.py"

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_prompt_form,node_app,node_api_client,node_timeline,node_report_viewer,node_user toneBlue
class node_workflow_api,node_workflow_service,node_workflow_graph,node_graph_nodes,node_workflow_state toneAmber
class node_project_manager,node_architect,node_implementation,node_qa,node_report_generator,node_base_agent toneMint
class node_gemini_client toneRose
class node_gemini toneIndigo
```

## Components

### Frontend

- [Prompt form](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/components/PromptForm.jsx): `frontend/src/components/PromptForm.jsx`
- [Dashboard app](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [API client](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/services/api.js): `frontend/src/services/api.js`
- [Agent timeline](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/components/AgentTimeline.jsx): `frontend/src/components/AgentTimeline.jsx`
- [Report viewer](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/frontend/src/components/ReportViewer.jsx): `frontend/src/components/ReportViewer.jsx`

### API and orchestration

- [Plan endpoint](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/api/workflow.py): `backend/api/workflow.py`
- [Workflow service](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/services/workflow_service.py): `backend/services/workflow_service.py`
- [LangGraph workflow](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/graph/workflow.py): `backend/graph/workflow.py`
- [Workflow nodes](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/graph/nodes.py): `backend/graph/nodes.py`
- [Shared workflow state](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/schemas/state.py): `backend/schemas/state.py`

### Planning agents

- [Requirements agent](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/project_manager.py): `backend/agents/project_manager.py`
- [Architecture agent](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/architect.py): `backend/agents/architect.py`
- [Implementation agent](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/implementation_engineer.py): `backend/agents/implementation_engineer.py`
- [QA reviewer](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/qa_engineer.py): `backend/agents/qa_engineer.py`
- [Report generator](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/report_generator.py): `backend/agents/report_generator.py`
- [Base agent](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/agents/base_agent.py): `backend/agents/base_agent.py`

### AI service

- [Gemini client](https://github.com/tejas004s/multi-agent-software-planning-system/blob/main/backend/services/gemini_client.py): `backend/services/gemini_client.py`

### Other components

- **User**
- **Google Gemini**

## Connections

- User → Prompt form: enters idea
- Prompt form → Dashboard app: submits prompt
- Dashboard app → API client: sends request
- API client → Plan endpoint: POST prompt
- Plan endpoint → Workflow service: runs workflow
- Workflow service → LangGraph workflow: invokes graph
- LangGraph workflow → Workflow nodes: dispatches stages
- LangGraph workflow → Shared workflow state: uses state schema
- Workflow nodes → Requirements agent: runs requirements
- Workflow nodes → Architecture agent: runs architecture
- Workflow nodes → Implementation agent: runs implementation
- Workflow nodes → QA reviewer: runs review
- Workflow nodes → Report generator: generates report
- Requirements agent → Base agent: uses base
- Base agent → Gemini client: generates text
- Implementation agent → Gemini client: generates text
- QA reviewer → Gemini client: generates text
- Gemini client → Google Gemini: requests generation
- Plan endpoint → Dashboard app: returns report and logs
- Dashboard app → Agent timeline: displays logs
- Dashboard app → Report viewer: displays report
