@wipal/agent-team 1.0.4 → 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 +9 -3
- 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,450 @@
|
|
|
1
|
+
# Flowcharts
|
|
2
|
+
|
|
3
|
+
Flowcharts visualize processes, algorithms, decision trees, and user journeys. They show step-by-step progression through a system or workflow.
|
|
4
|
+
|
|
5
|
+
## Basic Syntax
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
flowchart TD
|
|
9
|
+
A --> B
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**Directions:**
|
|
13
|
+
- `TD` or `TB` - Top to Bottom (default)
|
|
14
|
+
- `BT` - Bottom to Top
|
|
15
|
+
- `LR` - Left to Right
|
|
16
|
+
- `RL` - Right to Left
|
|
17
|
+
|
|
18
|
+
## Node Shapes
|
|
19
|
+
|
|
20
|
+
### Rectangle (default)
|
|
21
|
+
```mermaid
|
|
22
|
+
flowchart LR
|
|
23
|
+
A[Process step]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Rounded Rectangle
|
|
27
|
+
```mermaid
|
|
28
|
+
flowchart LR
|
|
29
|
+
B([Rounded process])
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Stadium/Pill Shape
|
|
33
|
+
```mermaid
|
|
34
|
+
flowchart LR
|
|
35
|
+
C(Start or End)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Subroutine (Double Border)
|
|
39
|
+
```mermaid
|
|
40
|
+
flowchart LR
|
|
41
|
+
D[[Subroutine]]
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Cylindrical (Database)
|
|
45
|
+
```mermaid
|
|
46
|
+
flowchart LR
|
|
47
|
+
E[(Database)]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Circle
|
|
51
|
+
```mermaid
|
|
52
|
+
flowchart LR
|
|
53
|
+
F((Circle node))
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Asymmetric/Flag
|
|
57
|
+
```mermaid
|
|
58
|
+
flowchart LR
|
|
59
|
+
G>Flag node]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Rhombus (Decision)
|
|
63
|
+
```mermaid
|
|
64
|
+
flowchart LR
|
|
65
|
+
H{Decision?}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Hexagon
|
|
69
|
+
```mermaid
|
|
70
|
+
flowchart LR
|
|
71
|
+
I{{Hexagon}}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Parallelogram (Input/Output)
|
|
75
|
+
```mermaid
|
|
76
|
+
flowchart LR
|
|
77
|
+
J[/Input or Output/]
|
|
78
|
+
K[\Alternative IO\]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Trapezoid
|
|
82
|
+
```mermaid
|
|
83
|
+
flowchart LR
|
|
84
|
+
L[/Trapezoid\]
|
|
85
|
+
M[\Alt trapezoid/]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Connections
|
|
89
|
+
|
|
90
|
+
### Basic Arrow
|
|
91
|
+
```mermaid
|
|
92
|
+
flowchart LR
|
|
93
|
+
A --> B
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Open Link (No Arrow)
|
|
97
|
+
```mermaid
|
|
98
|
+
flowchart LR
|
|
99
|
+
A --- B
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Text on Links
|
|
103
|
+
```mermaid
|
|
104
|
+
flowchart LR
|
|
105
|
+
A -->|Label text| B
|
|
106
|
+
C ---|"Text with spaces"| D
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Dotted Links
|
|
110
|
+
```mermaid
|
|
111
|
+
flowchart LR
|
|
112
|
+
A -.-> B
|
|
113
|
+
C -.- D
|
|
114
|
+
E -.Label.-> F
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Thick Links
|
|
118
|
+
```mermaid
|
|
119
|
+
flowchart LR
|
|
120
|
+
A ==> B
|
|
121
|
+
C === D
|
|
122
|
+
E ==Label==> F
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Chaining
|
|
126
|
+
```mermaid
|
|
127
|
+
flowchart LR
|
|
128
|
+
A --> B --> C --> D
|
|
129
|
+
E --> F & G --> H
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Multi-directional
|
|
133
|
+
```mermaid
|
|
134
|
+
flowchart LR
|
|
135
|
+
A --> B & C & D
|
|
136
|
+
B & C & D --> E
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Subgraphs
|
|
140
|
+
|
|
141
|
+
Group related nodes:
|
|
142
|
+
|
|
143
|
+
```mermaid
|
|
144
|
+
flowchart TB
|
|
145
|
+
A[Start]
|
|
146
|
+
|
|
147
|
+
subgraph Processing
|
|
148
|
+
B[Step 1]
|
|
149
|
+
C[Step 2]
|
|
150
|
+
D[Step 3]
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
E[End]
|
|
154
|
+
|
|
155
|
+
A --> B
|
|
156
|
+
D --> E
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Nested Subgraphs
|
|
160
|
+
```mermaid
|
|
161
|
+
flowchart TB
|
|
162
|
+
subgraph Outer
|
|
163
|
+
A[Node A]
|
|
164
|
+
|
|
165
|
+
subgraph Inner
|
|
166
|
+
B[Node B]
|
|
167
|
+
C[Node C]
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Subgraph Direction
|
|
173
|
+
```mermaid
|
|
174
|
+
flowchart LR
|
|
175
|
+
subgraph one
|
|
176
|
+
direction TB
|
|
177
|
+
A1 --> A2
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
subgraph two
|
|
181
|
+
direction TB
|
|
182
|
+
B1 --> B2
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
one --> two
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Styling
|
|
189
|
+
|
|
190
|
+
### Individual Node Styling
|
|
191
|
+
```mermaid
|
|
192
|
+
flowchart LR
|
|
193
|
+
A[Normal]
|
|
194
|
+
B[Styled]
|
|
195
|
+
|
|
196
|
+
style B fill:#ff6b6b,stroke:#333,stroke-width:4px,color:#fff
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Class-based Styling
|
|
200
|
+
```mermaid
|
|
201
|
+
flowchart LR
|
|
202
|
+
A[Node 1]:::className
|
|
203
|
+
B[Node 2]:::className
|
|
204
|
+
C[Node 3]
|
|
205
|
+
|
|
206
|
+
classDef className fill:#f9f,stroke:#333,stroke-width:2px
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Link Styling
|
|
210
|
+
```mermaid
|
|
211
|
+
flowchart LR
|
|
212
|
+
A --> B
|
|
213
|
+
linkStyle 0 stroke:#ff3,stroke-width:4px,color:red
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Comprehensive Example: User Registration Flow
|
|
217
|
+
|
|
218
|
+
```mermaid
|
|
219
|
+
flowchart TD
|
|
220
|
+
Start([User visits registration page]) --> Form[Show registration form]
|
|
221
|
+
Form --> Input[User enters details]
|
|
222
|
+
Input --> Validate{Valid input?}
|
|
223
|
+
|
|
224
|
+
Validate -->|No| ShowError[Show validation errors]
|
|
225
|
+
ShowError --> Form
|
|
226
|
+
|
|
227
|
+
Validate -->|Yes| CheckEmail{Email exists?}
|
|
228
|
+
|
|
229
|
+
CheckEmail -->|Yes| EmailError[Show 'Email already registered']
|
|
230
|
+
EmailError --> Form
|
|
231
|
+
|
|
232
|
+
CheckEmail -->|No| CreateAccount[Create user account]
|
|
233
|
+
CreateAccount --> Hash[Hash password]
|
|
234
|
+
Hash --> SaveDB[(Save to database)]
|
|
235
|
+
SaveDB --> GenerateToken[Generate verification token]
|
|
236
|
+
GenerateToken --> SendEmail[Send verification email]
|
|
237
|
+
SendEmail --> ShowSuccess[Show success message]
|
|
238
|
+
ShowSuccess --> End([Redirect to login])
|
|
239
|
+
|
|
240
|
+
style Start fill:#90EE90,stroke:#333,stroke-width:2px
|
|
241
|
+
style End fill:#90EE90,stroke:#333,stroke-width:2px
|
|
242
|
+
style CreateAccount fill:#87CEEB,stroke:#333,stroke-width:2px
|
|
243
|
+
style SaveDB fill:#FFD700,stroke:#333,stroke-width:2px
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## Algorithm Example: Binary Search
|
|
247
|
+
|
|
248
|
+
```mermaid
|
|
249
|
+
flowchart TD
|
|
250
|
+
Start([Start Binary Search]) --> Init[Set low = 0, high = array.length - 1]
|
|
251
|
+
Init --> Check{low <= high?}
|
|
252
|
+
|
|
253
|
+
Check -->|No| NotFound[Return -1: Not found]
|
|
254
|
+
NotFound --> End([End])
|
|
255
|
+
|
|
256
|
+
Check -->|Yes| CalcMid[mid = low + (high - low) / 2]
|
|
257
|
+
CalcMid --> Compare{array[mid] == target?}
|
|
258
|
+
|
|
259
|
+
Compare -->|Yes| Found[Return mid: Found]
|
|
260
|
+
Found --> End
|
|
261
|
+
|
|
262
|
+
Compare -->|No| CheckLess{array[mid] < target?}
|
|
263
|
+
|
|
264
|
+
CheckLess -->|Yes| MoveLow[low = mid + 1]
|
|
265
|
+
MoveLow --> Check
|
|
266
|
+
|
|
267
|
+
CheckLess -->|No| MoveHigh[high = mid - 1]
|
|
268
|
+
MoveHigh --> Check
|
|
269
|
+
|
|
270
|
+
style Start fill:#90EE90
|
|
271
|
+
style End fill:#90EE90
|
|
272
|
+
style Found fill:#FFD700
|
|
273
|
+
style NotFound fill:#FF6B6B
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
## CI/CD Pipeline
|
|
277
|
+
|
|
278
|
+
```mermaid
|
|
279
|
+
flowchart LR
|
|
280
|
+
subgraph Development
|
|
281
|
+
Commit[Developer commits code] --> Push[Push to repository]
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
subgraph CI
|
|
285
|
+
Push --> Trigger[Trigger CI pipeline]
|
|
286
|
+
Trigger --> Checkout[Checkout code]
|
|
287
|
+
Checkout --> Install[Install dependencies]
|
|
288
|
+
Install --> Lint[Run linters]
|
|
289
|
+
Lint --> Test[Run tests]
|
|
290
|
+
Test --> Build[Build application]
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
subgraph QA
|
|
294
|
+
Build --> DeployStaging[Deploy to staging]
|
|
295
|
+
DeployStaging --> E2E[Run E2E tests]
|
|
296
|
+
E2E --> ManualQA{Manual QA approval?}
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
subgraph Production
|
|
300
|
+
ManualQA -->|Approved| DeployProd[Deploy to production]
|
|
301
|
+
DeployProd --> HealthCheck{Health check passed?}
|
|
302
|
+
HealthCheck -->|Yes| Success([Deployment successful])
|
|
303
|
+
HealthCheck -->|No| Rollback[Rollback deployment]
|
|
304
|
+
Rollback --> Alert[Alert team]
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
ManualQA -->|Rejected| FixIssues[Fix issues]
|
|
308
|
+
FixIssues --> Development
|
|
309
|
+
|
|
310
|
+
Test -->|Failed| NotifyDev[Notify developer]
|
|
311
|
+
NotifyDev --> FixIssues
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
## E-Commerce Checkout Flow
|
|
315
|
+
|
|
316
|
+
```mermaid
|
|
317
|
+
flowchart TD
|
|
318
|
+
Start([User clicks Checkout]) --> Auth{Authenticated?}
|
|
319
|
+
|
|
320
|
+
Auth -->|No| Login[Redirect to login]
|
|
321
|
+
Login --> Auth
|
|
322
|
+
|
|
323
|
+
Auth -->|Yes| Cart{Cart empty?}
|
|
324
|
+
Cart -->|Yes| EmptyCart[Show empty cart message]
|
|
325
|
+
EmptyCart --> Browse[Redirect to products]
|
|
326
|
+
|
|
327
|
+
Cart -->|No| Address[Show shipping address form]
|
|
328
|
+
Address --> ValidateAddr{Valid address?}
|
|
329
|
+
ValidateAddr -->|No| Address
|
|
330
|
+
ValidateAddr -->|Yes| Shipping[Select shipping method]
|
|
331
|
+
|
|
332
|
+
Shipping --> Payment[Enter payment details]
|
|
333
|
+
Payment --> ValidatePayment{Valid payment info?}
|
|
334
|
+
ValidatePayment -->|No| Payment
|
|
335
|
+
|
|
336
|
+
ValidatePayment -->|Yes| Review[Show order review]
|
|
337
|
+
Review --> Confirm{Confirm order?}
|
|
338
|
+
|
|
339
|
+
Confirm -->|No| Edit{Edit what?}
|
|
340
|
+
Edit -->|Address| Address
|
|
341
|
+
Edit -->|Shipping| Shipping
|
|
342
|
+
Edit -->|Payment| Payment
|
|
343
|
+
|
|
344
|
+
Confirm -->|Yes| ProcessPayment[Process payment]
|
|
345
|
+
ProcessPayment --> PaymentResult{Payment successful?}
|
|
346
|
+
|
|
347
|
+
PaymentResult -->|No| PaymentError[Show payment error]
|
|
348
|
+
PaymentError --> RetryPayment{Retry?}
|
|
349
|
+
RetryPayment -->|Yes| Payment
|
|
350
|
+
RetryPayment -->|No| Cancel([Order cancelled])
|
|
351
|
+
|
|
352
|
+
PaymentResult -->|Yes| CreateOrder[(Create order record)]
|
|
353
|
+
CreateOrder --> ReduceStock[Reduce inventory]
|
|
354
|
+
ReduceStock --> SendConfirmation[Send confirmation email]
|
|
355
|
+
SendConfirmation --> Success([Order complete - Show confirmation])
|
|
356
|
+
|
|
357
|
+
style Start fill:#90EE90
|
|
358
|
+
style Success fill:#90EE90
|
|
359
|
+
style Cancel fill:#FF6B6B
|
|
360
|
+
style CreateOrder fill:#FFD700
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
## Decision Matrix Example
|
|
364
|
+
|
|
365
|
+
```mermaid
|
|
366
|
+
flowchart TD
|
|
367
|
+
Start([Select deployment strategy]) --> Env{Environment?}
|
|
368
|
+
|
|
369
|
+
Env -->|Development| DevDecision{Automated tests?}
|
|
370
|
+
DevDecision -->|Pass| DevDeploy[Auto-deploy to dev]
|
|
371
|
+
DevDecision -->|Fail| Block[Block deployment]
|
|
372
|
+
|
|
373
|
+
Env -->|Staging| StageDecision{All checks pass?}
|
|
374
|
+
StageDecision -->|Yes| StageDeploy[Deploy to staging]
|
|
375
|
+
StageDecision -->|No| Block
|
|
376
|
+
|
|
377
|
+
Env -->|Production| ProdDecision{Change type?}
|
|
378
|
+
|
|
379
|
+
ProdDecision -->|Hotfix| Urgent{Critical bug?}
|
|
380
|
+
Urgent -->|Yes| FastTrack[Emergency approval + deploy]
|
|
381
|
+
Urgent -->|No| NormalProcess
|
|
382
|
+
|
|
383
|
+
ProdDecision -->|Feature| NormalProcess{Approval status?}
|
|
384
|
+
NormalProcess -->|Approved| Schedule{Deploy window?}
|
|
385
|
+
NormalProcess -->|Pending| Wait[Wait for approval]
|
|
386
|
+
NormalProcess -->|Rejected| Block
|
|
387
|
+
|
|
388
|
+
Schedule -->|Now| ImmediateDeploy[Deploy immediately]
|
|
389
|
+
Schedule -->|Scheduled| QueueDeploy[Queue for deploy window]
|
|
390
|
+
|
|
391
|
+
DevDeploy --> Monitor[Monitor metrics]
|
|
392
|
+
StageDeploy --> Monitor
|
|
393
|
+
FastTrack --> Monitor
|
|
394
|
+
ImmediateDeploy --> Monitor
|
|
395
|
+
QueueDeploy --> Monitor
|
|
396
|
+
|
|
397
|
+
Monitor --> End([Deployment complete])
|
|
398
|
+
Block --> End
|
|
399
|
+
Wait --> End
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
## Best Practices
|
|
403
|
+
|
|
404
|
+
1. **Use meaningful labels** - Node text should be clear and action-oriented
|
|
405
|
+
2. **Consistent node shapes** - Same shapes for same types of actions
|
|
406
|
+
3. **Decision nodes as diamonds** - Standard convention for yes/no decisions
|
|
407
|
+
4. **Flow top-to-bottom or left-to-right** - Natural reading direction
|
|
408
|
+
5. **Start and end nodes** - Use stadium/pill shapes to mark entry/exit
|
|
409
|
+
6. **Group related steps** - Use subgraphs for logical groupings
|
|
410
|
+
7. **Color code** - Use colors to highlight different types of actions
|
|
411
|
+
8. **Minimize crossing lines** - Reorganize for clarity
|
|
412
|
+
9. **Keep it focused** - One process per diagram
|
|
413
|
+
|
|
414
|
+
## Common Patterns
|
|
415
|
+
|
|
416
|
+
### Simple Linear Flow
|
|
417
|
+
```mermaid
|
|
418
|
+
flowchart LR
|
|
419
|
+
A[Step 1] --> B[Step 2] --> C[Step 3] --> D[Step 4]
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
### Branching Decision
|
|
423
|
+
```mermaid
|
|
424
|
+
flowchart TD
|
|
425
|
+
A[Input] --> B{Condition?}
|
|
426
|
+
B -->|True| C[Path 1]
|
|
427
|
+
B -->|False| D[Path 2]
|
|
428
|
+
C --> E[Merge]
|
|
429
|
+
D --> E
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
### Loop Pattern
|
|
433
|
+
```mermaid
|
|
434
|
+
flowchart TD
|
|
435
|
+
A[Initialize] --> B[Process]
|
|
436
|
+
B --> C{Continue?}
|
|
437
|
+
C -->|Yes| B
|
|
438
|
+
C -->|No| D[Exit]
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
### Error Handling
|
|
442
|
+
```mermaid
|
|
443
|
+
flowchart TD
|
|
444
|
+
A[Try operation] --> B{Success?}
|
|
445
|
+
B -->|Yes| C[Continue]
|
|
446
|
+
B -->|No| D[Handle error]
|
|
447
|
+
D --> E{Retry?}
|
|
448
|
+
E -->|Yes| A
|
|
449
|
+
E -->|No| F[Abort]
|
|
450
|
+
```
|