Skip to content

Commit d44e6f1

Browse files
committed
chore: add project diagram
- Added `repomix.config.json` for configuration management of repomix output. - Introduced `.repomixignore` to specify files to ignore during repomix operations. - Added `c4_diagram.puml` and `c4_diagram.png` for visual representation of MCP Client CLI architecture. - Updated `.gitignore` to include `repomix-output.md`. - Removed obsolete `commands` file to clean up the repository. - Enhanced `README.md` to include the new C4 diagram for better documentation.
1 parent 8e1007c commit d44e6f1

File tree

7 files changed

+82
-1
lines changed

7 files changed

+82
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ wheels/
1313
mcp-server-config.json
1414

1515
.DS_Store
16+
repomix-output.md

.repomixignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Add patterns to ignore here, one per line
2+
# Example:
3+
# *.log
4+
# tmp/
5+
uv.lock
6+
LICENSE
7+
.cursorrule

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ You can use any [MCP-compatible servers](https://github.com/punkpeye/awesome-mcp
66

77
This act as alternative client beside Claude Desktop. Additionally you can use any LLM provider like OpenAI, Groq, or local LLM model via [llama](https://github.com/ggerganov/llama.cpp).
88

9+
![C4 Diagram](c4_diagram.png)
10+
911
## Usage
1012

1113
### Basic Usage

c4_diagram.png

143 KB
Loading

c4_diagram.puml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
@startuml MCP Client CLI Architecture
2+
3+
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml
4+
5+
LAYOUT_WITH_LEGEND()
6+
7+
title Component diagram for MCP Client CLI
8+
9+
Person(user, "User", "Software engineer using the CLI")
10+
11+
note right of user
12+
Common Usage:
13+
$ llm "What is the capital of France?"
14+
$ llm c "tell me more"
15+
$ llm p review
16+
$ cat file.txt | llm
17+
$ llm --list-tools
18+
$ llm --list-prompts
19+
end note
20+
21+
System_Boundary(mcp_client_cli, "MCP Client CLI") {
22+
Container(cli_component, "CLI Component", "Python", "Handles command-line interface and user interaction", $tags="cli")
23+
24+
25+
Component(config_manager, "Config Manager", "Python", "Manages configuration loading and validation")
26+
Component(output_handler, "Output Handler", "Python", "Handles output formatting and display")
27+
Component(conversation_manager, "Conversation Manager", "Python", "Manages conversation persistence")
28+
Component(memory_manager, "Memory Manager", "Python", "Manages user memories and vector storage")
29+
Component(tool_manager, "Tool Manager", "Python", "Manages MCP tools and their conversion")
30+
31+
ContainerDb(sqlite_db, "SQLite Database", "SQLite", "Stores conversations and memories")
32+
ContainerDb(config_file, "Config File", "JSON", "Stores application configuration")
33+
}
34+
35+
System_Ext(mcp_servers, "MCP Servers", "External MCP-compatible servers providing various tools")
36+
System_Ext(llm_providers, "LLM Providers", "External LLM services (OpenAI, Google, etc.)")
37+
38+
Rel(user, cli_component, "Uses", "CLI commands")
39+
Rel(cli_component, config_manager, "Uses", "Loads configuration")
40+
Rel(cli_component, output_handler, "Uses", "Displays output")
41+
Rel(cli_component, conversation_manager, "Uses", "Manages conversations")
42+
Rel(cli_component, memory_manager, "Uses", "Accesses memories")
43+
Rel(cli_component, tool_manager, "Uses", "Manages tools")
44+
45+
Rel(conversation_manager, sqlite_db, "Reads/Writes", "SQL")
46+
Rel(memory_manager, sqlite_db, "Reads/Writes", "SQL")
47+
Rel(config_manager, config_file, "Reads", "JSON")
48+
49+
Rel(tool_manager, mcp_servers, "Connects", "MCP Protocol")
50+
Rel(cli_component, llm_providers, "Uses", "API calls")
51+
52+
@enduml

commands

Lines changed: 0 additions & 1 deletion
This file was deleted.

repomix.config.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"output": {
3+
"filePath": "repomix-output.md",
4+
"style": "markdown",
5+
"removeComments": false,
6+
"removeEmptyLines": false,
7+
"topFilesLength": 5,
8+
"showLineNumbers": false,
9+
"copyToClipboard": false
10+
},
11+
"include": [],
12+
"ignore": {
13+
"useGitignore": true,
14+
"useDefaultPatterns": true,
15+
"customPatterns": []
16+
},
17+
"security": {
18+
"enableSecurityCheck": true
19+
}
20+
}

0 commit comments

Comments
 (0)