# ahmadfauzi34/lumina-ai architecture

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

- Interactive diagram: https://gitdiagram.com/ahmadfauzi34/lumina-ai
- Repository: https://github.com/ahmadfauzi34/lumina-ai

## Overview

This is an Angular AI coding-assistant app: users chat with an agent, can follow its progress, and can request coding tasks such as reviews or test generation. TaskPipeline manages task execution and user actions; tools and code-execution workers provide supporting capabilities. The tree indicates additional Python, file, and persistence features. Most application wiring was not sampled, so the graph shows only the task, event, compiler, and server relationships supported by the excerpts; other links are intentionally omitted.

Main entry points: [`src/app/task-pipeline.ts`](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-pipeline.ts) (Task pipeline), [`src/app/app.ts`](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/app.ts) (Angular app), [`src/app/components/chat-input.component.ts`](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/components/chat-input.component.ts) (Chat input), [`src/app/task-handlers/code-review.handler.ts`](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-handlers/code-review.handler.ts) (Code review)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Chat interface"]
  node_app["Angular app<br/>[app.ts]"]
  node_chat["Chat input"]
  node_messages["Chat messages"]
  node_feed["Agent feed"]
end

subgraph group_agents["Agent workflow"]
  node_orchestrator["Agent orchestrator"]
  node_stream["Stream orchestrator"]
  node_think["Agent thinking"]
  node_events["Agent event bus<br/>[agent-event-bus.ts]"]
  node_executor["Agent executor<br/>[agent-executor.ts]"]
end

subgraph group_tasks["Coding tasks"]
  node_pipeline["Task pipeline<br/>[task-pipeline.ts]"]
  node_review["Code review"]
  node_unit["Unit test task"]
  node_migration["Migration task"]
end

subgraph group_tools["Tools and execution"]
  node_toolregistry["Tool registry<br/>[tool-registry.ts]"]
  node_toolpipeline["Tool pipeline<br/>[tool-pipeline.ts]"]
  node_codetools["Code tools<br/>[code-tools.ts]"]
  node_files["File tools<br/>[file-tools.ts]"]
  node_python["Python runtime<br/>[pyodide.service.ts]"]
  node_pyworker["Python worker<br/>[pyodide.worker.ts]"]
  node_compilerworker["Code execution worker"]
end

subgraph group_platform["App services"]
  node_gemini["Gemini service<br/>[gemini.service.ts]"]
  node_db[("Local database<br/>[db.service.ts]")]
  node_server["Node server<br/>[server.ts]"]
end

node_user(("User"))
node_compiler(("Compiler service"))
node_bridge(("Agent bridge client"))

node_user -->|"sends prompt"| node_chat
node_chat -->|"submits"| node_app
node_app -->|"presents chat"| node_messages
node_app -->|"presents activity"| node_feed
node_review -->|"publishes events"| node_events
node_unit -->|"publishes events"| node_events
node_pipeline -->|"runs handler"| node_review
node_pipeline -->|"runs handler"| node_unit
node_pipeline -->|"runs handler"| node_migration
node_toolpipeline -->|"executes tool"| node_compilerworker
node_compilerworker -->|"compiles code"| node_compiler
node_python -->|"uses worker"| node_pyworker
node_bridge -->|"posts action"| node_server

click node_app "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/app.ts"
click node_chat "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/components/chat-input.component.ts"
click node_messages "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/components/chat-message.component.ts"
click node_feed "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/components/agent-social-feed.component.ts"
click node_orchestrator "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent-orchestrator.ts"
click node_stream "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent-stream-orchestrator.ts"
click node_think "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent-think-stream.ts"
click node_events "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent/agent-event-bus.ts"
click node_executor "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent/agent-executor.ts"
click node_gemini "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/core/services/gemini.service.ts"
click node_pipeline "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-pipeline.ts"
click node_review "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-handlers/code-review.handler.ts"
click node_unit "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-handlers/unit-test.handler.ts"
click node_migration "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-handlers/migration.handler.ts"
click node_toolregistry "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/tool-registry.ts"
click node_toolpipeline "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/tool-pipeline.ts"
click node_codetools "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/code-tools.ts"
click node_files "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/file-tools.ts"
click node_python "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/core/services/pyodide.service.ts"
click node_pyworker "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/core/services/pyodide.worker.ts"
click node_compilerworker "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/execute-code.worker.ts"
click node_db "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/core/services/db.service.ts"
click node_server "https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/server.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_app,node_chat,node_messages,node_feed,node_user,node_bridge toneBlue
class node_orchestrator,node_stream,node_think,node_events,node_executor toneAmber
class node_pipeline,node_review,node_unit,node_migration toneMint
class node_toolregistry,node_toolpipeline,node_codetools,node_files,node_python,node_pyworker,node_compilerworker toneRose
class node_gemini,node_db,node_server,node_compiler toneIndigo
```

## Components

### Chat interface

- [Angular app](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/app.ts): `src/app/app.ts`
- [Chat input](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/components/chat-input.component.ts): `src/app/components/chat-input.component.ts`
- [Chat messages](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/components/chat-message.component.ts): `src/app/components/chat-message.component.ts`
- [Agent feed](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/components/agent-social-feed.component.ts): `src/app/components/agent-social-feed.component.ts`

### Agent workflow

- [Agent orchestrator](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent-orchestrator.ts): `src/app/agent-orchestrator.ts`
- [Stream orchestrator](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent-stream-orchestrator.ts): `src/app/agent-stream-orchestrator.ts`
- [Agent thinking](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent-think-stream.ts): `src/app/agent-think-stream.ts`
- [Agent event bus](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent/agent-event-bus.ts): `src/app/agent/agent-event-bus.ts`
- [Agent executor](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/agent/agent-executor.ts): `src/app/agent/agent-executor.ts`

### Coding tasks

- [Task pipeline](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-pipeline.ts): `src/app/task-pipeline.ts`
- [Code review](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-handlers/code-review.handler.ts): `src/app/task-handlers/code-review.handler.ts`
- [Unit test task](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-handlers/unit-test.handler.ts): `src/app/task-handlers/unit-test.handler.ts`
- [Migration task](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/task-handlers/migration.handler.ts): `src/app/task-handlers/migration.handler.ts`

### Tools and execution

- [Tool registry](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/tool-registry.ts): `src/app/tools/implementations/tool-registry.ts`
- [Tool pipeline](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/tool-pipeline.ts): `src/app/tools/implementations/tool-pipeline.ts`
- [Code tools](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/code-tools.ts): `src/app/tools/implementations/code-tools.ts`
- [File tools](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/file-tools.ts): `src/app/tools/implementations/file-tools.ts`
- [Python runtime](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/core/services/pyodide.service.ts): `src/app/core/services/pyodide.service.ts`
- [Python worker](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/core/services/pyodide.worker.ts): `src/app/core/services/pyodide.worker.ts`
- [Code execution worker](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/tools/implementations/execute-code.worker.ts): `src/app/tools/implementations/execute-code.worker.ts`

### App services

- [Gemini service](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/core/services/gemini.service.ts): `src/app/core/services/gemini.service.ts`
- [Local database](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/app/core/services/db.service.ts): `src/app/core/services/db.service.ts`
- [Node server](https://github.com/ahmadfauzi34/lumina-ai/blob/main/src/server.ts): `src/server.ts`

### Other components

- **User**
- **Compiler service**
- **Agent bridge client**

## Connections

- User → Chat input: sends prompt
- Chat input → Angular app: submits
- Angular app → Chat messages: presents chat
- Angular app → Agent feed: presents activity
- Code review → Agent event bus: publishes events
- Unit test task → Agent event bus: publishes events
- Task pipeline → Code review: runs handler
- Task pipeline → Unit test task: runs handler
- Task pipeline → Migration task: runs handler
- Tool pipeline → Code execution worker: executes tool
- Code execution worker → Compiler service: compiles code
- Python runtime → Python worker: uses worker
- Agent bridge client → Node server: posts action
