muno-claude-plugin 1.4.0 → 1.4.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "muno-claude-plugin",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "description": "Unleash Claude Code's full power - Complete development workflow with expert personas, TDD-based agents, and automated documentation",
5
5
  "main": "bin/cli.js",
6
6
  "bin": {
@@ -11,9 +11,10 @@ AI 기반 개발 워크플로우 스킬 체계입니다.
11
11
 
12
12
  | 스킬 | 설명 | 주요 입력 |
13
13
  |------|------|----------|
14
+ | `/architecture` | System Architecture (SAD) | 시스템 정보 |
14
15
  | `/prd-generator` | PRD 생성 | 요구사항 |
15
16
  | `/epic-story-generator` | Epic & Story 생성 | PRD (선택) |
16
- | `/hld-generator` | High-Level Design | PRD + Epic/Story |
17
+ | `/hld-generator` | Feature HLD | SAD + PRD + Story |
17
18
  | `/lld-generator` | Low-Level Design | HLD |
18
19
  | `/task-generator` | Implementation Task | Story + LLD |
19
20
  | `/tc-generator` | Test Case 생성 | Story AC |
@@ -74,9 +75,14 @@ AI 기반 개발 워크플로우 스킬 체계입니다.
74
75
  ```
75
76
  project/
76
77
  ├── documents/
77
- │ ├── prd/ # PRD 문서
78
- ├── hld/ # HLD 문서
79
- └── lld/ # LLD 문서
78
+ │ ├── architecture/
79
+ │ └── system-architecture.md ← SAD (1개, 지속 업데이트)
80
+ ├── prd/
81
+ │ │ └── feature-prd.md
82
+ │ ├── hld/
83
+ │ │ └── feature-hld.md ← Feature HLD (피처별)
84
+ │ └── lld/
85
+ │ └── feature-lld.md
80
86
 
81
87
  ├── backlogs/ # Epic/Story
82
88
  │ └── feature-name/
@@ -20,12 +20,35 @@ color: cyan
20
20
 
21
21
  현재 프로젝트 상황을 분석하여 **다음 워크플로우를 제안**합니다.
22
22
  - 정적인 워크플로우를 강제하지 않음
23
- - 복잡도와 상황에 따라 유연하게 판단
23
+ - **복잡도 + 변경 규모 + 기존 문서 커버리지**를 종합 판단
24
24
  - 불필요한 단계는 건너뛰기 제안
25
25
 
26
26
  ---
27
27
 
28
- ## 복잡도 레벨 정의
28
+ ## 판단 기준: 3가지 축
29
+
30
+ 워크플로우 결정은 **복잡도**, **변경 규모**, **기존 문서 커버리지** 3가지를 종합 판단합니다.
31
+
32
+ ```
33
+ ┌─────────────────────────────────────────────────────────────────┐
34
+ │ 워크플로우 판단 매트릭스 │
35
+ ├─────────────────────────────────────────────────────────────────┤
36
+ │ │
37
+ │ [축 1] 복잡도 (Complexity) │
38
+ │ └─ 기술적 난이도, 아키텍처 영향 │
39
+ │ │
40
+ │ [축 2] 변경 규모 (Scale) │
41
+ │ └─ 영향 범위, 파일/모듈/팀 수 │
42
+ │ │
43
+ │ [축 3] 기존 문서 커버리지 (Coverage) │
44
+ │ └─ 기존 HLD/LLD가 새 변경을 커버하는지 │
45
+ │ │
46
+ └─────────────────────────────────────────────────────────────────┘
47
+ ```
48
+
49
+ ---
50
+
51
+ ## 축 1: 복잡도 레벨 정의
29
52
 
30
53
  | Level | 설명 | 예시 |
31
54
  |-------|------|------|
@@ -37,6 +60,68 @@ color: cyan
37
60
 
38
61
  ---
39
62
 
63
+ ## 축 2: 변경 규모 (Scale)
64
+
65
+ | 규모 | 기준 | 예시 |
66
+ |------|------|------|
67
+ | **S (Small)** | 파일 1-5개, 단일 모듈 | 버그 수정, 단일 API 변경 |
68
+ | **M (Medium)** | 파일 6-20개, 2-3개 모듈 | 새 기능, 모듈 내 리팩토링 |
69
+ | **L (Large)** | 파일 20개+, 4개+ 모듈 | 크로스커팅 변경, 대규모 리팩토링 |
70
+ | **XL (Extra Large)** | 전체 시스템, 다중 팀 | 아키텍처 전환, 플랫폼 마이그레이션 |
71
+
72
+ ### 규모가 크면 복잡도와 무관하게 문서 필요
73
+
74
+ ```
75
+ 단순하지만 규모가 큰 경우 (예: 전체 API에 rate limiting 추가)
76
+ ├─ 복잡도: L2 (단일 패턴 적용)
77
+ ├─ 규모: L (20개+ 파일, 모든 API)
78
+ └─ 결론: HLD 필요 (일관성 확보, 리뷰 용이)
79
+ ```
80
+
81
+ ---
82
+
83
+ ## 축 3: 기존 문서 커버리지 (Coverage)
84
+
85
+ ### 기존 HLD 커버리지 체크
86
+
87
+ ```
88
+ 기존 HLD가 있을 때, 새 변경이 다음에 해당하면 HLD 업데이트 필요:
89
+ - [ ] 새 컴포넌트/서비스 추가
90
+ - [ ] 기존 컴포넌트 간 연동 방식 변경
91
+ - [ ] 데이터 흐름 변경
92
+ - [ ] 기술 스택 추가/변경
93
+
94
+ 하나라도 해당 → HLD 업데이트 또는 신규 작성
95
+ ```
96
+
97
+ ### 기존 LLD 커버리지 체크
98
+
99
+ ```
100
+ 기존 LLD가 있을 때, 새 변경이 다음에 해당하면 LLD 업데이트 필요:
101
+ - [ ] 새 데이터 서빙 전략
102
+ - [ ] 새 외부 의존성 추가
103
+ - [ ] 장애 대응 전략 변경
104
+ - [ ] 성능 요구사항 변경
105
+
106
+ 하나라도 해당 → LLD 업데이트 또는 신규 작성
107
+ ```
108
+
109
+ ---
110
+
111
+ ## 복합 판단 매트릭스
112
+
113
+ | 복잡도 | 규모 | 기존 문서 커버 | 권장 워크플로우 |
114
+ |--------|------|---------------|----------------|
115
+ | L1-L2 | S | - | 바로 구현 |
116
+ | L1-L2 | M-L | - | Task 분해 필요, HLD 선택적 |
117
+ | L1-L2 | L-XL | - | **HLD 필요** (규모로 인한 조정 필요) |
118
+ | L3 | S-M | 커버됨 | Story → Task |
119
+ | L3 | S-M | 커버 안됨 | Story → LLD 업데이트 → Task |
120
+ | L3 | L-XL | - | **HLD 필요** → LLD → Task |
121
+ | L4-L5 | - | - | PRD → Epic/Story → HLD → LLD → Task |
122
+
123
+ ---
124
+
40
125
  ## 레벨별 권장 워크플로우
41
126
 
42
127
  ### L1~L2: 단순 작업
@@ -152,17 +237,21 @@ color: cyan
152
237
  # 워크플로우 분석
153
238
 
154
239
  ## 현재 상태
155
- | 문서 | 상태 |
156
- |------|------|
157
- | PRD | 있음 / ❌ 없음 |
158
- | Epic/Story | 있음 / ❌ 없음 |
159
- | HLD | 있음 / 없음 / ⏭️ 건너뛰기 |
160
- | LLD | 있음 / 없음 / ⏭️ 건너뛰기 |
161
- | Task | 있음 / ❌ 없음 |
162
- | TC | 있음 / ❌ 없음 |
163
-
164
- ## 복잡도 판단
165
- **Level: L[N]** - [설명]
240
+ | 문서 | 상태 | 커버리지 |
241
+ |------|------|----------|
242
+ | PRD | ✅/❌ | - |
243
+ | Epic/Story | ✅/❌ | - |
244
+ | HLD | ✅/❌/⏭️ | 커버됨/커버 안됨/해당없음 |
245
+ | LLD | ✅/❌/⏭️ | 커버됨/커버 안됨/해당없음 |
246
+ | Task | ✅/❌ | - |
247
+ | TC | ✅/❌ | - |
248
+
249
+ ## 판단 결과
250
+ | | 판단 | 근거 |
251
+ |----|------|------|
252
+ | 복잡도 | L[N] | [이유] |
253
+ | 규모 | S/M/L/XL | 파일 N개, 모듈 N개 |
254
+ | 커버리지 | 커버됨/안됨 | [기존 문서 상태] |
166
255
 
167
256
  ## 다음 스텝 제안
168
257
  1. **[권장]** `/skill-name` - [이유]
@@ -170,6 +259,9 @@ color: cyan
170
259
 
171
260
  ## 건너뛸 수 있는 단계
172
261
  - [단계명]: [건너뛰기 가능 이유]
262
+
263
+ ## 주의사항 (해당 시)
264
+ - [규모가 커서 HLD 필요] 또는 [기존 문서 커버 안됨]
173
265
  ```
174
266
 
175
267
  ---
@@ -226,6 +318,8 @@ color: cyan
226
318
 
227
319
  분석 결과:
228
320
  - 복잡도: L5 (신규 시스템)
321
+ - 규모: XL (새 시스템)
322
+ - 커버리지: 해당 없음 (신규)
229
323
  - PRD: 필수 (이해관계자 합의 필요)
230
324
  - Epic/Story: 필수
231
325
  - HLD: 필수 (새 아키텍처)
@@ -236,6 +330,37 @@ color: cyan
236
330
  2. [이후 순서] Epic/Story → HLD → LLD → Task
237
331
  ```
238
332
 
333
+ ### 예시 5: 단순하지만 규모가 큰 경우
334
+ ```
335
+ 사용자: "모든 API 엔드포인트에 rate limiting 추가"
336
+
337
+ 분석 결과:
338
+ - 복잡도: L2 (동일 패턴 반복 적용)
339
+ - 규모: L (30개+ API, 전체 모듈 영향)
340
+ - 커버리지: 기존 HLD에 rate limiting 미포함
341
+
342
+ 제안:
343
+ 1. [권장] `/hld-generator` - rate limiting 전략 문서화
344
+ - 규모가 커서 일관성 확보 필요
345
+ - 리뷰 및 합의 용이
346
+ 2. [이후] `/task-generator` - 모듈별 Task 분해
347
+ ```
348
+
349
+ ### 예시 6: 기존 HLD 커버 안 되는 경우
350
+ ```
351
+ 사용자: "기존 채팅 시스템에 WebSocket → gRPC 스트리밍으로 변경"
352
+
353
+ 분석 결과:
354
+ - 복잡도: L3 (프로토콜 변경)
355
+ - 규모: M (채팅 모듈 내)
356
+ - 커버리지: 기존 HLD는 WebSocket 기반으로 작성됨 → 커버 안 됨
357
+
358
+ 제안:
359
+ 1. [권장] `/hld-generator` - HLD 업데이트 (gRPC 스트리밍 아키텍처)
360
+ 2. [이후] `/lld-generator` - 상세 설계
361
+ 3. [이후] `/task-generator` - 구현 Task
362
+ ```
363
+
239
364
  ---
240
365
 
241
366
  ## 자동 호출 조건
@@ -0,0 +1,5 @@
1
+ ${{skill:architecture}}
2
+
3
+ ---
4
+
5
+ System Architecture Document 생성/업데이트 스킬이 활성화되었습니다.
@@ -0,0 +1,442 @@
1
+ ---
2
+ name: architecture
3
+ description: |
4
+ 전체 시스템 아키텍처 문서(SAD)를 생성하거나 업데이트합니다.
5
+ SAD는 시스템의 큰 그림을 담는 단일 문서로, 피처 HLD의 기반이 됩니다.
6
+ "아키텍처 문서 만들어줘", "시스템 구조", "전체 아키텍처" 등의 요청에 사용합니다.
7
+ allowed-tools: Read, Glob, Grep, Write, Edit, WebSearch, WebFetch
8
+ ---
9
+
10
+ # System Architecture Generator
11
+
12
+ ## 페르소나
13
+
14
+ @.claude/personas/principal-engineer.md
15
+
16
+ ---
17
+
18
+ ## SAD란?
19
+
20
+ **System Architecture Document (SAD)**는 전체 시스템의 큰 그림을 담는 **단일 문서**입니다.
21
+
22
+ ### SAD vs Feature HLD
23
+
24
+ ```
25
+ ┌─────────────────────────────────────────────────────────────────┐
26
+ │ SAD (System Architecture Document) │
27
+ │ ───────────────────────────────── │
28
+ │ • 전체 시스템 1개 │
29
+ │ • 지속적으로 업데이트 │
30
+ │ • 컴포넌트 구성, 기술 스택, 인프라 │
31
+ │ • "우리 시스템은 이렇게 생겼다" │
32
+ └─────────────────────────────────────────────────────────────────┘
33
+
34
+ │ 참조
35
+
36
+ ┌─────────────────────────────────────────────────────────────────┐
37
+ │ Feature HLD (피처별) │
38
+ │ ──────────────────── │
39
+ │ • 피처/에픽 단위로 작성 (여러 개) │
40
+ │ • SAD 내에서 이 피처가 어떻게 구현되는지 │
41
+ │ • "이 기능은 이렇게 만든다" │
42
+ └─────────────────────────────────────────────────────────────────┘
43
+ ```
44
+
45
+ ### SAD에 포함되는 것
46
+
47
+ | 섹션 | 설명 |
48
+ |------|------|
49
+ | System Overview | 시스템 목적, 핵심 가치 |
50
+ | Architecture Diagram | 전체 컴포넌트 구성도 |
51
+ | Component Catalog | 각 컴포넌트 역할과 책임 |
52
+ | Tech Stack | 기술 스택과 선택 이유 |
53
+ | Data Architecture | 데이터 저장소, 흐름 |
54
+ | Infrastructure | 인프라 구성, 배포 환경 |
55
+ | Cross-Cutting Concerns | 인증, 로깅, 모니터링 등 |
56
+ | Integration Points | 외부 시스템 연동 |
57
+
58
+ ### SAD에 포함하지 않는 것
59
+
60
+ - ❌ 특정 피처의 상세 설계 → Feature HLD
61
+ - ❌ API 스펙, DB 스키마 상세 → LLD
62
+ - ❌ 구현 코드, 설정 파일 → Task/Code
63
+
64
+ ---
65
+
66
+ ## 워크플로우
67
+
68
+ ```mermaid
69
+ flowchart TD
70
+ A[요청] --> B{기존 SAD 있음?}
71
+ B -->|Yes| C[업데이트 모드]
72
+ B -->|No| D[신규 생성 모드]
73
+
74
+ C --> E[변경사항 파악]
75
+ E --> F[영향 받는 섹션 식별]
76
+ F --> G[SAD 업데이트]
77
+
78
+ D --> H[Step 1: 시스템 개요 파악]
79
+ H --> I[Step 2: 컴포넌트 구조 파악]
80
+ I --> J[Step 3: 기술 스택 파악]
81
+ J --> K[Step 4: 인프라 파악]
82
+ K --> L[SAD 작성]
83
+
84
+ G --> M[검토 요청]
85
+ L --> M
86
+ M -->|수정| G
87
+ M -->|수정| L
88
+ M -->|승인| N[저장]
89
+ ```
90
+
91
+ ---
92
+
93
+ ## Step 0: 기존 SAD 확인
94
+
95
+ ```
96
+ documents/architecture/system-architecture.md 파일이 존재하는지 확인합니다.
97
+
98
+ 있으면 → 업데이트 모드
99
+ 없으면 → 신규 생성 모드
100
+ ```
101
+
102
+ ---
103
+
104
+ ## 신규 생성 모드
105
+
106
+ ### Step 1: 시스템 개요 파악
107
+
108
+ 수집해야 할 정보:
109
+ - 시스템의 목적과 핵심 가치
110
+ - 주요 사용자/고객
111
+ - 핵심 비즈니스 도메인
112
+
113
+ 질문 예시:
114
+ ```
115
+ 시스템 아키텍처 문서를 작성하려고 합니다.
116
+
117
+ 1. 이 시스템의 핵심 목적은 무엇인가요?
118
+ 2. 주요 사용자는 누구인가요? (고객, 내부 사용자, 다른 시스템)
119
+ 3. 핵심 비즈니스 도메인은 무엇인가요? (예: 이커머스, 채팅, 결제)
120
+ ```
121
+
122
+ ### Step 2: 컴포넌트 구조 파악
123
+
124
+ 수집해야 할 정보:
125
+ - 주요 서비스/모듈 목록
126
+ - 각 컴포넌트의 역할과 책임
127
+ - 컴포넌트 간 통신 방식
128
+
129
+ 질문 예시:
130
+ ```
131
+ 컴포넌트 구조를 파악하고 싶습니다.
132
+
133
+ 1. 현재 시스템은 어떤 서비스/모듈로 구성되어 있나요?
134
+ 2. 각 컴포넌트의 주요 역할은 무엇인가요?
135
+ 3. 컴포넌트 간 통신은 어떻게 하나요? (REST, gRPC, 메시지 큐 등)
136
+ ```
137
+
138
+ ### Step 3: 기술 스택 파악
139
+
140
+ 수집해야 할 정보:
141
+ - 언어/프레임워크
142
+ - 데이터베이스
143
+ - 메시지 큐/캐시
144
+ - 클라우드/인프라
145
+
146
+ 질문 예시:
147
+ ```
148
+ 기술 스택을 정리하고 싶습니다.
149
+
150
+ 1. 사용 중인 언어와 프레임워크는 무엇인가요?
151
+ 2. 데이터베이스는 무엇을 사용하나요? (RDB, NoSQL, 검색엔진 등)
152
+ 3. 캐시, 메시지 큐 등 미들웨어가 있나요?
153
+ ```
154
+
155
+ ### Step 4: 인프라 파악
156
+
157
+ 수집해야 할 정보:
158
+ - 배포 환경 (클라우드, 온프레미스)
159
+ - 컨테이너/오케스트레이션
160
+ - CI/CD 파이프라인
161
+
162
+ 질문 예시:
163
+ ```
164
+ 인프라 구성을 파악하고 싶습니다.
165
+
166
+ 1. 배포 환경은 어디인가요? (AWS, GCP, 온프레미스 등)
167
+ 2. 컨테이너를 사용하나요? (Docker, Kubernetes)
168
+ 3. CI/CD 파이프라인이 구성되어 있나요?
169
+ ```
170
+
171
+ ---
172
+
173
+ ## 업데이트 모드
174
+
175
+ ### 변경 유형별 처리
176
+
177
+ | 변경 유형 | 영향 섹션 | 처리 방법 |
178
+ |----------|----------|----------|
179
+ | 새 서비스 추가 | Architecture Diagram, Component Catalog | 다이어그램 업데이트, 컴포넌트 추가 |
180
+ | 기술 스택 변경 | Tech Stack | 변경 이력과 이유 기록 |
181
+ | 인프라 변경 | Infrastructure | 구성도 업데이트 |
182
+ | 외부 연동 추가 | Integration Points | 연동 포인트 추가 |
183
+
184
+ ### 업데이트 시 질문 예시
185
+ ```
186
+ 기존 시스템 아키텍처에 변경이 있나요?
187
+
188
+ 1. 어떤 변경이 있었나요? (새 서비스, 기술 스택 변경, 인프라 변경)
189
+ 2. 변경 이유는 무엇인가요?
190
+ 3. 기존 컴포넌트에 영향이 있나요?
191
+ ```
192
+
193
+ ---
194
+
195
+ ## SAD 문서 구조
196
+
197
+ ```markdown
198
+ # System Architecture Document
199
+
200
+ ## 문서 정보
201
+
202
+ | 항목 | 내용 |
203
+ |------|------|
204
+ | 시스템명 | [시스템 이름] |
205
+ | 버전 | v1.0 |
206
+ | 최종 수정일 | YYYY-MM-DD |
207
+ | 작성자 | @작성자 |
208
+
209
+ ---
210
+
211
+ ## 1. System Overview
212
+
213
+ ### 1.1 목적
214
+ [시스템의 핵심 목적과 해결하는 문제]
215
+
216
+ ### 1.2 핵심 가치
217
+ [시스템이 제공하는 핵심 가치]
218
+
219
+ ### 1.3 주요 사용자
220
+ | 사용자 유형 | 설명 |
221
+ |------------|------|
222
+ | [유형1] | [설명] |
223
+
224
+ ---
225
+
226
+ ## 2. Architecture Diagram
227
+
228
+ ### 2.1 시스템 전체 구성도
229
+
230
+ ```mermaid
231
+ graph TB
232
+ subgraph Client
233
+ Web[Web App]
234
+ Mobile[Mobile App]
235
+ end
236
+
237
+ subgraph Backend
238
+ API[API Gateway]
239
+ Service1[Service A]
240
+ Service2[Service B]
241
+ end
242
+
243
+ subgraph Data
244
+ DB[(Database)]
245
+ Cache[(Cache)]
246
+ end
247
+
248
+ Client --> API
249
+ API --> Service1
250
+ API --> Service2
251
+ Service1 --> DB
252
+ Service2 --> Cache
253
+ ```
254
+
255
+ ### 2.2 컴포넌트 간 통신
256
+
257
+ | From | To | Protocol | 설명 |
258
+ |------|-----|----------|------|
259
+ | [컴포넌트1] | [컴포넌트2] | REST/gRPC | [설명] |
260
+
261
+ ---
262
+
263
+ ## 3. Component Catalog
264
+
265
+ ### 3.1 [컴포넌트명]
266
+
267
+ | 항목 | 내용 |
268
+ |------|------|
269
+ | 역할 | [역할 설명] |
270
+ | 책임 | [책임 목록] |
271
+ | 소유 팀 | [팀명] |
272
+ | 저장소 | [repo URL] |
273
+
274
+ ---
275
+
276
+ ## 4. Tech Stack
277
+
278
+ ### 4.1 언어 & 프레임워크
279
+
280
+ | 레이어 | 기술 | 버전 | 선택 이유 |
281
+ |--------|------|------|----------|
282
+ | Backend | [기술] | [버전] | [이유] |
283
+ | Frontend | [기술] | [버전] | [이유] |
284
+
285
+ ### 4.2 데이터 저장소
286
+
287
+ | 용도 | 기술 | 선택 이유 |
288
+ |------|------|----------|
289
+ | Primary DB | [기술] | [이유] |
290
+ | Cache | [기술] | [이유] |
291
+
292
+ ### 4.3 미들웨어
293
+
294
+ | 용도 | 기술 | 선택 이유 |
295
+ |------|------|----------|
296
+ | Message Queue | [기술] | [이유] |
297
+
298
+ ---
299
+
300
+ ## 5. Data Architecture
301
+
302
+ ### 5.1 데이터 흐름
303
+
304
+ ```mermaid
305
+ flowchart LR
306
+ Source[Data Source] --> Process[Processing]
307
+ Process --> Store[Storage]
308
+ Store --> Serve[Serving]
309
+ ```
310
+
311
+ ### 5.2 데이터 저장소 매핑
312
+
313
+ | 도메인 | 저장소 | 데이터 특성 |
314
+ |--------|--------|------------|
315
+ | [도메인1] | [저장소] | [특성] |
316
+
317
+ ---
318
+
319
+ ## 6. Infrastructure
320
+
321
+ ### 6.1 배포 환경
322
+
323
+ | 환경 | 용도 | 구성 |
324
+ |------|------|------|
325
+ | Production | 실서비스 | [구성] |
326
+ | Staging | 테스트 | [구성] |
327
+
328
+ ### 6.2 인프라 구성도
329
+
330
+ ```mermaid
331
+ graph TB
332
+ subgraph Cloud[AWS/GCP]
333
+ LB[Load Balancer]
334
+ subgraph K8s[Kubernetes]
335
+ Pod1[Service Pods]
336
+ end
337
+ DB[(RDS)]
338
+ end
339
+
340
+ LB --> K8s
341
+ K8s --> DB
342
+ ```
343
+
344
+ ---
345
+
346
+ ## 7. Cross-Cutting Concerns
347
+
348
+ ### 7.1 인증/인가
349
+
350
+ | 항목 | 방식 |
351
+ |------|------|
352
+ | 인증 | [JWT/OAuth/etc] |
353
+ | 인가 | [RBAC/ABAC/etc] |
354
+
355
+ ### 7.2 로깅 & 모니터링
356
+
357
+ | 항목 | 도구 |
358
+ |------|------|
359
+ | 로깅 | [도구] |
360
+ | 메트릭 | [도구] |
361
+ | 트레이싱 | [도구] |
362
+
363
+ ### 7.3 에러 핸들링
364
+
365
+ [공통 에러 처리 전략]
366
+
367
+ ---
368
+
369
+ ## 8. Integration Points
370
+
371
+ ### 8.1 외부 시스템 연동
372
+
373
+ | 시스템 | 용도 | 프로토콜 | 담당 |
374
+ |--------|------|----------|------|
375
+ | [외부시스템] | [용도] | [프로토콜] | [담당팀] |
376
+
377
+ ---
378
+
379
+ ## 변경 이력
380
+
381
+ | 버전 | 날짜 | 변경 내용 | 작성자 |
382
+ |------|------|----------|--------|
383
+ | v1.0 | YYYY-MM-DD | 최초 작성 | @작성자 |
384
+ ```
385
+
386
+ ---
387
+
388
+ ## 산출물
389
+
390
+ **저장 위치**: `documents/architecture/system-architecture.md`
391
+
392
+ ---
393
+
394
+ ## 작성 원칙
395
+
396
+ ### 포함해야 하는 것
397
+ - 전체 시스템 구성도
398
+ - 모든 주요 컴포넌트와 역할
399
+ - 기술 스택과 선택 이유
400
+ - 데이터 흐름
401
+ - 인프라 구성
402
+ - Cross-cutting concerns
403
+
404
+ ### 포함하지 않는 것
405
+ - 특정 피처의 상세 설계 (→ Feature HLD)
406
+ - API 스펙 상세 (→ LLD)
407
+ - 구현 코드 (→ Task)
408
+
409
+ ### 작성 규칙
410
+ 1. **현재 상태 반영**: 계획이 아닌 현재 구현된 상태
411
+ 2. **변경 이력 기록**: 주요 변경은 변경 이력에 기록
412
+ 3. **다이어그램 필수**: Mermaid로 구조 시각화
413
+ 4. **선택 이유 기록**: 기술 선택의 이유 명시
414
+
415
+ ---
416
+
417
+ ## 금지 사항
418
+
419
+ 1. **상세 설계 포함 금지**
420
+ ```
421
+ ❌ API 엔드포인트 상세, DB 스키마 상세
422
+ ✅ 전체 구조와 컴포넌트 역할만
423
+ ```
424
+
425
+ 2. **미래 계획만 기록 금지**
426
+ ```
427
+ ❌ "향후 MSA로 전환 예정"만 기록
428
+ ✅ 현재 상태 기록 + 계획은 별도 섹션
429
+ ```
430
+
431
+ 3. **변경 이력 누락 금지**
432
+ ```
433
+ ❌ 변경 시 이전 내용 삭제만
434
+ ✅ 변경 이력 섹션에 기록
435
+ ```
436
+
437
+ ---
438
+
439
+ ## 관련 스킬
440
+
441
+ - `/hld-generator`: SAD 기반 피처별 HLD 작성
442
+ - `/lld-generator`: HLD 기반 상세 설계
@@ -18,17 +18,35 @@ allowed-tools: Read, Glob, Grep, Write, Edit, WebSearch, WebFetch
18
18
 
19
19
  ## HLD란?
20
20
 
21
- **High-Level Design (HLD)**는 구현 전에 전체 시스템의 큰 그림을 설계하는 문서입니다.
21
+ **High-Level Design (HLD)**는 **피처/에픽 단위**로 작성하는 설계 문서입니다.
22
+ 전체 시스템 아키텍처(SAD)를 기반으로, 해당 피처가 어떻게 구현될지 설계합니다.
23
+
24
+ ### SAD vs Feature HLD
25
+
26
+ ```
27
+ ┌─────────────────────────────────────────────────────────────────┐
28
+ │ SAD (System Architecture Document) │
29
+ │ • 전체 시스템 1개, /architecture로 생성 │
30
+ │ • "우리 시스템은 이렇게 생겼다" │
31
+ └─────────────────────────────────────────────────────────────────┘
32
+ │ 참조
33
+
34
+ ┌─────────────────────────────────────────────────────────────────┐
35
+ │ Feature HLD (이 스킬로 생성) │
36
+ │ • 피처/에픽 단위로 여러 개 │
37
+ │ • "이 기능은 SAD 내에서 이렇게 구현한다" │
38
+ └─────────────────────────────────────────────────────────────────┘
39
+ ```
22
40
 
23
41
  ### 언제 작성하는가
24
42
 
25
43
  ```
26
- 요구사항 분석(PRD) → HLD → LLD(Low-Level Design) → 구현
44
+ SAD(시스템 아키텍처) → PRD → Epic/Story → Feature HLD → LLD → 구현
27
45
  ```
28
46
 
29
- - 요구사항이 어느 정도 정리된 후
30
- - 실제 코딩을 시작하기
31
- - 새로운 기능, 시스템, 또는 큰 변경이 있을 때
47
+ - 새로운 피처/에픽 구현
48
+ - 기존 아키텍처에 영향을 주는 변경 시
49
+ - 복잡도 L3 이상 또는 규모가 변경
32
50
 
33
51
  ### 목적
34
52
 
@@ -87,13 +105,28 @@ flowchart TD
87
105
 
88
106
  ---
89
107
 
90
- ## Step 0: PRD 확인
108
+ ## Step 0: SAD 및 PRD 확인
109
+
110
+ Feature HLD 작성 전 SAD와 PRD 존재 여부를 확인합니다.
91
111
 
92
- HLD 작성 전 반드시 PRD 존재 여부를 확인합니다.
112
+ ### SAD 확인
113
+ ```
114
+ documents/architecture/system-architecture.md 파일 확인
115
+
116
+ 있으면 → SAD 참조하여 HLD 작성
117
+ 없으면 → SAD 없이 진행 가능 (권장: /architecture로 먼저 작성)
118
+ ```
119
+
120
+ ### SAD가 있는 경우
121
+ SAD에서 다음 정보를 추출합니다:
122
+ - 현재 컴포넌트 구성
123
+ - 기술 스택
124
+ - 데이터 흐름
125
+ - 이 피처가 영향을 주는 컴포넌트
93
126
 
94
127
  ### PRD가 없는 경우
95
128
  ```
96
- HLD 작성을 위해 PRD(제품 요구사항 정의서)가 필요합니다.
129
+ Feature HLD 작성을 위해 PRD(제품 요구사항 정의서)가 필요합니다.
97
130
  PRD가 준비되어 있으신가요? 없다면 먼저 PRD를 작성해주세요.
98
131
  ```
99
132