sdd-tool 0.7.2 → 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/README.md CHANGED
@@ -1,411 +1,490 @@
1
- # SDD Tool
2
-
3
- **Spec-Driven Development CLI** - AI와 함께하는 명세 기반 개발 도구
4
-
5
- [![npm version](https://img.shields.io/npm/v/sdd-tool)](https://www.npmjs.com/package/sdd-tool)
6
- [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org/)
7
- [![TypeScript](https://img.shields.io/badge/typescript-5.x-blue)](https://www.typescriptlang.org/)
8
- [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
9
-
10
- ## 개요
11
-
12
- SDD Tool은 **Claude Code**와 함께 사용하도록 설계된 명세 기반 개발(Spec-Driven Development) CLI입니다. **슬래시 커맨드**를 통해 AI와 대화하며 명세를 작성하고, 코드를 구현합니다.
13
-
14
- ### 핵심 개념
15
-
16
- - **명세 우선**: 코드 작성 전 명세 작성
17
- - **AI 협업**: Claude Code 슬래시 커맨드로 워크플로우 자동화
18
- - **RFC 2119 키워드**: SHALL, MUST, SHOULD, MAY로 요구사항 명확화
19
- - **GIVEN-WHEN-THEN**: 시나리오 기반 요구사항 정의
20
- - **헌법(Constitution)**: 프로젝트 핵심 원칙 정의
21
-
22
- ---
23
-
24
- ## 설치
25
-
26
- ```bash
27
- npm install -g sdd-tool
28
- ```
29
-
30
- ---
31
-
32
- ## 빠른 시작
33
-
34
- ```bash
35
- # 1. 프로젝트 초기화 (슬래시 커맨드 26개 자동 생성)
36
- sdd init
37
-
38
- # 2. Claude Code 실행
39
- claude
40
-
41
- # 3. 슬래시 커맨드로 워크플로우 시작
42
- /sdd.start
43
- ```
44
-
45
- ---
46
-
47
- ## 전체 워크플로우
48
-
49
- ```
50
- ┌─────────────────────────────────────────────────────────────┐
51
- │ SDD 슬래시 커맨드 워크플로우 │
52
- ├─────────────────────────────────────────────────────────────┤
53
- │ │
54
- 1. /sdd.start → 워크플로우 시작
55
- │ │ │
56
-
57
- 2. /sdd.constitution 프로젝트 원칙 정의
58
- │ │ │
59
- │ ▼ │
60
- 3. /sdd.new 기능 명세 작성 (spec.md)
61
- │ │ │
62
- │ ▼ │
63
- 4. /sdd.plan 구현 계획 수립 (plan.md) │
64
- │ │ │
65
- │ ▼ │
66
- 5. /sdd.tasks 작업 분해 (tasks.md)
67
- │ │ │
68
- │ ▼ │
69
- 6. /sdd.prepare 서브에이전트/스킬 점검
70
- │ │ │
71
- │ ▼ │
72
- 7. /sdd.implement 순차적 구현
73
- │ │ │
74
- │ ▼ │
75
- 8. /sdd.validate 명세 검증
76
-
77
- └─────────────────────────────────────────────────────────────┘
78
- ```
79
-
80
- ---
81
-
82
- ## 슬래시 커맨드 (26개)
83
-
84
- `sdd init` 실행 시 `.claude/commands/`에 자동 생성됩니다.
85
-
86
- ### 핵심 워크플로우
87
-
88
- | 커맨드 | 설명 | 사용 예시 |
89
- |--------|------|----------|
90
- | `/sdd.start` | 통합 진입점 | `/sdd.start` |
91
- | `/sdd.constitution` | 프로젝트 원칙 관리 | `/sdd.constitution React 기반 할일 앱` |
92
- | `/sdd.new` | 새 기능 명세 작성 | `/sdd.new 사용자 인증 기능` |
93
- | `/sdd.plan` | 구현 계획 작성 | `/sdd.plan` |
94
- | `/sdd.tasks` | 작업 분해 | `/sdd.tasks` |
95
- | `/sdd.prepare` | 서브에이전트/스킬 점검 | `/sdd.prepare` |
96
- | `/sdd.implement` | 순차적 구현 | `/sdd.implement` |
97
- | `/sdd.validate` | 스펙 검증 | `/sdd.validate` |
98
-
99
- ### 변경 관리
100
-
101
- | 커맨드 | 설명 |
102
- |--------|------|
103
- | `/sdd.change` | 기존 스펙 변경 제안 |
104
- | `/sdd.impact` | 변경 영향도 분석 |
105
- | `/sdd.transition` | new ↔ change 워크플로우 전환 |
106
-
107
- ### 분석 및 품질
108
-
109
- | 커맨드 | 설명 |
110
- |--------|------|
111
- | `/sdd.analyze` | 요청 분석 및 규모 판단 |
112
- | `/sdd.quality` | 스펙 품질 점수 산출 |
113
- | `/sdd.report` | 프로젝트 리포트 생성 |
114
- | `/sdd.search` | 스펙 검색 |
115
- | `/sdd.status` | 프로젝트 상태 확인 |
116
- | `/sdd.list` | 항목 목록 조회 |
117
-
118
- ### 문서 생성
119
-
120
- | 커맨드 | 설명 |
121
- |--------|------|
122
- | `/sdd.research` | 기술 리서치 문서 |
123
- | `/sdd.data-model` | 데이터 모델 문서 |
124
- | `/sdd.guide` | 워크플로우 가이드 |
125
-
126
- ### 운영
127
-
128
- | 커맨드 | 설명 |
129
- |--------|------|
130
- | `/sdd.chat` | 대화형 SDD 어시스턴트 |
131
- | `/sdd.watch` | 파일 감시 모드 |
132
- | `/sdd.migrate` | 외부 도구에서 마이그레이션 |
133
- | `/sdd.cicd` | CI/CD 설정 |
134
- | `/sdd.prompt` | 프롬프트 출력 |
135
-
136
- ---
137
-
138
- ## 워크플로우 상세
139
-
140
- ### Step 1: /sdd.start
141
-
142
- 프로젝트 상태를 분석하고 다음 작업을 안내합니다:
143
-
144
- ```
145
- /sdd.start
146
- ```
147
-
148
- - 신규 프로젝트: Constitution 작성 권장
149
- - 기존 프로젝트: 워크플로우 선택 메뉴 제공
150
-
151
- ### Step 2: /sdd.constitution
152
-
153
- 프로젝트의 핵심 원칙을 정의합니다:
154
-
155
- ```
156
- /sdd.constitution React 기반 할일 관리 앱
157
- ```
158
-
159
- AI가 `.sdd/constitution.md`를 분석하고, 프로젝트 원칙 작성을 도와줍니다:
160
- - 핵심 원칙 (Core Principles)
161
- - 기술 원칙 (Technical Principles)
162
- - 금지 사항 (Forbidden)
163
-
164
- ### Step 3: /sdd.new
165
-
166
- 기능 명세를 AI와 함께 작성합니다:
167
-
168
- ```
169
- /sdd.new 사용자 인증 기능
170
- ```
171
-
172
- AI가 대화를 통해 다음을 생성합니다:
173
- - `spec.md` - 기능 명세 (RFC 2119 + GIVEN-WHEN-THEN)
174
-
175
- ### Step 4: /sdd.plan
176
-
177
- 구현 계획을 수립합니다:
178
-
179
- ```
180
- /sdd.plan
181
- ```
182
-
183
- - 기술 결정사항과 근거
184
- - 구현 단계(Phase) 정의
185
- - 리스크 분석 및 완화 전략
186
-
187
- ### Step 5: /sdd.tasks
188
-
189
- 작업을 실행 가능한 단위로 분해합니다:
190
-
191
- ```
192
- /sdd.tasks
193
- ```
194
-
195
- - 작업은 2-4시간 내 완료 가능한 크기
196
- - 작업 간 의존성 표시
197
- - 우선순위: HIGH(🔴), MEDIUM(🟡), LOW(🟢)
198
-
199
- ### Step 6: /sdd.prepare
200
-
201
- 구현에 필요한 Claude Code 도구를 점검합니다:
202
-
203
- ```
204
- /sdd.prepare
205
- ```
206
-
207
- **기능:**
208
- - tasks.md 분석하여 필요한 도구 자동 감지
209
- - 서브에이전트 (`.claude/agents/`) 존재 여부 확인
210
- - 스킬 (`.claude/skills/`) 존재 여부 확인
211
- - 누락된 도구 자동 생성
212
-
213
- **감지 대상:**
214
-
215
- | 키워드 | 서브에이전트 | 스킬 |
216
- |--------|-------------|------|
217
- | 테스트, test | test-runner | test |
218
- | api, rest | api-scaffold | gen-api |
219
- | component | component-gen | gen-component |
220
- | database | - | db-migrate |
221
- | 문서, doc | - | gen-doc |
222
- | review | code-reviewer | review |
223
-
224
- **CLI에서도 사용 가능:**
225
-
226
- ```bash
227
- sdd prepare user-auth # 대화형
228
- sdd prepare user-auth --dry-run # 미리보기
229
- sdd prepare user-auth --auto-approve # 자동 생성
230
- ```
231
-
232
- ### Step 7: /sdd.implement
233
-
234
- 작업 목록을 기반으로 순차적 구현:
235
-
236
- ```
237
- /sdd.implement
238
- ```
239
-
240
- AI가 tasks.md를 읽고, TDD 방식으로 구현을 안내합니다:
241
- 1. 작업 상태를 "진행 중"으로 변경
242
- 2. 테스트 작성
243
- 3. 코드 구현
244
- 4. 작업 상태를 "완료"로 변경
245
-
246
- ### Step 8: /sdd.validate
247
-
248
- 명세 검증:
249
-
250
- ```
251
- /sdd.validate
252
- ```
253
-
254
- - RFC 2119 키워드 사용 여부
255
- - GIVEN-WHEN-THEN 형식 준수
256
- - 메타데이터 필수 필드 확인
257
-
258
- ---
259
-
260
- ## 대화형 모드: /sdd.chat
261
-
262
- 자연어로 SDD 작업을 수행할 수 있습니다:
263
-
264
- ```
265
- /sdd.chat
266
- ```
267
-
268
- 예시 대화:
269
- ```
270
- You: 사용자 인증 기능을 만들고 싶어
271
- AI: 사용자 인증 기능의 명세를 작성해 드릴게요. 먼저 몇 가지 질문이 있습니다...
272
- 1. 어떤 인증 방식을 사용하시나요? (JWT, 세션, OAuth)
273
- 2. 소셜 로그인이 필요한가요?
274
- ...
275
- ```
276
-
277
- ---
278
-
279
- ## 스펙 파일 형식
280
-
281
- ### spec.md 예시
282
-
283
- ```markdown
284
- ---
285
- id: user-auth
286
- title: "사용자 인증"
287
- status: draft
288
- created: 2025-12-24
289
- constitution_version: 1.0.0
290
- ---
291
-
292
- # 사용자 인증
293
-
294
- > JWT 기반 사용자 인증 시스템
295
-
296
- ## 요구사항
297
-
298
- ### REQ-01: 로그인
299
-
300
- - 시스템은 이메일/비밀번호 로그인을 지원해야 한다(SHALL)
301
- - 로그인 실패 시 구체적인 에러 메시지를 반환해야 한다(SHOULD)
302
-
303
- ## 시나리오
304
-
305
- ### Scenario 1: 성공적인 로그인
306
-
307
- - **GIVEN** 유효한 사용자 계정이 있을
308
- - **WHEN** 올바른 이메일과 비밀번호로 로그인하면
309
- - **THEN** JWT 토큰이 반환된다
310
- - **AND** 토큰 만료 시간이 설정된다
311
- ```
312
-
313
- ### RFC 2119 키워드
314
-
315
- | 키워드 | 의미 |
316
- |--------|------|
317
- | **SHALL** / **MUST** | 절대 필수 |
318
- | **SHOULD** | 권장 (예외 허용) |
319
- | **MAY** | 선택적 |
320
- | **SHALL NOT** | 절대 금지 |
321
-
322
- ---
323
-
324
- ## CLI 명령어
325
-
326
- 슬래시 커맨드 외에 터미널에서 직접 사용할 수 있는 명령어들입니다.
327
-
328
- ### 기본 명령어
329
-
330
- ```bash
331
- sdd init # 프로젝트 초기화
332
- sdd validate # 스펙 검증
333
- sdd status # 상태 확인
334
- sdd list # 목록 조회
335
- ```
336
-
337
- ### 기능 개발
338
-
339
- ```bash
340
- sdd new <name> # 기능 생성
341
- sdd new <name> --all # spec + plan + tasks 모두 생성
342
- sdd prepare <name> # 서브에이전트/스킬 점검
343
- ```
344
-
345
- ### 변경 관리
346
-
347
- ```bash
348
- sdd change # 변경 제안 생성
349
- sdd change apply <id> # 변경 적용
350
- sdd impact <feature> # 영향도 분석
351
- ```
352
-
353
- ### 품질 및 분석
354
-
355
- ```bash
356
- sdd quality # 품질 분석
357
- sdd report # 리포트 생성
358
- sdd search <query> # 스펙 검색
359
- ```
360
-
361
- ---
362
-
363
- ## Claude Code 도구 구조
364
-
365
- ```
366
- your-project/
367
- ├── .sdd/
368
- │ ├── constitution.md # 프로젝트 헌법
369
- │ ├── AGENTS.md # AI 워크플로우 가이드
370
- │ ├── specs/ # 기능 명세
371
- │ │ └── feature-name/
372
- │ │ ├── spec.md
373
- │ │ ├── plan.md
374
- │ │ ├── tasks.md
375
- │ │ └── prepare.md # 도구 점검 결과
376
- │ ├── changes/ # 변경 제안
377
- │ └── archive/ # 완료된 변경
378
-
379
- └── .claude/
380
- ├── commands/ # 슬래시 커맨드 (26개)
381
- │ ├── sdd.start.md
382
- │ ├── sdd.new.md
383
- │ ├── sdd.prepare.md
384
- │ └── ...
385
- ├── agents/ # 서브에이전트
386
- │ ├── test-runner.md
387
- │ └── api-scaffold.md
388
- └── skills/ # 스킬
389
- ├── test/
390
- │ └── SKILL.md
391
- └── gen-api/
392
- └── SKILL.md
393
- ```
394
-
395
- ---
396
-
397
- ## 개발
398
-
399
- ```bash
400
- git clone https://github.com/JakeB-5/sdd-tool.git
401
- cd sdd-tool
402
- pnpm install
403
- pnpm run build
404
- pnpm test
405
- ```
406
-
407
- ---
408
-
409
- ## 라이선스
410
-
411
- MIT License
1
+ # SDD Tool
2
+
3
+ **Spec-Driven Development CLI** - AI와 함께하는 명세 기반 개발 도구
4
+
5
+ [![npm version](https://img.shields.io/npm/v/sdd-tool)](https://www.npmjs.com/package/sdd-tool)
6
+ [![CI](https://github.com/JakeB-5/sdd-tool/actions/workflows/ci.yml/badge.svg)](https://github.com/JakeB-5/sdd-tool/actions/workflows/ci.yml)
7
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org/)
8
+ [![TypeScript](https://img.shields.io/badge/typescript-5.x-blue)](https://www.typescriptlang.org/)
9
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
10
+
11
+ 📚 **[문서 사이트](https://jakeb-5.github.io/sdd-tool/)** | 🚀 **[시작하기](https://jakeb-5.github.io/sdd-tool/guide/getting-started)** | 📋 **[CLI 레퍼런스](https://jakeb-5.github.io/sdd-tool/cli/)**
12
+
13
+ ## 개요
14
+
15
+ SDD Tool은 **Claude Code**와 함께 사용하도록 설계된 명세 기반 개발(Spec-Driven Development) CLI입니다. **슬래시 커맨드**를 통해 AI와 대화하며 명세를 작성하고, 코드를 구현합니다.
16
+
17
+ ### 핵심 개념
18
+
19
+ - **명세 우선**: 코드 작성 전 명세 작성
20
+ - **AI 협업**: Claude Code 슬래시 커맨드로 워크플로우 자동화
21
+ - **RFC 2119 키워드**: SHALL, MUST, SHOULD, MAY로 요구사항 명확화
22
+ - **GIVEN-WHEN-THEN**: 시나리오 기반 요구사항 정의
23
+ - **헌법(Constitution)**: 프로젝트 핵심 원칙 정의
24
+
25
+ ---
26
+
27
+ ## 설치
28
+
29
+ ```bash
30
+ npm install -g sdd-tool
31
+ ```
32
+
33
+ ---
34
+
35
+ ## 빠른 시작
36
+
37
+ ```bash
38
+ # 1. 프로젝트 초기화 (슬래시 커맨드 29개 자동 생성)
39
+ sdd init
40
+
41
+ # 2. Claude Code 실행
42
+ claude
43
+
44
+ # 3. 슬래시 커맨드로 워크플로우 시작
45
+ /sdd.start
46
+ ```
47
+
48
+ ---
49
+
50
+ ## 전체 워크플로우
51
+
52
+ ```
53
+ ┌─────────────────────────────────────────────────────────────┐
54
+ SDD 슬래시 커맨드 워크플로우
55
+ ├─────────────────────────────────────────────────────────────┤
56
+
57
+ 1. /sdd.start 워크플로우 시작
58
+ │ │ │
59
+ │ ▼ │
60
+ 2. /sdd.constitution 프로젝트 원칙 정의
61
+ │ │ │
62
+ │ ▼ │
63
+ 3. /sdd.new 기능 명세 작성 (spec.md) │
64
+ │ │ │
65
+ │ ▼ │
66
+ 4. /sdd.plan 구현 계획 수립 (plan.md)
67
+ │ │ │
68
+ │ ▼ │
69
+ 5. /sdd.tasks 작업 분해 (tasks.md)
70
+ │ │ │
71
+ │ ▼ │
72
+ 6. /sdd.prepare 서브에이전트/스킬 점검
73
+ │ │ │
74
+ │ ▼ │
75
+ 7. /sdd.implement 순차적 구현
76
+
77
+ │ ▼ │
78
+ │ 8. /sdd.validate → 명세 검증 │
79
+ │ │
80
+ └─────────────────────────────────────────────────────────────┘
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 슬래시 커맨드 (29개)
86
+
87
+ `sdd init` 실행 시 `.claude/commands/`에 자동 생성됩니다.
88
+
89
+ ### 핵심 워크플로우
90
+
91
+ | 커맨드 | 설명 | 사용 예시 |
92
+ |--------|------|----------|
93
+ | `/sdd.start` | 통합 진입점 | `/sdd.start` |
94
+ | `/sdd.constitution` | 프로젝트 원칙 관리 | `/sdd.constitution React 기반 할일 앱` |
95
+ | `/sdd.new` | 기능 명세 작성 | `/sdd.new 사용자 인증 기능` |
96
+ | `/sdd.plan` | 구현 계획 작성 | `/sdd.plan` |
97
+ | `/sdd.tasks` | 작업 분해 | `/sdd.tasks` |
98
+ | `/sdd.prepare` | 서브에이전트/스킬 점검 | `/sdd.prepare` |
99
+ | `/sdd.implement` | 순차적 구현 | `/sdd.implement` |
100
+ | `/sdd.validate` | 스펙 검증 | `/sdd.validate` |
101
+
102
+ ### 변경 관리
103
+
104
+ | 커맨드 | 설명 |
105
+ |--------|------|
106
+ | `/sdd.change` | 기존 스펙 변경 제안 |
107
+ | `/sdd.impact` | 변경 영향도 분석 |
108
+ | `/sdd.transition` | new ↔ change 워크플로우 전환 |
109
+
110
+ ### 분석 및 품질
111
+
112
+ | 커맨드 | 설명 |
113
+ |--------|------|
114
+ | `/sdd.analyze` | 요청 분석 및 규모 판단 |
115
+ | `/sdd.quality` | 스펙 품질 점수 산출 |
116
+ | `/sdd.report` | 프로젝트 리포트 생성 |
117
+ | `/sdd.search` | 스펙 검색 |
118
+ | `/sdd.status` | 프로젝트 상태 확인 |
119
+ | `/sdd.list` | 항목 목록 조회 |
120
+ | `/sdd.sync` | 스펙-코드 동기화 검증 |
121
+ | `/sdd.diff` | 스펙 변경사항 시각화 |
122
+ | `/sdd.export` | 스펙 내보내기 (HTML, JSON) |
123
+
124
+ ### 문서 생성
125
+
126
+ | 커맨드 | 설명 |
127
+ |--------|------|
128
+ | `/sdd.research` | 기술 리서치 문서 |
129
+ | `/sdd.data-model` | 데이터 모델 문서 |
130
+ | `/sdd.guide` | 워크플로우 가이드 |
131
+
132
+ ### 운영
133
+
134
+ | 커맨드 | 설명 |
135
+ |--------|------|
136
+ | `/sdd.chat` | 대화형 SDD 어시스턴트 |
137
+ | `/sdd.watch` | 파일 감시 모드 |
138
+ | `/sdd.migrate` | 외부 도구에서 마이그레이션 |
139
+ | `/sdd.cicd` | CI/CD 설정 |
140
+ | `/sdd.prompt` | 프롬프트 출력 |
141
+
142
+ ---
143
+
144
+ ## 워크플로우 상세
145
+
146
+ ### Step 1: /sdd.start
147
+
148
+ 프로젝트 상태를 분석하고 다음 작업을 안내합니다:
149
+
150
+ ```
151
+ /sdd.start
152
+ ```
153
+
154
+ - 신규 프로젝트: Constitution 작성 권장
155
+ - 기존 프로젝트: 워크플로우 선택 메뉴 제공
156
+
157
+ ### Step 2: /sdd.constitution
158
+
159
+ 프로젝트의 핵심 원칙을 정의합니다:
160
+
161
+ ```
162
+ /sdd.constitution React 기반 할일 관리 앱
163
+ ```
164
+
165
+ AI가 `.sdd/constitution.md`를 분석하고, 프로젝트 원칙 작성을 도와줍니다:
166
+ - 핵심 원칙 (Core Principles)
167
+ - 기술 원칙 (Technical Principles)
168
+ - 금지 사항 (Forbidden)
169
+
170
+ ### Step 3: /sdd.new
171
+
172
+ 기능 명세를 AI와 함께 작성합니다:
173
+
174
+ ```
175
+ /sdd.new 사용자 인증 기능
176
+ ```
177
+
178
+ AI가 대화를 통해 다음을 생성합니다:
179
+ - `spec.md` - 기능 명세 (RFC 2119 + GIVEN-WHEN-THEN)
180
+
181
+ ### Step 4: /sdd.plan
182
+
183
+ 구현 계획을 수립합니다:
184
+
185
+ ```
186
+ /sdd.plan
187
+ ```
188
+
189
+ - 기술 결정사항과 근거
190
+ - 구현 단계(Phase) 정의
191
+ - 리스크 분석 및 완화 전략
192
+
193
+ ### Step 5: /sdd.tasks
194
+
195
+ 작업을 실행 가능한 단위로 분해합니다:
196
+
197
+ ```
198
+ /sdd.tasks
199
+ ```
200
+
201
+ - 작업은 2-4시간 완료 가능한 크기
202
+ - 작업 간 의존성 표시
203
+ - 우선순위: HIGH(🔴), MEDIUM(🟡), LOW(🟢)
204
+
205
+ ### Step 6: /sdd.prepare
206
+
207
+ 구현에 필요한 Claude Code 도구를 점검합니다:
208
+
209
+ ```
210
+ /sdd.prepare
211
+ ```
212
+
213
+ **기능:**
214
+ - tasks.md 분석하여 필요한 도구 자동 감지
215
+ - 서브에이전트 (`.claude/agents/`) 존재 여부 확인
216
+ - 스킬 (`.claude/skills/`) 존재 여부 확인
217
+ - 누락된 도구 자동 생성
218
+
219
+ **감지 대상:**
220
+
221
+ | 키워드 | 서브에이전트 | 스킬 |
222
+ |--------|-------------|------|
223
+ | 테스트, test | test-runner | test |
224
+ | api, rest | api-scaffold | gen-api |
225
+ | component | component-gen | gen-component |
226
+ | database | - | db-migrate |
227
+ | 문서, doc | - | gen-doc |
228
+ | review | code-reviewer | review |
229
+
230
+ **CLI에서도 사용 가능:**
231
+
232
+ ```bash
233
+ sdd prepare user-auth # 대화형
234
+ sdd prepare user-auth --dry-run # 미리보기
235
+ sdd prepare user-auth --auto-approve # 자동 생성
236
+ ```
237
+
238
+ ### Step 7: /sdd.implement
239
+
240
+ 작업 목록을 기반으로 순차적 구현:
241
+
242
+ ```
243
+ /sdd.implement
244
+ ```
245
+
246
+ AI가 tasks.md를 읽고, TDD 방식으로 구현을 안내합니다:
247
+ 1. 작업 상태를 "진행 중"으로 변경
248
+ 2. 테스트 작성
249
+ 3. 코드 구현
250
+ 4. 작업 상태를 "완료"로 변경
251
+
252
+ ### Step 8: /sdd.validate
253
+
254
+ 명세 검증:
255
+
256
+ ```
257
+ /sdd.validate
258
+ ```
259
+
260
+ - RFC 2119 키워드 사용 여부
261
+ - GIVEN-WHEN-THEN 형식 준수
262
+ - 메타데이터 필수 필드 확인
263
+
264
+ ---
265
+
266
+ ## 대화형 모드: /sdd.chat
267
+
268
+ 자연어로 SDD 작업을 수행할 수 있습니다:
269
+
270
+ ```
271
+ /sdd.chat
272
+ ```
273
+
274
+ 예시 대화:
275
+ ```
276
+ You: 사용자 인증 기능을 만들고 싶어
277
+ AI: 사용자 인증 기능의 명세를 작성해 드릴게요. 먼저 몇 가지 질문이 있습니다...
278
+ 1. 어떤 인증 방식을 사용하시나요? (JWT, 세션, OAuth)
279
+ 2. 소셜 로그인이 필요한가요?
280
+ ...
281
+ ```
282
+
283
+ ---
284
+
285
+ ## 스펙 파일 형식
286
+
287
+ ### spec.md 예시
288
+
289
+ ```markdown
290
+ ---
291
+ id: user-auth
292
+ title: "사용자 인증"
293
+ status: draft
294
+ created: 2025-12-24
295
+ constitution_version: 1.0.0
296
+ ---
297
+
298
+ # 사용자 인증
299
+
300
+ > JWT 기반 사용자 인증 시스템
301
+
302
+ ## 요구사항
303
+
304
+ ### REQ-01: 로그인
305
+
306
+ - 시스템은 이메일/비밀번호 로그인을 지원해야 한다(SHALL)
307
+ - 로그인 실패 구체적인 에러 메시지를 반환해야 한다(SHOULD)
308
+
309
+ ## 시나리오
310
+
311
+ ### Scenario 1: 성공적인 로그인
312
+
313
+ - **GIVEN** 유효한 사용자 계정이 있을 때
314
+ - **WHEN** 올바른 이메일과 비밀번호로 로그인하면
315
+ - **THEN** JWT 토큰이 반환된다
316
+ - **AND** 토큰 만료 시간이 설정된다
317
+ ```
318
+
319
+ ### RFC 2119 키워드
320
+
321
+ | 키워드 | 의미 |
322
+ |--------|------|
323
+ | **SHALL** / **MUST** | 절대 필수 |
324
+ | **SHOULD** | 권장 (예외 허용) |
325
+ | **MAY** | 선택적 |
326
+ | **SHALL NOT** | 절대 금지 |
327
+
328
+ ---
329
+
330
+ ## CLI 명령어
331
+
332
+ 슬래시 커맨드 외에 터미널에서 직접 사용할 수 있는 명령어들입니다.
333
+
334
+ ### 기본 명령어
335
+
336
+ ```bash
337
+ sdd init # 프로젝트 초기화
338
+ sdd validate # 스펙 검증
339
+ sdd status # 상태 확인
340
+ sdd list # 목록 조회
341
+ ```
342
+
343
+ ### 기능 개발
344
+
345
+ ```bash
346
+ sdd new <name> # 새 기능 생성
347
+ sdd new <name> --all # spec + plan + tasks 모두 생성
348
+ sdd prepare <name> # 서브에이전트/스킬 점검
349
+ ```
350
+
351
+ ### 변경 관리
352
+
353
+ ```bash
354
+ sdd change # 변경 제안 생성
355
+ sdd change apply <id> # 변경 적용
356
+ sdd impact <feature> # 영향도 분석
357
+ ```
358
+
359
+ ### 품질 및 분석
360
+
361
+ ```bash
362
+ sdd quality # 품질 분석
363
+ sdd report # 리포트 생성
364
+ sdd search <query> # 스펙 검색
365
+ ```
366
+
367
+ ### 동기화 및 변경 추적 (v0.8.0)
368
+
369
+ ```bash
370
+ sdd sync # 스펙-코드 동기화 검증
371
+ sdd sync user-auth # 특정 스펙만 검증
372
+ sdd sync --ci --threshold 80 # CI 모드 (동기화율 임계값)
373
+ sdd sync --json # JSON 출력
374
+ sdd sync --markdown # 마크다운 리포트
375
+
376
+ sdd diff # 스펙 변경사항 (작업 디렉토리)
377
+ sdd diff --staged # 스테이징된 변경
378
+ sdd diff abc123 def456 # 커밋 간 비교
379
+ sdd diff --stat # 통계 요약
380
+ sdd diff --json # JSON 출력
381
+ ```
382
+
383
+ ### 스펙 내보내기 (v0.9.0)
384
+
385
+ ```bash
386
+ sdd export user-auth # 단일 스펙 HTML 내보내기
387
+ sdd export --all # 전체 스펙 내보내기
388
+ sdd export --format json # JSON 형식
389
+ sdd export --format markdown # 마크다운 병합
390
+ sdd export -o ./docs/specs.html # 출력 경로 지정
391
+ sdd export --theme dark # 다크 테마
392
+ sdd export --no-toc # 목차 제외
393
+ ```
394
+
395
+ ### Git 워크플로우 (v1.0.0)
396
+
397
+ ```bash
398
+ # Git Hooks 설정
399
+ sdd git hooks install # pre-commit, commit-msg, pre-push 설치
400
+ sdd git hooks uninstall # hooks 제거
401
+
402
+ # 커밋 템플릿 설정
403
+ sdd git template install # .gitmessage 템플릿 설치
404
+
405
+ # 전체 Git 워크플로우 설정
406
+ sdd git setup # hooks + template + .gitignore/.gitattributes
407
+
408
+ # CI/CD 설정
409
+ sdd cicd setup github # GitHub Actions 워크플로우 생성
410
+ sdd cicd setup gitlab # GitLab CI 설정 생성
411
+ sdd cicd check # CI 환경 검증
412
+ ```
413
+
414
+ ---
415
+
416
+ ## Claude Code 도구 구조
417
+
418
+ ```
419
+ your-project/
420
+ ├── .sdd/
421
+ │ ├── constitution.md # 프로젝트 헌법
422
+ │ ├── AGENTS.md # AI 워크플로우 가이드
423
+ │ ├── specs/ # 기능 명세
424
+ │ │ └── feature-name/
425
+ │ │ ├── spec.md
426
+ │ │ ├── plan.md
427
+ │ │ ├── tasks.md
428
+ │ │ └── prepare.md # 도구 점검 결과
429
+ │ ├── changes/ # 변경 제안
430
+ │ └── archive/ # 완료된 변경
431
+
432
+ └── .claude/
433
+ ├── commands/ # 슬래시 커맨드 (29개)
434
+ │ ├── sdd.start.md
435
+ │ ├── sdd.new.md
436
+ │ ├── sdd.prepare.md
437
+ │ └── ...
438
+ ├── agents/ # 서브에이전트
439
+ │ ├── test-runner.md
440
+ │ └── api-scaffold.md
441
+ └── skills/ # 스킬
442
+ ├── test/
443
+ │ └── SKILL.md
444
+ └── gen-api/
445
+ └── SKILL.md
446
+ ```
447
+
448
+ ---
449
+
450
+ ## 개발
451
+
452
+ ```bash
453
+ git clone https://github.com/JakeB-5/sdd-tool.git
454
+ cd sdd-tool
455
+ pnpm install
456
+ pnpm run build
457
+ pnpm test
458
+ ```
459
+
460
+ ### 문서 개발
461
+
462
+ ```bash
463
+ pnpm run docs:dev # 개발 서버
464
+ pnpm run docs:build # 빌드
465
+ pnpm run docs:preview # 미리보기
466
+ ```
467
+
468
+ ### 테스트 커버리지
469
+
470
+ ```bash
471
+ pnpm run test:coverage # 커버리지 리포트
472
+ ```
473
+
474
+ ---
475
+
476
+ ## 기여
477
+
478
+ 기여를 환영합니다! [CONTRIBUTING.md](CONTRIBUTING.md)를 참고해주세요.
479
+
480
+ ---
481
+
482
+ ## 변경 이력
483
+
484
+ 자세한 변경 이력은 [CHANGELOG.md](CHANGELOG.md)를 참고해주세요.
485
+
486
+ ---
487
+
488
+ ## 라이선스
489
+
490
+ MIT License - 자세한 내용은 [LICENSE](LICENSE) 파일을 참고해주세요.