# bhargavakandala/multi-agent-app-builder architecture

> Architecture diagram of the GitHub repository bhargavakandala/multi-agent-app-builder, 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/bhargavakandala/multi-agent-app-builder
- Repository: https://github.com/bhargavakandala/multi-agent-app-builder

## Overview

Multi-Agent App Builder turns a plain-English app idea into a planned, generated, tested, and reviewed project using local Ollama models. The CLI passes the request to the orchestrator, which owns stage order and artifact handling; specialist agents make model requests but do not call one another. Generated code is extracted from model responses and written into separate draft and final directories, alongside stage reports and run metadata. The workflow and integrations are documented; the graph uses sampled source for implementation links and does not infer additional runtime behavior from the example output.

Main entry points: [`dev_agent/orchestrator.py`](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/orchestrator.py) (Build orchestrator), [`dev_agent/llm.py`](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/llm.py) (LLM adapter), [`dev_agent/agents.py`](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/agents.py) (Planner agent), [`dev_agent/__main__.py`](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/__main__.py) (Command-line interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["CLI and orchestration"]
  node_cli["Command-line interface<br/>[__main__.py]"]
  node_orchestrator["Build orchestrator<br/>[orchestrator.py]"]
end

subgraph group_agents["Specialist agents"]
  node_planner["Planner agent<br/>[agents.py]"]
  node_developer["Developer agent<br/>[agents.py]"]
  node_tester["Tester agent<br/>[agents.py]"]
  node_reviewer["Reviewer agent<br/>[agents.py]"]
end

subgraph group_model["Model access"]
  node_llm["LLM adapter<br/>[llm.py]"]
end

subgraph group_output["Build artifacts"]
  node_extractor["Code extractor<br/>[extract.py]"]
  node_workspace["Workspace writer<br/>[workspace.py]"]
  node_artifacts["Build files"]
end

node_user(("App idea"))
node_ollama["Local Ollama"]

node_user -->|"provides idea"| node_cli
node_cli -->|"starts build"| node_orchestrator
node_orchestrator -->|"requests plan"| node_planner
node_orchestrator -->|"sends plan"| node_developer
node_orchestrator -->|"sends code"| node_tester
node_orchestrator -->|"sends code and report"| node_reviewer
node_planner -->|"returns plan"| node_orchestrator
node_developer -->|"returns code"| node_orchestrator
node_tester -->|"returns report"| node_orchestrator
node_reviewer -->|"returns review"| node_orchestrator
node_planner -->|"requests completion"| node_llm
node_developer -->|"requests completion"| node_llm
node_tester -->|"requests completion"| node_llm
node_reviewer -->|"requests completion"| node_llm
node_llm -->|"sends prompt"| node_ollama
node_ollama -->|"returns response"| node_llm
node_orchestrator -->|"extracts code"| node_extractor
node_extractor -->|"returns files"| node_orchestrator
node_orchestrator -->|"writes build outputs"| node_workspace
node_workspace -->|"creates files"| node_artifacts

click node_cli "https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/__main__.py"
click node_orchestrator "https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/orchestrator.py"
click node_planner "https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/agents.py"
click node_developer "https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/agents.py"
click node_tester "https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/agents.py"
click node_reviewer "https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/agents.py"
click node_extractor "https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/extract.py"
click node_workspace "https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/workspace.py"
click node_llm "https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/llm.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_cli,node_orchestrator toneBlue
class node_planner,node_developer,node_tester,node_reviewer toneAmber
class node_llm toneMint
class node_extractor,node_workspace,node_artifacts toneRose
class node_user,node_ollama toneIndigo
```

## Components

### CLI and orchestration

- [Command-line interface](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/__main__.py): `dev_agent/__main__.py`
- [Build orchestrator](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/orchestrator.py): `dev_agent/orchestrator.py`

### Specialist agents

- [Planner agent](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/agents.py): `dev_agent/agents.py`
- [Developer agent](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/agents.py): `dev_agent/agents.py`
- [Tester agent](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/agents.py): `dev_agent/agents.py`
- [Reviewer agent](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/agents.py): `dev_agent/agents.py`

### Model access

- [LLM adapter](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/llm.py): `dev_agent/llm.py`

### Build artifacts

- [Code extractor](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/extract.py): `dev_agent/extract.py`
- [Workspace writer](https://github.com/bhargavakandala/multi-agent-app-builder/blob/main/dev_agent/workspace.py): `dev_agent/workspace.py`
- **Build files**

### Other components

- **App idea**
- **Local Ollama**

## Connections

- App idea → Command-line interface: provides idea
- Command-line interface → Build orchestrator: starts build
- Build orchestrator → Planner agent: requests plan
- Build orchestrator → Developer agent: sends plan
- Build orchestrator → Tester agent: sends code
- Build orchestrator → Reviewer agent: sends code and report
- Planner agent → Build orchestrator: returns plan
- Developer agent → Build orchestrator: returns code
- Tester agent → Build orchestrator: returns report
- Reviewer agent → Build orchestrator: returns review
- Planner agent → LLM adapter: requests completion
- Developer agent → LLM adapter: requests completion
- Tester agent → LLM adapter: requests completion
- Reviewer agent → LLM adapter: requests completion
- LLM adapter → Local Ollama: sends prompt
- Local Ollama → LLM adapter: returns response
- Build orchestrator → Code extractor: extracts code
- Code extractor → Build orchestrator: returns files
- Build orchestrator → Workspace writer: writes build outputs
- Workspace writer → Build files: creates files
