# aluro7in/forge-ai architecture

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

- Interactive diagram: https://gitdiagram.com/aluro7in/forge-ai
- Repository: https://github.com/aluro7in/forge-ai

## Overview

Forge is a collaborative project workspace where people manage project state through multiple views and AI agents can inspect or propose changes through WebMCP. The main human workflow is selecting a workspace view, editing tasks and related project artifacts, and reviewing agent proposals before they are applied. Workspace state and snapshots are managed in the React context and service layer; snapshot persistence is browser-local. The README documents further WebMCP tools and productivity features; those subsystems are represented at their supported directory paths, but their internal wiring was not sampled.

Main entry points: [`src/App.tsx`](https://github.com/aluro7in/forge-ai/blob/main/src/App.tsx) (Workspace shell), [`src/context/WorkspaceContext.tsx`](https://github.com/aluro7in/forge-ai/blob/main/src/context/WorkspaceContext.tsx) (Workspace context), [`src/components/AgentPanel.tsx`](https://github.com/aluro7in/forge-ai/blob/main/src/components/AgentPanel.tsx) (Agent panel), [`src/components/views/KanbanBoardView.tsx`](https://github.com/aluro7in/forge-ai/blob/main/src/components/views/KanbanBoardView.tsx) (Kanban board)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workspace["Workspace UI"]
  node_app["Workspace shell<br/>[App.tsx]"]
  node_navigation["Navigation<br/>[Navigation.tsx]"]
  node_kanban["Kanban board"]
  node_task_list["Task list<br/>[TaskListView.tsx]"]
  node_milestones["Milestones<br/>[MilestonesView.tsx]"]
  node_canvas["Concept canvas<br/>[CanvasView.tsx]"]
  node_documents["Documents vault<br/>[DocumentsView.tsx]"]
  node_inspector["Protocol inspector"]
  node_analytics["Workspace analytics"]
  node_snapshot_ui["Snapshot manager"]
end

subgraph group_state["Workspace State"]
  node_workspace_context["Workspace context"]
  node_workspace_service["Workspace operations"]
  node_snapshot_service[("Snapshot storage")]
end

subgraph group_agent["Agent Collaboration"]
  node_agent_panel["Agent panel<br/>[AgentPanel.tsx]"]
  node_agent_engine["Agent scenarios<br/>[engine.ts]"]
  node_proposal_review["Proposal review"]
end

subgraph group_webmcp["WebMCP Tools"]
  node_webmcp_context["WebMCP context<br/>[context.ts]"]
  node_webmcp_registry["Tool registry<br/>[registry.ts]"]
  node_task_tools["Task tools<br/>[index.ts]"]
  node_planning_tools["Planning tools<br/>[index.ts]"]
  node_project_tools["Project tools<br/>[index.ts]"]
  node_document_tools["Document tools<br/>[index.ts]"]
  node_canvas_tools["Canvas tools<br/>[index.ts]"]
  node_approval_tools["Approval tools<br/>[index.ts]"]
end

node_human(("Human teammate"))
node_browser_agent(("Browser AI agent"))

node_human -->|"uses workspace"| node_app
node_app -->|"renders navigation"| node_navigation
node_app -->|"renders board"| node_kanban
node_app -->|"renders list"| node_task_list
node_app -->|"renders milestones"| node_milestones
node_app -->|"renders canvas"| node_canvas
node_app -->|"renders documents"| node_documents
node_app -->|"renders inspector"| node_inspector
node_app -->|"renders panel"| node_agent_panel
node_kanban -->|"opens analytics"| node_analytics
node_app -->|"provides state"| node_workspace_context
node_workspace_context -->|"creates service"| node_workspace_service
node_workspace_context -->|"loads and saves"| node_snapshot_service
node_snapshot_ui -->|"manages snapshots"| node_workspace_context
node_agent_panel -->|"runs scenarios"| node_agent_engine
node_agent_panel -->|"opens review"| node_proposal_review
node_proposal_review -->|"applies or rejects"| node_workspace_context
node_browser_agent -->|"executes tools"| node_webmcp_context
node_workspace_context -->|"initializes"| node_webmcp_context

click node_app "https://github.com/aluro7in/forge-ai/blob/main/src/App.tsx"
click node_navigation "https://github.com/aluro7in/forge-ai/blob/main/src/components/Navigation.tsx"
click node_kanban "https://github.com/aluro7in/forge-ai/blob/main/src/components/views/KanbanBoardView.tsx"
click node_task_list "https://github.com/aluro7in/forge-ai/blob/main/src/components/views/TaskListView.tsx"
click node_milestones "https://github.com/aluro7in/forge-ai/blob/main/src/components/views/MilestonesView.tsx"
click node_canvas "https://github.com/aluro7in/forge-ai/blob/main/src/components/views/CanvasView.tsx"
click node_documents "https://github.com/aluro7in/forge-ai/blob/main/src/components/views/DocumentsView.tsx"
click node_inspector "https://github.com/aluro7in/forge-ai/blob/main/src/components/WebMcpInspector.tsx"
click node_analytics "https://github.com/aluro7in/forge-ai/blob/main/src/components/DashboardAnalyticsOverlay.tsx"
click node_workspace_context "https://github.com/aluro7in/forge-ai/blob/main/src/context/WorkspaceContext.tsx"
click node_workspace_service "https://github.com/aluro7in/forge-ai/blob/main/src/services/workspaceService.ts"
click node_snapshot_service "https://github.com/aluro7in/forge-ai/blob/main/src/services/snapshotStorageService.ts"
click node_snapshot_ui "https://github.com/aluro7in/forge-ai/blob/main/src/components/SnapshotManagerModal.tsx"
click node_agent_panel "https://github.com/aluro7in/forge-ai/blob/main/src/components/AgentPanel.tsx"
click node_agent_engine "https://github.com/aluro7in/forge-ai/blob/main/src/agent/engine.ts"
click node_proposal_review "https://github.com/aluro7in/forge-ai/blob/main/src/components/ProposalReviewModal.tsx"
click node_webmcp_context "https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/context.ts"
click node_webmcp_registry "https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/registry.ts"
click node_task_tools "https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/task-tools/index.ts"
click node_planning_tools "https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/planning-tools/index.ts"
click node_project_tools "https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/project-tools/index.ts"
click node_document_tools "https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/document-tools/index.ts"
click node_canvas_tools "https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/canvas-tools/index.ts"
click node_approval_tools "https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/approval-tools/index.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_navigation,node_kanban,node_task_list,node_milestones,node_canvas,node_documents,node_inspector,node_analytics,node_snapshot_ui,node_browser_agent toneBlue
class node_workspace_context,node_workspace_service,node_snapshot_service toneAmber
class node_agent_panel,node_agent_engine,node_proposal_review toneMint
class node_webmcp_context,node_webmcp_registry,node_task_tools,node_planning_tools,node_project_tools,node_document_tools,node_canvas_tools,node_approval_tools toneRose
class node_human toneIndigo
```

## Components

### Workspace UI

- [Workspace shell](https://github.com/aluro7in/forge-ai/blob/main/src/App.tsx): `src/App.tsx`
- [Navigation](https://github.com/aluro7in/forge-ai/blob/main/src/components/Navigation.tsx): `src/components/Navigation.tsx`
- [Kanban board](https://github.com/aluro7in/forge-ai/blob/main/src/components/views/KanbanBoardView.tsx): `src/components/views/KanbanBoardView.tsx`
- [Task list](https://github.com/aluro7in/forge-ai/blob/main/src/components/views/TaskListView.tsx): `src/components/views/TaskListView.tsx`
- [Milestones](https://github.com/aluro7in/forge-ai/blob/main/src/components/views/MilestonesView.tsx): `src/components/views/MilestonesView.tsx`
- [Concept canvas](https://github.com/aluro7in/forge-ai/blob/main/src/components/views/CanvasView.tsx): `src/components/views/CanvasView.tsx`
- [Documents vault](https://github.com/aluro7in/forge-ai/blob/main/src/components/views/DocumentsView.tsx): `src/components/views/DocumentsView.tsx`
- [Protocol inspector](https://github.com/aluro7in/forge-ai/blob/main/src/components/WebMcpInspector.tsx): `src/components/WebMcpInspector.tsx`
- [Workspace analytics](https://github.com/aluro7in/forge-ai/blob/main/src/components/DashboardAnalyticsOverlay.tsx): `src/components/DashboardAnalyticsOverlay.tsx`
- [Snapshot manager](https://github.com/aluro7in/forge-ai/blob/main/src/components/SnapshotManagerModal.tsx): `src/components/SnapshotManagerModal.tsx`

### Workspace State

- [Workspace context](https://github.com/aluro7in/forge-ai/blob/main/src/context/WorkspaceContext.tsx): `src/context/WorkspaceContext.tsx`
- [Workspace operations](https://github.com/aluro7in/forge-ai/blob/main/src/services/workspaceService.ts): `src/services/workspaceService.ts`
- [Snapshot storage](https://github.com/aluro7in/forge-ai/blob/main/src/services/snapshotStorageService.ts): `src/services/snapshotStorageService.ts`

### Agent Collaboration

- [Agent panel](https://github.com/aluro7in/forge-ai/blob/main/src/components/AgentPanel.tsx): `src/components/AgentPanel.tsx`
- [Agent scenarios](https://github.com/aluro7in/forge-ai/blob/main/src/agent/engine.ts): `src/agent/engine.ts`
- [Proposal review](https://github.com/aluro7in/forge-ai/blob/main/src/components/ProposalReviewModal.tsx): `src/components/ProposalReviewModal.tsx`

### WebMCP Tools

- [WebMCP context](https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/context.ts): `src/webmcp/context.ts`
- [Tool registry](https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/registry.ts): `src/webmcp/registry.ts`
- [Task tools](https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/task-tools/index.ts): `src/webmcp/task-tools/index.ts`
- [Planning tools](https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/planning-tools/index.ts): `src/webmcp/planning-tools/index.ts`
- [Project tools](https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/project-tools/index.ts): `src/webmcp/project-tools/index.ts`
- [Document tools](https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/document-tools/index.ts): `src/webmcp/document-tools/index.ts`
- [Canvas tools](https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/canvas-tools/index.ts): `src/webmcp/canvas-tools/index.ts`
- [Approval tools](https://github.com/aluro7in/forge-ai/blob/main/src/webmcp/approval-tools/index.ts): `src/webmcp/approval-tools/index.ts`

### Other components

- **Human teammate**
- **Browser AI agent**

## Connections

- Human teammate → Workspace shell: uses workspace
- Workspace shell → Navigation: renders navigation
- Workspace shell → Kanban board: renders board
- Workspace shell → Task list: renders list
- Workspace shell → Milestones: renders milestones
- Workspace shell → Concept canvas: renders canvas
- Workspace shell → Documents vault: renders documents
- Workspace shell → Protocol inspector: renders inspector
- Workspace shell → Agent panel: renders panel
- Kanban board → Workspace analytics: opens analytics
- Workspace shell → Workspace context: provides state
- Workspace context → Workspace operations: creates service
- Workspace context → Snapshot storage: loads and saves
- Snapshot manager → Workspace context: manages snapshots
- Agent panel → Agent scenarios: runs scenarios
- Agent panel → Proposal review: opens review
- Proposal review → Workspace context: applies or rejects
- Browser AI agent → WebMCP context: executes tools
- Workspace context → WebMCP context: initializes
