Files
llm-wiki/.agents/plugins/wiki-superpowers/rules/diagram-standards/mermaid.md
T

50 lines
1.5 KiB
Markdown

# Mermaid — Sequence + ER
Root SSOT: [`rules/diagram-standards.md`](../../../../../rules/diagram-standards.md) §12~§13
parent: [`README.md`](README.md)
## §12. Mermaid Sequence — Minimal
- **메시지 ≤ 8개** (초과 시 분할)
- **`autonumber` 활성화**
- **에러 경로 1개** (alt/else)
- **트랜잭션 경계 1개** (Note over, 있을 때만)
- **지연·QPS 어노테이션 금지** (시퀀스의 질문이 *성능* 일 때만)
```mermaid
sequenceDiagram
autonumber
actor User
participant FE
participant API
participant DB
User->>FE: 로그인
FE->>API: POST /login
API->>DB: SELECT user
DB-->>API: row
alt 자격 증명 유효
API-->>FE: 200 + token
else 자격 증명 무효
API-->>FE: 401
end
```
이게 끝. `Note over` 도 비자명한 동작 1개에만.
## §13. Mermaid ER — Minimal
- **엔터티 ≤ 8개** (over-engineering 안 함)
- **PK / FK 표시 필수**
- **컬럼 ≤ 4개 per 엔터티** (모든 컬럼 X)
- **카디널리티 정확** (`||--o{` 1:N, `}o--o{` M:N)
- **관계 라벨 동사**
전체 스키마는 별도 ERD 도구 (DBeaver, dbdiagram.io) 로. project-note 의 ER 은 **핵심 엔터티 + 관계** 만.
## 도구 분리 reminder
- **시스템 아키텍처 (정적 구조)** → draw.io **만** 사용. Mermaid `graph TD / LR` 로 아키텍처 작성 시 자동 `BLOCKED`.
- **시퀀스 (시간축)** → Mermaid `sequenceDiagram`. draw.io 로 시퀀스 작성 시 자동 `BLOCKED`.
- **ER (선택)** → Mermaid `erDiagram` 또는 별도 도구.