@wipal/agent-team 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/skills/discover.md +127 -0
- package/.claude/commands/skills/install.md +225 -0
- package/.claude/commands/skills/review.md +234 -0
- package/.claude/commands/utils/learn.md +142 -0
- package/.claude/commands/utils/retrospect.md +62 -0
- package/.claude/commands/utils/switch.md +113 -0
- package/.claude/commands/utils/sync.md +183 -0
- package/.claude/rules/common/general-rules.md +6 -0
- package/.claude/rules/role-rules/dev-be-rules.md +241 -0
- package/.claude/rules/role-rules/dev-fe-rules.md +76 -0
- package/.claude/skills/SKILL-INDEX.md +24 -5
- package/.claude/skills/core/knowledge-graph/SKILL.md +214 -0
- package/.claude/skills/core/sequential-thinking/SKILL.md +112 -0
- package/.claude/skills/core/sequential-thinking/references/advanced.md +122 -0
- package/.claude/skills/core/sequential-thinking/references/examples.md +274 -0
- package/.claude/skills/domain/architecture/c4-architecture/SKILL.md +314 -0
- package/.claude/skills/domain/architecture/c4-architecture/references/advanced-patterns.md +552 -0
- package/.claude/skills/domain/architecture/c4-architecture/references/c4-syntax.md +492 -0
- package/.claude/skills/domain/architecture/c4-architecture/references/common-mistakes.md +437 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/SKILL.md +238 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/advanced-features.md +556 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/architecture-diagrams.md +192 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/c4-diagrams.md +410 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/class-diagrams.md +361 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/erd-diagrams.md +510 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/flowcharts.md +450 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/sequence-diagrams.md +394 -0
- package/.claude/skills/domain/backend/testing-be/SKILL.md +121 -17
- package/.claude/skills/domain/design/design-system/SKILL.md +169 -0
- package/.claude/skills/domain/design/html-css-output/SKILL.md +253 -0
- package/.claude/skills/domain/design/mockup-creation/SKILL.md +230 -0
- package/.claude/skills/domain/design/responsive-design/SKILL.md +207 -0
- package/.claude/skills/domain/design/ui-design/SKILL.md +124 -0
- package/.claude/skills/domain/frontend/testing-fe/SKILL.md +143 -38
- package/.claude/skills/domain/frontend/ui-ux-pro-max/README.md +45 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/SKILL.md +404 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/charts.csv +26 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/colors.csv +97 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/icons.csv +101 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/landing.csv +31 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/products.csv +97 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/styles.csv +68 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/typography.csv +58 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/core.py +253 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/search.py +114 -0
- package/.claude/skills/domain/product/requirements-clarity/SKILL.md +340 -0
- package/.claude/skills/skills-registry.yaml +103 -8
- package/README.md +107 -33
- package/README.npm.md +252 -0
- package/TUTORIAL.md +256 -0
- package/bin/agent-team.js +26 -7
- package/config/roles.yaml +107 -0
- package/docs/01-architecture.md +699 -0
- package/docs/02-setup-guide.md +634 -0
- package/docs/03-skills-guide.md +628 -0
- package/docs/04-workflows.md +792 -0
- package/docs/05-model-strategy.md +550 -0
- package/docs/06-extend-guide.md +1226 -0
- package/docs/07-quick-reference.md +578 -0
- package/docs/08-skills-discovery.md +342 -0
- package/docs/README.md +134 -0
- package/docs/rqm.md +560 -0
- package/package.json +10 -4
- package/scripts/postinstall.js +46 -0
- package/src/commands/add.js +131 -67
- package/src/commands/init.js +419 -9
- package/src/commands/list.js +20 -16
- package/src/commands/projects.js +127 -0
- package/src/commands/setup-hooks.js +261 -0
- package/src/index.js +0 -1
- package/src/utils/file-utils.js +147 -50
- package/src/utils/global-registry.js +224 -0
- package/templates/CLAUDE.md.tmpl +128 -20
- package/templates/MEMORY.md.tmpl +119 -0
- package/templates/agent.md.tmpl +205 -0
- package/templates/code/nestjs-controller.ts.tmpl +49 -0
- package/templates/code/nestjs-dto.ts.tmpl +63 -0
- package/templates/code/nestjs-service.ts.tmpl +45 -0
- package/templates/code/react-component.tsx.tmpl +24 -0
- package/templates/code/react-hook.ts.tmpl +54 -0
- package/templates/code/test.spec.ts.tmpl +50 -0
- package/templates/code/vue-component.vue.tmpl +49 -0
- package/templates/code/vue-composable.ts.tmpl +54 -0
- package/templates/knowledge.md.tmpl +152 -17
- package/templates/meeting-notes.md.tmpl +110 -0
- package/templates/memory/hooks.memory.json +50 -0
- package/templates/memory/settings.memory.json +16 -0
- package/templates/reports/bug-report.md.tmpl +164 -0
- package/templates/reports/code-review.md.tmpl +201 -0
- package/templates/reports/sprint-report.md.tmpl +218 -0
- package/templates/roles/ba.md +53 -0
- package/templates/roles/designer.md +82 -0
- package/templates/roles/dev-be.md +49 -0
- package/templates/roles/dev-fe.md +49 -0
- package/templates/roles/devops.md +53 -0
- package/templates/roles/pm.md +49 -0
- package/templates/roles/qa.md +53 -0
- package/templates/roles/sa.md +49 -0
- package/templates/roles/tech-lead.md +132 -0
- package/templates/skills/memory/memory-status.md +78 -0
- package/templates/skills/memory/recall.md +160 -0
- package/templates/skills/memory/reflect.md +168 -0
- package/templates/skills/memory/remember.md +105 -0
- package/templates/tasks/lessons.md.tmpl +77 -0
- package/templates/tasks/todo.md.tmpl +53 -0
- package/src/commands/switch.js +0 -53
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
# Advanced Mermaid Features
|
|
2
|
+
|
|
3
|
+
Advanced configuration, styling, theming, and other powerful features for creating professional diagrams.
|
|
4
|
+
|
|
5
|
+
## Frontmatter Configuration
|
|
6
|
+
|
|
7
|
+
Add YAML configuration at the top of diagrams:
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
---
|
|
11
|
+
config:
|
|
12
|
+
theme: dark
|
|
13
|
+
themeVariables:
|
|
14
|
+
primaryColor: "#ff6b6b"
|
|
15
|
+
primaryTextColor: "#fff"
|
|
16
|
+
primaryBorderColor: "#333"
|
|
17
|
+
lineColor: "#666"
|
|
18
|
+
secondaryColor: "#4ecdc4"
|
|
19
|
+
tertiaryColor: "#ffe66d"
|
|
20
|
+
---
|
|
21
|
+
flowchart TD
|
|
22
|
+
A --> B
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Themes
|
|
26
|
+
|
|
27
|
+
### Built-in Themes
|
|
28
|
+
|
|
29
|
+
```mermaid
|
|
30
|
+
---
|
|
31
|
+
config:
|
|
32
|
+
theme: default
|
|
33
|
+
---
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Available themes:**
|
|
37
|
+
- `default` - Standard blue theme
|
|
38
|
+
- `forest` - Green earth tones
|
|
39
|
+
- `dark` - Dark mode friendly
|
|
40
|
+
- `neutral` - Grayscale professional
|
|
41
|
+
- `base` - Minimal base theme for customization
|
|
42
|
+
|
|
43
|
+
### Theme Examples
|
|
44
|
+
|
|
45
|
+
**Default Theme:**
|
|
46
|
+
```mermaid
|
|
47
|
+
---
|
|
48
|
+
config:
|
|
49
|
+
theme: default
|
|
50
|
+
---
|
|
51
|
+
flowchart LR
|
|
52
|
+
A[Start] --> B[Process]
|
|
53
|
+
B --> C{Decision}
|
|
54
|
+
C -->|Yes| D[Action 1]
|
|
55
|
+
C -->|No| E[Action 2]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Dark Theme:**
|
|
59
|
+
```mermaid
|
|
60
|
+
---
|
|
61
|
+
config:
|
|
62
|
+
theme: dark
|
|
63
|
+
---
|
|
64
|
+
flowchart LR
|
|
65
|
+
A[Start] --> B[Process]
|
|
66
|
+
B --> C{Decision}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Forest Theme:**
|
|
70
|
+
```mermaid
|
|
71
|
+
---
|
|
72
|
+
config:
|
|
73
|
+
theme: forest
|
|
74
|
+
---
|
|
75
|
+
flowchart LR
|
|
76
|
+
A[Start] --> B[Process]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Custom Theme Variables
|
|
80
|
+
|
|
81
|
+
Override specific colors:
|
|
82
|
+
|
|
83
|
+
```mermaid
|
|
84
|
+
---
|
|
85
|
+
config:
|
|
86
|
+
theme: base
|
|
87
|
+
themeVariables:
|
|
88
|
+
primaryColor: "#ff6b6b"
|
|
89
|
+
primaryTextColor: "#fff"
|
|
90
|
+
primaryBorderColor: "#d63031"
|
|
91
|
+
lineColor: "#74b9ff"
|
|
92
|
+
secondaryColor: "#00b894"
|
|
93
|
+
tertiaryColor: "#fdcb6e"
|
|
94
|
+
background: "#f0f0f0"
|
|
95
|
+
mainBkg: "#ffffff"
|
|
96
|
+
textColor: "#333333"
|
|
97
|
+
nodeBorder: "#333333"
|
|
98
|
+
clusterBkg: "#f9f9f9"
|
|
99
|
+
clusterBorder: "#666666"
|
|
100
|
+
---
|
|
101
|
+
flowchart TD
|
|
102
|
+
A --> B --> C
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Layout Options
|
|
106
|
+
|
|
107
|
+
### Dagre Layout (Default)
|
|
108
|
+
|
|
109
|
+
```mermaid
|
|
110
|
+
---
|
|
111
|
+
config:
|
|
112
|
+
layout: dagre
|
|
113
|
+
---
|
|
114
|
+
flowchart TD
|
|
115
|
+
A --> B
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### ELK Layout (Advanced)
|
|
119
|
+
|
|
120
|
+
For complex diagrams with better automatic layout:
|
|
121
|
+
|
|
122
|
+
```mermaid
|
|
123
|
+
---
|
|
124
|
+
config:
|
|
125
|
+
layout: elk
|
|
126
|
+
elk:
|
|
127
|
+
mergeEdges: true
|
|
128
|
+
nodePlacementStrategy: BRANDES_KOEPF
|
|
129
|
+
---
|
|
130
|
+
flowchart TD
|
|
131
|
+
A --> B
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**ELK node placement strategies:**
|
|
135
|
+
- `SIMPLE` - Basic placement
|
|
136
|
+
- `NETWORK_SIMPLEX` - Network optimization
|
|
137
|
+
- `LINEAR_SEGMENTS` - Linear arrangement
|
|
138
|
+
- `BRANDES_KOEPF` - Balanced (default)
|
|
139
|
+
|
|
140
|
+
## Look Options
|
|
141
|
+
|
|
142
|
+
### Classic Look
|
|
143
|
+
|
|
144
|
+
Traditional Mermaid appearance:
|
|
145
|
+
|
|
146
|
+
```mermaid
|
|
147
|
+
---
|
|
148
|
+
config:
|
|
149
|
+
look: classic
|
|
150
|
+
---
|
|
151
|
+
flowchart LR
|
|
152
|
+
A --> B --> C
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Hand-Drawn Look
|
|
156
|
+
|
|
157
|
+
Sketch-like, informal style:
|
|
158
|
+
|
|
159
|
+
```mermaid
|
|
160
|
+
---
|
|
161
|
+
config:
|
|
162
|
+
look: handDrawn
|
|
163
|
+
---
|
|
164
|
+
flowchart LR
|
|
165
|
+
A --> B --> C
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Complete Configuration Example
|
|
169
|
+
|
|
170
|
+
```mermaid
|
|
171
|
+
---
|
|
172
|
+
config:
|
|
173
|
+
theme: base
|
|
174
|
+
look: handDrawn
|
|
175
|
+
layout: dagre
|
|
176
|
+
themeVariables:
|
|
177
|
+
primaryColor: "#ff6b6b"
|
|
178
|
+
primaryTextColor: "#fff"
|
|
179
|
+
primaryBorderColor: "#d63031"
|
|
180
|
+
lineColor: "#74b9ff"
|
|
181
|
+
secondaryColor: "#00b894"
|
|
182
|
+
tertiaryColor: "#fdcb6e"
|
|
183
|
+
---
|
|
184
|
+
flowchart TD
|
|
185
|
+
Start([Begin Process]) --> Input[Gather Data]
|
|
186
|
+
Input --> Process{Valid?}
|
|
187
|
+
Process -->|Yes| Store[(Save to DB)]
|
|
188
|
+
Process -->|No| Error[Show Error]
|
|
189
|
+
Store --> Notify[Send Notification]
|
|
190
|
+
Error --> Input
|
|
191
|
+
Notify --> End([Complete])
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Diagram-Specific Styling
|
|
195
|
+
|
|
196
|
+
### Flowchart Styling
|
|
197
|
+
|
|
198
|
+
**Class-based styling:**
|
|
199
|
+
```mermaid
|
|
200
|
+
flowchart TD
|
|
201
|
+
A[Normal]:::success
|
|
202
|
+
B[Warning]:::warning
|
|
203
|
+
C[Error]:::error
|
|
204
|
+
|
|
205
|
+
classDef success fill:#00b894,stroke:#00a383,color:#fff
|
|
206
|
+
classDef warning fill:#fdcb6e,stroke:#e8b923,color:#333
|
|
207
|
+
classDef error fill:#ff6b6b,stroke:#ee5253,color:#fff
|
|
208
|
+
|
|
209
|
+
A --> B --> C
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Node-specific styling:**
|
|
213
|
+
```mermaid
|
|
214
|
+
flowchart LR
|
|
215
|
+
A[Node A]
|
|
216
|
+
B[Node B]
|
|
217
|
+
C[Node C]
|
|
218
|
+
|
|
219
|
+
style A fill:#ff6b6b,stroke:#333,stroke-width:4px
|
|
220
|
+
style B fill:#4ecdc4,stroke:#333,stroke-width:2px
|
|
221
|
+
style C fill:#ffe66d,stroke:#333,stroke-width:2px
|
|
222
|
+
|
|
223
|
+
A --> B --> C
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Link styling:**
|
|
227
|
+
```mermaid
|
|
228
|
+
flowchart LR
|
|
229
|
+
A --> B
|
|
230
|
+
B --> C
|
|
231
|
+
C --> D
|
|
232
|
+
|
|
233
|
+
linkStyle 0 stroke:#ff6b6b,stroke-width:4px
|
|
234
|
+
linkStyle 1 stroke:#4ecdc4,stroke-width:2px
|
|
235
|
+
linkStyle 2 stroke:#ffe66d,stroke-width:2px
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Sequence Diagram Styling
|
|
239
|
+
|
|
240
|
+
```mermaid
|
|
241
|
+
sequenceDiagram
|
|
242
|
+
participant A
|
|
243
|
+
participant B
|
|
244
|
+
participant C
|
|
245
|
+
|
|
246
|
+
A->>B: Message 1
|
|
247
|
+
B->>C: Message 2
|
|
248
|
+
|
|
249
|
+
Note over A,C: Styled note
|
|
250
|
+
|
|
251
|
+
%%{init: {'theme':'forest'}}%%
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Class Diagram Styling
|
|
255
|
+
|
|
256
|
+
```mermaid
|
|
257
|
+
classDiagram
|
|
258
|
+
class User {
|
|
259
|
+
+String name
|
|
260
|
+
+login()
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
class Admin {
|
|
264
|
+
+manageUsers()
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
User <|-- Admin
|
|
268
|
+
|
|
269
|
+
%%{init: {'theme':'dark'}}%%
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## Directional Hints
|
|
273
|
+
|
|
274
|
+
Control layout direction for specific nodes:
|
|
275
|
+
|
|
276
|
+
```mermaid
|
|
277
|
+
flowchart TB
|
|
278
|
+
A --> B
|
|
279
|
+
B --> C
|
|
280
|
+
B --> D
|
|
281
|
+
C --> E
|
|
282
|
+
D --> E
|
|
283
|
+
|
|
284
|
+
%% This is a comment - helps organize complex diagrams
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## Click Events and Links
|
|
288
|
+
|
|
289
|
+
Add interactive elements:
|
|
290
|
+
|
|
291
|
+
```mermaid
|
|
292
|
+
flowchart LR
|
|
293
|
+
A[GitHub]
|
|
294
|
+
B[Documentation]
|
|
295
|
+
C[Live Demo]
|
|
296
|
+
|
|
297
|
+
click A "https://github.com" "Go to GitHub"
|
|
298
|
+
click B "https://mermaid.js.org" "View Docs"
|
|
299
|
+
click C "https://mermaid.live" "Try Live Editor"
|
|
300
|
+
|
|
301
|
+
A --> B --> C
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
## Tooltips
|
|
305
|
+
|
|
306
|
+
Add hover information:
|
|
307
|
+
|
|
308
|
+
```mermaid
|
|
309
|
+
flowchart LR
|
|
310
|
+
A[Service A]
|
|
311
|
+
B[Service B]
|
|
312
|
+
|
|
313
|
+
A -.->|REST API| B
|
|
314
|
+
|
|
315
|
+
%% Tooltips are defined with links
|
|
316
|
+
link A: API Documentation @ https://api.example.com
|
|
317
|
+
link B: Service Dashboard @ https://dashboard.example.com
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## Subgraph Styling
|
|
321
|
+
|
|
322
|
+
```mermaid
|
|
323
|
+
flowchart TB
|
|
324
|
+
subgraph Frontend
|
|
325
|
+
A[Web App]
|
|
326
|
+
B[Mobile App]
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
subgraph Backend
|
|
330
|
+
C[API]
|
|
331
|
+
D[Database]
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
A & B --> C
|
|
335
|
+
C --> D
|
|
336
|
+
|
|
337
|
+
style Frontend fill:#e3f2fd,stroke:#2196f3,stroke-width:2px
|
|
338
|
+
style Backend fill:#fff3e0,stroke:#ff9800,stroke-width:2px
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## Comments and Documentation
|
|
342
|
+
|
|
343
|
+
```mermaid
|
|
344
|
+
flowchart TD
|
|
345
|
+
%% This is a single-line comment
|
|
346
|
+
|
|
347
|
+
%% Multi-line comments can be created
|
|
348
|
+
%% by using multiple comment lines
|
|
349
|
+
|
|
350
|
+
A[Start]
|
|
351
|
+
B[Process]
|
|
352
|
+
C[End]
|
|
353
|
+
|
|
354
|
+
%% Define relationships
|
|
355
|
+
A --> B
|
|
356
|
+
B --> C
|
|
357
|
+
|
|
358
|
+
%% Add styling
|
|
359
|
+
style A fill:#90EE90
|
|
360
|
+
style C fill:#FFB6C1
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
## Complex Styling Example
|
|
364
|
+
|
|
365
|
+
```mermaid
|
|
366
|
+
flowchart TB
|
|
367
|
+
subgraph production[Production Environment]
|
|
368
|
+
direction LR
|
|
369
|
+
lb[Load Balancer]
|
|
370
|
+
|
|
371
|
+
subgraph servers[Application Servers]
|
|
372
|
+
app1[Server 1]
|
|
373
|
+
app2[Server 2]
|
|
374
|
+
app3[Server 3]
|
|
375
|
+
end
|
|
376
|
+
|
|
377
|
+
cache[(Redis Cache)]
|
|
378
|
+
db[(PostgreSQL)]
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
subgraph monitoring[Monitoring]
|
|
382
|
+
logs[Log Aggregator]
|
|
383
|
+
metrics[Metrics Dashboard]
|
|
384
|
+
end
|
|
385
|
+
|
|
386
|
+
users[Users] --> lb
|
|
387
|
+
lb --> app1 & app2 & app3
|
|
388
|
+
app1 & app2 & app3 --> cache
|
|
389
|
+
app1 & app2 & app3 --> db
|
|
390
|
+
app1 & app2 & app3 --> logs
|
|
391
|
+
logs --> metrics
|
|
392
|
+
|
|
393
|
+
style production fill:#e8f5e9,stroke:#4caf50,stroke-width:3px
|
|
394
|
+
style servers fill:#fff3e0,stroke:#ff9800,stroke-width:2px
|
|
395
|
+
style monitoring fill:#e3f2fd,stroke:#2196f3,stroke-width:2px
|
|
396
|
+
|
|
397
|
+
style lb fill:#ffeb3b,stroke:#fbc02d,stroke-width:2px
|
|
398
|
+
style cache fill:#ce93d8,stroke:#ab47bc,stroke-width:2px
|
|
399
|
+
style db fill:#ce93d8,stroke:#ab47bc,stroke-width:2px
|
|
400
|
+
|
|
401
|
+
classDef serverClass fill:#81c784,stroke:#4caf50,stroke-width:2px,color:#000
|
|
402
|
+
class app1,app2,app3 serverClass
|
|
403
|
+
|
|
404
|
+
linkStyle 0,1,2,3 stroke:#4caf50,stroke-width:2px
|
|
405
|
+
linkStyle 4,5,6,7,8,9 stroke:#ff9800,stroke-width:1px
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
## Responsive Sizing
|
|
409
|
+
|
|
410
|
+
Use CSS to make diagrams responsive:
|
|
411
|
+
|
|
412
|
+
```html
|
|
413
|
+
<div style="max-width: 100%; overflow: auto;">
|
|
414
|
+
<pre class="mermaid">
|
|
415
|
+
flowchart LR
|
|
416
|
+
A --> B --> C
|
|
417
|
+
</pre>
|
|
418
|
+
</div>
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
## SVG Export Options
|
|
422
|
+
|
|
423
|
+
When exporting to SVG:
|
|
424
|
+
|
|
425
|
+
```bash
|
|
426
|
+
# Export with custom dimensions
|
|
427
|
+
mmdc -i diagram.mmd -o output.svg -w 1920 -H 1080
|
|
428
|
+
|
|
429
|
+
# Export with background color
|
|
430
|
+
mmdc -i diagram.mmd -o output.svg -b "#ffffff"
|
|
431
|
+
|
|
432
|
+
# Export with transparent background
|
|
433
|
+
mmdc -i diagram.mmd -o output.svg -b "transparent"
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
## Best Practices for Advanced Features
|
|
437
|
+
|
|
438
|
+
1. **Use themes consistently** - Pick one theme for related diagrams
|
|
439
|
+
2. **Don't over-style** - Too many colors can reduce clarity
|
|
440
|
+
3. **Test hand-drawn look** - Some diagrams work better with classic look
|
|
441
|
+
4. **Use ELK for complex layouts** - When dagre creates crossed lines
|
|
442
|
+
5. **Comment complex configurations** - Explain non-obvious styling choices
|
|
443
|
+
6. **Keep it accessible** - Ensure sufficient color contrast
|
|
444
|
+
7. **Test exports** - Verify diagrams render correctly in target format
|
|
445
|
+
8. **Version control configs** - Track theme changes in your repository
|
|
446
|
+
|
|
447
|
+
## Accessibility Considerations
|
|
448
|
+
|
|
449
|
+
```mermaid
|
|
450
|
+
---
|
|
451
|
+
config:
|
|
452
|
+
theme: base
|
|
453
|
+
themeVariables:
|
|
454
|
+
primaryColor: "#0066cc"
|
|
455
|
+
primaryTextColor: "#ffffff"
|
|
456
|
+
primaryBorderColor: "#003d7a"
|
|
457
|
+
lineColor: "#333333"
|
|
458
|
+
background: "#ffffff"
|
|
459
|
+
mainBkg: "#f0f0f0"
|
|
460
|
+
---
|
|
461
|
+
flowchart TD
|
|
462
|
+
A[High Contrast Text] --> B[Clear Labels]
|
|
463
|
+
B --> C[Meaningful Colors]
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
**Accessibility tips:**
|
|
467
|
+
- Use high contrast color combinations
|
|
468
|
+
- Don't rely solely on color to convey meaning
|
|
469
|
+
- Include descriptive text labels
|
|
470
|
+
- Test with color blindness simulators
|
|
471
|
+
- Consider dark mode alternatives
|
|
472
|
+
|
|
473
|
+
## Performance Considerations
|
|
474
|
+
|
|
475
|
+
For large diagrams:
|
|
476
|
+
|
|
477
|
+
```mermaid
|
|
478
|
+
---
|
|
479
|
+
config:
|
|
480
|
+
layout: elk
|
|
481
|
+
elk:
|
|
482
|
+
mergeEdges: true
|
|
483
|
+
---
|
|
484
|
+
flowchart TD
|
|
485
|
+
%% ELK handles complex layouts better
|
|
486
|
+
%% Merge edges reduces visual clutter
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
**Performance tips:**
|
|
490
|
+
- Use ELK layout for diagrams with >20 nodes
|
|
491
|
+
- Enable edge merging for simplified connections
|
|
492
|
+
- Split very large diagrams into multiple focused views
|
|
493
|
+
- Consider using subgraphs to organize complexity
|
|
494
|
+
- Limit styling to essential elements
|
|
495
|
+
|
|
496
|
+
## Integration Examples
|
|
497
|
+
|
|
498
|
+
### Markdown Files
|
|
499
|
+
|
|
500
|
+
````markdown
|
|
501
|
+
# System Architecture
|
|
502
|
+
|
|
503
|
+
```mermaid
|
|
504
|
+
flowchart LR
|
|
505
|
+
A --> B
|
|
506
|
+
```
|
|
507
|
+
````
|
|
508
|
+
|
|
509
|
+
### HTML Files
|
|
510
|
+
|
|
511
|
+
```html
|
|
512
|
+
<!DOCTYPE html>
|
|
513
|
+
<html>
|
|
514
|
+
<head>
|
|
515
|
+
<script type="module">
|
|
516
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
|
|
517
|
+
mermaid.initialize({
|
|
518
|
+
startOnLoad: true,
|
|
519
|
+
theme: 'dark',
|
|
520
|
+
look: 'handDrawn'
|
|
521
|
+
});
|
|
522
|
+
</script>
|
|
523
|
+
</head>
|
|
524
|
+
<body>
|
|
525
|
+
<pre class="mermaid">
|
|
526
|
+
flowchart LR
|
|
527
|
+
A --> B
|
|
528
|
+
</pre>
|
|
529
|
+
</body>
|
|
530
|
+
</html>
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
### React Components
|
|
534
|
+
|
|
535
|
+
```jsx
|
|
536
|
+
import React from 'react';
|
|
537
|
+
import mermaid from 'mermaid';
|
|
538
|
+
|
|
539
|
+
mermaid.initialize({
|
|
540
|
+
startOnLoad: true,
|
|
541
|
+
theme: 'forest'
|
|
542
|
+
});
|
|
543
|
+
|
|
544
|
+
function DiagramComponent() {
|
|
545
|
+
React.useEffect(() => {
|
|
546
|
+
mermaid.contentLoaded();
|
|
547
|
+
}, []);
|
|
548
|
+
|
|
549
|
+
return (
|
|
550
|
+
<div className="mermaid">
|
|
551
|
+
flowchart LR
|
|
552
|
+
A --> B
|
|
553
|
+
</div>
|
|
554
|
+
);
|
|
555
|
+
}
|
|
556
|
+
```
|