Skip to content

Commit a6a2aaa

Browse files
authored
chore(docs): add repo layout diagram (#299)
* Update README.md * Update README.md
1 parent ebe1a6b commit a6a2aaa

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

README.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,97 @@ In this 4 minute demo we:
9191
[Follow Along with the nameservice demo in the docs](https://rollchains.github.io/spawn/v0.50/build/name-service/) | [source](./docs/versioned_docs/version-v0.50.x/02-build-your-application/01-nameservice.md)
9292

9393
https://github.com/rollchains/spawn/assets/31943163/ecc21ce4-c42c-4ff2-8e73-897c0ede27f0
94+
95+
## Repo Layout
96+
97+
<!-- Generated with https://gitdiagram.com/rollchains/spawn -->
98+
```mermaid
99+
graph TD
100+
%% CLI Interface Layer
101+
subgraph "CLI Interface Layer"
102+
A1("Main Entry (main.go)"):::cli
103+
A2("CLI Commands (cli.go)"):::cli
104+
A3("New Chain Command (new_chain.go)"):::cli
105+
A4("UI Components (ui.go)"):::cli
106+
A5("CLI Plugins (plugins.go)"):::cli
107+
end
108+
109+
%% Core Spawn Engine
110+
subgraph "Core Spawn Engine"
111+
B1("Configuration Management (cfg.go, cfg_builder.go)"):::core
112+
B2("Command Parsing (parser.go)"):::core
113+
B3("Command Execution (command.go)"):::core
114+
B4("Plugin Integration"):::core
115+
end
116+
117+
%% Plugins and Extensibility
118+
subgraph "Plugins and Extensibility"
119+
E1("Plugins (plugins)"):::plugin
120+
end
121+
122+
%% SimApp (Example Blockchain Application)
123+
subgraph "SimApp (Example Blockchain)"
124+
C1("Application Logic (simapp/app)"):::chain
125+
C2("API/gRPC Interfaces (simapp/api)"):::chain
126+
C3("Blockchain Modules (simapp/x)"):::chain
127+
end
128+
129+
%% CI/CD and Automation
130+
subgraph "CI/CD and Automation"
131+
D1("GitHub Actions (.github/workflows)"):::automation
132+
D2("Docker Configuration (Dockerfile)"):::automation
133+
D3("Build Scripts (Makefile)"):::automation
134+
end
135+
136+
%% Relationships from CLI to Core Spawn Engine
137+
A1 -->|"initiate"| B1
138+
A2 -->|"parse_commands"| B2
139+
A3 -->|"execute_chain"| B3
140+
A4 -->|"trigger_UI"| B3
141+
A5 -->|"load_plugins"| B4
142+
143+
%% Relationship from Core to Plugins
144+
B4 -->|"integrate_plugin"| E1
145+
146+
%% Relationships from Core Spawn Engine to SimApp
147+
B3 -->|"scaffold_chain"| C1
148+
B3 -->|"expose_API"| C2
149+
B3 -->|"load_modules"| C3
150+
151+
%% CI/CD automation triggers to SimApp
152+
D1 -->|"trigger_test_build"| C1
153+
D2 -->|"containerize"| C1
154+
D3 -->|"build_project"| C1
155+
156+
%% Click Events for CLI Layer
157+
click A1 "https://github.com/rollchains/spawn/blob/release/v0.50/cmd/spawn/main.go"
158+
click A2 "https://github.com/rollchains/spawn/blob/release/v0.50/cmd/spawn/cli.go"
159+
click A3 "https://github.com/rollchains/spawn/blob/release/v0.50/cmd/spawn/new_chain.go"
160+
click A4 "https://github.com/rollchains/spawn/blob/release/v0.50/cmd/spawn/ui.go"
161+
click A5 "https://github.com/rollchains/spawn/blob/release/v0.50/cmd/spawn/plugins.go"
162+
163+
%% Click Events for Core Spawn Engine
164+
click B1 "https://github.com/rollchains/spawn/blob/release/v0.50/spawn/cfg.go"
165+
click B2 "https://github.com/rollchains/spawn/blob/release/v0.50/spawn/parser.go"
166+
click B3 "https://github.com/rollchains/spawn/blob/release/v0.50/spawn/command.go"
167+
168+
%% Click Events for SimApp
169+
click C1 "https://github.com/rollchains/spawn/tree/release/v0.50/simapp/app"
170+
click C2 "https://github.com/rollchains/spawn/tree/release/v0.50/simapp/api"
171+
click C3 "https://github.com/rollchains/spawn/tree/release/v0.50/simapp/x"
172+
173+
%% Click Event for Plugins
174+
click E1 "https://github.com/rollchains/spawn/tree/release/v0.50/plugins"
175+
176+
%% Click Events for CI/CD and Automation
177+
click D1 "https://github.com/rollchains/spawn/tree/release/v0.50/.github/workflows"
178+
click D2 "https://github.com/rollchains/spawn/tree/release/v0.50/Dockerfile"
179+
click D3 "https://github.com/rollchains/spawn/tree/release/v0.50/Makefile"
180+
181+
%% Styles
182+
classDef cli fill:#f9e79f,stroke:#b9770e,stroke-width:2px;
183+
classDef core fill:#aed6f1,stroke:#2471a3,stroke-width:2px;
184+
classDef chain fill:#d5f5e3,stroke:#1e8449,stroke-width:2px;
185+
classDef plugin fill:#f5b7b1,stroke:#c0392b,stroke-width:2px;
186+
classDef automation fill:#d7bde2,stroke:#8e44ad,stroke-width:2px;
187+
```

0 commit comments

Comments
 (0)