@@ -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
9393https://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