# rock-lab-private-limited/federaide architecture

> Architecture diagram of the GitHub repository rock-lab-private-limited/federaide, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-01). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rock-lab-private-limited/federaide
- Repository: https://github.com/rock-lab-private-limited/federaide

## Overview

FEDERaiDE is a terminal-based multi-agent AI orchestration and automation workbench. A user starts the app, configures an agent and model, then chats, routes messages to agents, or invokes tools; results return in the terminal. The runtime includes agent coordination, memory and skills, tool execution, and optional IDE, speech, Telegram, and MCP capabilities. The graph preserves the documented major features, but many implementation paths are unsampled; edges based on module references or README claims are marked as such, and uncertain wiring is omitted.

Main entry points: [`src/federate/agent.py`](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/agent.py) (Agent workbench), [`src/federate/agent_core.py`](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/agent_core.py) (Agent execution), [`src/federate/orchestration.py`](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/orchestration.py) (Agent orchestration), [`src/federate/textIDE.py`](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/textIDE.py) (Text IDE)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interaction["Terminal interaction"]
  node_app["Terminal app<br/>[app.py]"]
  node_agent_ui["Agent workbench<br/>[agent.py]"]
  node_commands["Commands and routing<br/>[commands.py]"]
  node_ide["Text IDE<br/>[textIDE.py]"]
end

subgraph group_runtime["Agent runtime"]
  node_agent_core["Agent execution<br/>[agent_core.py]"]
  node_legacy_agent["Legacy agent UI<br/>[agent_legacy.py]"]
  node_orchestration["Agent orchestration<br/>[orchestration.py]"]
  node_subagents["Coding subagents<br/>[subagents.py]"]
end

subgraph group_capabilities["Automation capabilities"]
  node_toolbox["Tools and research<br/>[toolbox.py]"]
  node_execution["Code execution<br/>[execution.py]"]
  node_semantic_search["Semantic search<br/>[semantic_search.py]"]
  node_audio["Speech input/output<br/>[audio_handler.py]"]
  node_mcp["MCP tools<br/>[mcp_handler.py]"]
end

subgraph group_integrations["State and integrations"]
  node_telegram["Telegram integration"]
  node_auth["ChatGPT sign-in<br/>[chatgpt_auth.py]"]
  node_memory[("Local memory store<br/>[orchestration.py]")]
end

node_user(("Terminal user"))
node_model{{"LLM provider"}}
node_telegram_service{{"Telegram service"}}
node_mcp_servers{{"MCP servers"}}

node_user -->|"starts"| node_app
node_app -->|"opens"| node_agent_ui
node_agent_ui -->|"dispatches"| node_agent_core
node_agent_ui -->|"routes commands"| node_commands
node_agent_core -.->|"requests completion"| node_model
node_agent_core -->|"uses"| node_orchestration
node_agent_core -->|"delegates"| node_subagents
node_agent_core -->|"uses tools"| node_toolbox
node_orchestration -->|"uses"| node_semantic_search
node_orchestration -->|"reads memory"| node_memory
node_orchestration -.->|"writes schedules"| node_memory
node_toolbox -->|"loads tools"| node_mcp
node_ide -->|"uses"| node_execution
node_ide -->|"uses agent"| node_agent_ui
node_agent_ui -->|"uses speech"| node_audio
node_agent_ui -->|"uses integration"| node_telegram
node_agent_ui -->|"uses sign-in"| node_auth
node_telegram -->|"sends requests"| node_telegram_service
node_mcp -->|"calls tools"| node_mcp_servers
node_user -->|"chats and routes"| node_agent_ui
node_user -->|"opens panels"| node_ide
node_user -.->|"speaks"| node_audio
node_user -.->|"delegates coding"| node_subagents

click node_app "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/app.py"
click node_agent_ui "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/agent.py"
click node_commands "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/commands.py"
click node_ide "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/textIDE.py"
click node_agent_core "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/agent_core.py"
click node_legacy_agent "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/agent_legacy.py"
click node_orchestration "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/orchestration.py"
click node_subagents "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/subagents.py"
click node_toolbox "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/toolbox.py"
click node_execution "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/execution.py"
click node_semantic_search "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/semantic_search.py"
click node_audio "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/audio_handler.py"
click node_mcp "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/mcp_handler.py"
click node_telegram "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/telegram_handler.py"
click node_auth "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/chatgpt_auth.py"
click node_memory "https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/orchestration.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_app,node_agent_ui,node_commands,node_ide,node_user toneBlue
class node_agent_core,node_legacy_agent,node_orchestration,node_subagents toneAmber
class node_toolbox,node_execution,node_semantic_search,node_audio,node_mcp,node_mcp_servers toneMint
class node_telegram,node_auth,node_memory toneRose
class node_model,node_telegram_service toneIndigo
```

## Components

### Terminal interaction

- [Terminal app](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/app.py): `src/federate/app.py`
- [Agent workbench](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/agent.py): `src/federate/agent.py`
- [Commands and routing](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/commands.py): `src/federate/commands.py`
- [Text IDE](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/textIDE.py): `src/federate/textIDE.py`

### Agent runtime

- [Agent execution](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/agent_core.py): `src/federate/agent_core.py`
- [Legacy agent UI](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/agent_legacy.py): `src/federate/agent_legacy.py`
- [Agent orchestration](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/orchestration.py): `src/federate/orchestration.py`
- [Coding subagents](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/subagents.py): `src/federate/subagents.py`

### Automation capabilities

- [Tools and research](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/toolbox.py): `src/federate/toolbox.py`
- [Code execution](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/execution.py): `src/federate/execution.py`
- [Semantic search](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/semantic_search.py): `src/federate/semantic_search.py`
- [Speech input/output](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/audio_handler.py): `src/federate/audio_handler.py`
- [MCP tools](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/mcp_handler.py): `src/federate/mcp_handler.py`

### State and integrations

- [Telegram integration](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/telegram_handler.py): `src/federate/telegram_handler.py`
- [ChatGPT sign-in](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/chatgpt_auth.py): `src/federate/chatgpt_auth.py`
- [Local memory store](https://github.com/rock-lab-private-limited/federaide/blob/main/src/federate/orchestration.py): `src/federate/orchestration.py`

### Other components

- **Terminal user**
- **LLM provider**
- **Telegram service**
- **MCP servers**

## Connections

- Terminal user → Terminal app: starts (evidence: `README.md`)
- Terminal app → Agent workbench: opens (evidence: `src/federate/app.py`)
- Agent workbench → Agent execution: dispatches (evidence: `src/federate/agent.py`)
- Agent workbench → Commands and routing: routes commands (evidence: `src/federate/commands.py`)
- Agent execution → LLM provider: requests completion
- Agent execution → Agent orchestration: uses (evidence: `src/federate/agent_core.py`)
- Agent execution → Coding subagents: delegates (evidence: `src/federate/agent_core.py`)
- Agent execution → Tools and research: uses tools (evidence: `src/federate/agent_core.py`)
- Agent orchestration → Semantic search: uses (evidence: `src/federate/orchestration.py`)
- Agent orchestration → Local memory store: reads memory (evidence: `src/federate/orchestration.py`)
- Agent orchestration → Local memory store: writes schedules (evidence: `src/federate/orchestration.py`)
- Tools and research → MCP tools: loads tools (evidence: `src/federate/toolbox.py`)
- Text IDE → Code execution: uses (evidence: `src/federate/textIDE.py`)
- Text IDE → Agent workbench: uses agent (evidence: `src/federate/textIDE.py`)
- Agent workbench → Speech input/output: uses speech (evidence: `src/federate/agent.py`)
- Agent workbench → Telegram integration: uses integration (evidence: `src/federate/agent.py`)
- Agent workbench → ChatGPT sign-in: uses sign-in (evidence: `src/federate/agent.py`)
- Telegram integration → Telegram service: sends requests (evidence: `src/federate/telegram_handler.py`)
- MCP tools → MCP servers: calls tools (evidence: `src/federate/mcp_handler.py`)
- Terminal user → Agent workbench: chats and routes (evidence: `README.md`)
- Terminal user → Text IDE: opens panels (evidence: `README.md`)
- Terminal user → Speech input/output: speaks (evidence: `README.md`)
- Terminal user → Coding subagents: delegates coding (evidence: `README.md`)
