Skip to content

Commit bae4760

Browse files
Update README.md
1 parent e2bf4a5 commit bae4760

File tree

1 file changed

+81
-41
lines changed

1 file changed

+81
-41
lines changed

README.md

Lines changed: 81 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -9,57 +9,97 @@ https://marketplace.visualstudio.com/items?itemName=fiatinnovations.ola-code-bud
99

1010

1111
## Architecture
12-
1312
```mermaid
14-
graph TB
15-
subgraph VSCode["VS Code Extension"]
16-
Editor["Editor Interface"]
17-
Commands["Commands Layer"]
18-
Webview["Webview UI (React)"]
13+
flowchart TD
14+
15+
%% VS Code Extension Frontend
16+
subgraph "VS Code Extension Frontend"
17+
CE["Editor Interface"]:::frontend
18+
CL["Commands Layer"]:::frontend
19+
WV1["Webview (VS Code)"]:::frontend
20+
WV2["Webview (React UI)"]:::frontend
1921
end
2022
21-
subgraph Core["Core Application"]
22-
direction TB
23-
Agents["AI Agents Layer"]
24-
AppServices["Application Services"]
25-
Infrastructure["Infrastructure Layer"]
26-
Memory["Memory System"]
23+
%% Core Application Layer
24+
subgraph "Core Application"
25+
AA["AI Agents"]:::core
26+
MS["Memory System"]:::core
27+
subgraph "Application Services"
28+
BL["Business Logic"]:::core
29+
AI["Application Interfaces"]:::core
30+
end
31+
subgraph "Infrastructure Layer"
32+
HTTP["HTTP Services"]:::infra
33+
LOG["Logging"]:::infra
34+
REP["Repository"]:::infra
35+
LS["Local Storage"]:::infra
36+
end
2737
end
2838
29-
subgraph AIProviders["AI Providers"]
30-
Gemini["Gemini API"]
31-
Groq["Groq API"]
32-
Anthropic["Anthropic API"]
33-
XGrok["XGrok API"]
39+
%% AI Providers
40+
subgraph "AI Providers"
41+
LLM["Language Model Integrations"]:::provider
42+
ESP["External Service Providers"]:::provider
3443
end
3544
36-
subgraph Storage["Storage Layer"]
37-
SQLite["SQLite Database"]
38-
VectorDB["Vector Embeddings"]
39-
FileSystem["File System Service"]
45+
%% Storage Layer
46+
subgraph "Storage Layer"
47+
DB["Database (SQLite)"]:::storage
48+
FS["File System"]:::storage
49+
VD["Vector Database"]:::storage
4050
end
4151
42-
%% Main Flow Connections
43-
Editor -->|"User Input"| Commands
44-
Commands -->|"Process Request"| Agents
45-
Agents -->|"Context Management"| Memory
46-
Agents -->|"API Requests"| Infrastructure
47-
Infrastructure -->|"Model Selection"| AIProviders
48-
AppServices -->|"Data Access"| Storage
49-
Memory -->|"Store Context"| Storage
50-
Infrastructure -->|"Response"| Webview
51-
52-
%% Additional Connections
53-
Agents -->|"Business Logic"| AppServices
54-
Commands -->|"UI Updates"| Webview
55-
FileSystem -->|"Code Analysis"| Agents
56-
57-
58-
class VSCode vscode
59-
class Core core
60-
class AIProviders ai
61-
class Storage storage
52+
%% Connections between VS Code Extension Frontend
53+
CE -->|"UserInput"| CL
54+
CL -->|"ProcessRequest"| AA
55+
CL -->|"UIUpdate"| WV1
56+
57+
%% Connections within Core Application
58+
AA -->|"ContextManagement"| MS
59+
AA -->|"Orchestration"| BL
60+
AA -->|"ContractCall"| AI
61+
62+
%% Connections to Infrastructure
63+
AA -->|"APIRequest"| HTTP
64+
HTTP -->|"APICall"| LLM
65+
HTTP -->|"APICall"| ESP
66+
HTTP -->|"Feedback"| WV1
67+
68+
%% Connections from Application Services to Storage
69+
BL -->|"DataAccess"| DB
70+
BL -->|"FileAccess"| FS
71+
BL -->|"EmbedData"| VD
72+
AI -->|"RepositoryAccess"| REP
73+
74+
%% Memory System stores context to Storage
75+
MS -->|"StoreContext"| DB
76+
77+
%% Styling Classes
78+
classDef frontend fill:#cce5ff,stroke:#2a6592,stroke-width:2px;
79+
classDef core fill:#d4edda,stroke:#155724,stroke-width:2px;
80+
classDef infra fill:#f8d7da,stroke:#a71d2a,stroke-width:2px;
81+
classDef provider fill:#fff3cd,stroke:#856404,stroke-width:2px;
82+
classDef storage fill:#d1ecf1,stroke:#0c5460,stroke-width:2px;
83+
84+
%% Click Events
85+
click CE "https://github.com/olasunkanmi-se/codebuddy/blob/main/src/extension.ts"
86+
click CL "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/commands"
87+
click WV1 "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/webview"
88+
click WV2 "https://github.com/olasunkanmi-se/codebuddy/tree/main/webviewUi"
89+
click AA "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/agents"
90+
click MS "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/memory"
91+
click BL "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/services"
92+
click AI "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/application"
93+
click HTTP "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/infrastructure/http"
94+
click LOG "https://github.com/olasunkanmi-se/codebuddy/blob/main/src/infrastructure/logger/logger.ts"
95+
click REP "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/infrastructure/repository"
96+
click LS "https://github.com/olasunkanmi-se/codebuddy/blob/main/src/infrastructure/storage/local-storage.ts"
97+
click LLM "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/llms"
98+
click ESP "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/providers"
99+
click DB "https://github.com/olasunkanmi-se/codebuddy/tree/main/src/infrastructure/repository"
100+
click FS "https://github.com/olasunkanmi-se/codebuddy/blob/main/src/services/file-system.ts"
62101
```
102+
63103
### Database
64104
- SQLite database for code pattern storage
65105
- Vector embeddings for semantic code search

0 commit comments

Comments
 (0)