Diagrams should clarify, not complicate. Start simple, add detail only when needed. A 5-box flowchart beats a 50-node sprawl.
| Type | Use For | Format |
|---|---|---|
| ------ | --------- | -------- |
| Flowchart | Processes, decisions, workflows | Mermaid flowchart |
| Sequence | API calls, interactions, protocols | Mermaid sequenceDiagram |
| Architecture | System components, infrastructure | Mermaid flowchart or C4 |
| ER/Data model | Database schemas, relationships | Mermaid erDiagram |
| Class | Object structure, inheritance | Mermaid classDiagram |
| State | Lifecycles, status transitions | Mermaid stateDiagram-v2 |
| Timeline | Project phases, history | Mermaid timeline |
| Mindmap | Brainstorming, concept mapping | Mermaid mindmap |
| Method | When |
|---|---|
| -------- | ------ |
| Mermaid code block | User can render (docs, GitHub, Notion) |
| Render to PNG/SVG | User needs image file |
| ASCII inline | Quick sketch in chat |
| HTML + Mermaid.js | Interactive viewing |
# Using mmdc (mermaid-cli)
npx -y @mermaid-js/mermaid-cli mmdc -i diagram.mmd -o diagram.png -b transparent
# Or via browser tool
# Write HTML with Mermaid, screenshot the rendered diagram
Flowchart:
flowchart LR
A[Start] --> B{Decision}
B -->|Yes| C[Action]
B -->|No| D[End]
Sequence:
sequenceDiagram
User->>API: Request
API->>DB: Query
DB-->>API: Result
API-->>User: Response
ER Diagram:
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ ITEM : contains
| Request | Interpret As |
|---|---|
| --------- | -------------- |
| "Draw my API flow" | Sequence diagram: client → API → services |
| "Show the architecture" | Flowchart with subgraphs for components |
| "Database schema" | ER diagram with relationships |
| "How the auth works" | Sequence or flowchart depending on complexity |
| "User journey" | Flowchart with decision points |
共 1 个版本