sdd-tool 0.7.1 → 1.0.1

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
@@ -3,13 +3,16 @@
3
3
  **Spec-Driven Development CLI** - AI와 함께하는 명세 기반 개발 도구
4
4
 
5
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)
6
7
  [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org/)
7
8
  [![TypeScript](https://img.shields.io/badge/typescript-5.x-blue)](https://www.typescriptlang.org/)
8
9
  [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
9
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
+
10
13
  ## 개요
11
14
 
12
- SDD Tool은 **Claude Code**와 함께 사용하도록 설계된 명세 기반 개발(Spec-Driven Development) CLI입니다. 슬래시 커맨드를 통해 AI와 대화하며 명세를 작성하고, 코드를 구현합니다.
15
+ SDD Tool은 **Claude Code**와 함께 사용하도록 설계된 명세 기반 개발(Spec-Driven Development) CLI입니다. **슬래시 커맨드**를 통해 AI와 대화하며 명세를 작성하고, 코드를 구현합니다.
13
16
 
14
17
  ### 핵심 개념
15
18
 
@@ -29,50 +32,132 @@ npm install -g sdd-tool
29
32
 
30
33
  ---
31
34
 
32
- ## Claude Code와 함께 시작하기
33
-
34
- SDD Tool은 Claude Code의 슬래시 커맨드와 통합되어, AI와 대화하며 명세 기반 개발을 진행합니다.
35
-
36
- ### Step 1: 프로젝트 초기화
35
+ ## 빠른 시작
37
36
 
38
37
  ```bash
38
+ # 1. 프로젝트 초기화 (슬래시 커맨드 29개 자동 생성)
39
39
  sdd init
40
- ```
41
40
 
42
- 명령은 다음을 생성합니다:
43
- - `.sdd/` - 명세 디렉토리 (constitution.md, specs/, changes/)
44
- - `.claude/commands/` - **26개의 슬래시 커맨드** 자동 생성
41
+ # 2. Claude Code 실행
42
+ claude
45
43
 
46
- ### Step 2: Claude Code 실행
44
+ # 3. 슬래시 커맨드로 워크플로우 시작
45
+ /sdd.start
46
+ ```
47
47
 
48
- 프로젝트 디렉토리에서 Claude Code를 실행합니다:
48
+ ---
49
+
50
+ ## 전체 워크플로우
49
51
 
50
- ```bash
51
- claude
52
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
+ ---
53
143
 
54
- ### Step 3: 워크플로우 시작
144
+ ## 워크플로우 상세
55
145
 
56
- Claude Code에서 슬래시 커맨드를 입력합니다:
146
+ ### Step 1: /sdd.start
147
+
148
+ 프로젝트 상태를 분석하고 다음 작업을 안내합니다:
57
149
 
58
150
  ```
59
151
  /sdd.start
60
152
  ```
61
153
 
62
- AI가 프로젝트 상태를 분석하고, 다음 작업을 안내합니다:
63
154
  - 신규 프로젝트: Constitution 작성 권장
64
155
  - 기존 프로젝트: 워크플로우 선택 메뉴 제공
65
156
 
66
- ### Step 4: Constitution(헌법) 작성
157
+ ### Step 2: /sdd.constitution
67
158
 
68
159
  프로젝트의 핵심 원칙을 정의합니다:
69
160
 
70
- ```
71
- /sdd.constitution
72
- ```
73
-
74
- 신규 프로젝트의 경우, 프로젝트 설명을 함께 입력할 수 있습니다:
75
-
76
161
  ```
77
162
  /sdd.constitution React 기반 할일 관리 앱
78
163
  ```
@@ -82,167 +167,99 @@ AI가 `.sdd/constitution.md`를 분석하고, 프로젝트 원칙 작성을 도
82
167
  - 기술 원칙 (Technical Principles)
83
168
  - 금지 사항 (Forbidden)
84
169
 
85
- ### Step 5: 새 기능 명세 작성
170
+ ### Step 3: /sdd.new
86
171
 
87
172
  기능 명세를 AI와 함께 작성합니다:
88
173
 
89
- ```
90
- /sdd.new
91
- ```
92
-
93
- 필요한 기능을 함께 입력하면 AI가 바로 명세 작성을 시작합니다:
94
-
95
174
  ```
96
175
  /sdd.new 사용자 인증 기능
97
176
  ```
98
177
 
99
178
  AI가 대화를 통해 다음을 생성합니다:
100
179
  - `spec.md` - 기능 명세 (RFC 2119 + GIVEN-WHEN-THEN)
101
- - `plan.md` - 구현 계획
102
- - `tasks.md` - 작업 분해
103
180
 
104
- ### Step 6: 구현 진행
181
+ ### Step 4: /sdd.plan
105
182
 
106
- 작업 목록을 기반으로 순차적 구현:
183
+ 구현 계획을 수립합니다:
107
184
 
108
185
  ```
109
- /sdd.implement
186
+ /sdd.plan
110
187
  ```
111
188
 
112
- AI가 tasks.md를 읽고, TDD 방식으로 구현을 안내합니다.
189
+ - 기술 결정사항과 근거
190
+ - 구현 단계(Phase) 정의
191
+ - 리스크 분석 및 완화 전략
113
192
 
114
- ---
193
+ ### Step 5: /sdd.tasks
115
194
 
116
- ## 전체 워크플로우 예시
195
+ 작업을 실행 가능한 단위로 분해합니다:
117
196
 
118
197
  ```
119
- ┌─────────────────────────────────────────────────────────────┐
120
- │ 1. sdd init → 프로젝트 초기화 │
121
- │ 2. claude → Claude Code 실행 │
122
- │ 3. /sdd.start → 워크플로우 시작 │
123
- │ 4. /sdd.constitution → 프로젝트 원칙 정의 │
124
- │ 5. /sdd.new → 기능 명세 작성 │
125
- │ 6. /sdd.plan → 구현 계획 수립 │
126
- │ 7. /sdd.tasks → 작업 분해 │
127
- │ 8. /sdd.implement → 순차적 구현 │
128
- │ 9. /sdd.validate → 명세 검증 │
129
- └─────────────────────────────────────────────────────────────┘
198
+ /sdd.tasks
130
199
  ```
131
200
 
132
- ---
133
-
134
- ## 구현 준비: sdd prepare
201
+ - 각 작업은 2-4시간 내 완료 가능한 크기
202
+ - 작업 간 의존성 표시
203
+ - 우선순위: HIGH(🔴), MEDIUM(🟡), LOW(🟢)
135
204
 
136
- 구현 필요한 Claude Code 서브에이전트와 스킬을 점검합니다.
205
+ ### Step 6: /sdd.prepare
137
206
 
138
- ### 워크플로우
207
+ 구현에 필요한 Claude Code 도구를 점검합니다:
139
208
 
140
209
  ```
141
- /sdd.new → /sdd.plan → /sdd.tasks → sdd prepare → /sdd.implement
142
-
143
- 서브에이전트/스킬 점검
210
+ /sdd.prepare
144
211
  ```
145
212
 
146
- ### 사용법
213
+ **기능:**
214
+ - tasks.md 분석하여 필요한 도구 자동 감지
215
+ - 서브에이전트 (`.claude/agents/`) 존재 여부 확인
216
+ - 스킬 (`.claude/skills/`) 존재 여부 확인
217
+ - 누락된 도구 자동 생성
147
218
 
148
- ```bash
149
- sdd prepare user-auth
150
- ```
219
+ **감지 대상:**
151
220
 
152
- tasks.md를 분석하여 필요한 도구를 자동으로 감지합니다:
153
-
154
- ```
155
- 기능 'user-auth' 준비 점검 중...
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 |
156
229
 
157
- 분석 완료
230
+ **CLI에서도 사용 가능:**
158
231
 
159
- 총 작업 수: 5개
160
- 서브에이전트: 2개 필요 (존재: 0, 누락: 2)
161
- 스킬: 3개 필요 (존재: 1, 누락: 2)
162
-
163
- ⚠ 누락된 서브에이전트:
164
- - test-runner: 테스트 실행 및 결과 분석 에이전트
165
- - api-scaffold: REST API 보일러플레이트 생성 에이전트
166
-
167
- ⚠ 누락된 스킬:
168
- - gen-api: API 엔드포인트 생성 스킬
169
- - review: 코드 리뷰 스킬
170
-
171
- ℹ 보고서: .sdd/specs/user-auth/prepare.md
172
- ℹ 누락된 도구를 자동 생성하려면: sdd prepare user-auth --auto-approve
232
+ ```bash
233
+ sdd prepare user-auth # 대화형
234
+ sdd prepare user-auth --dry-run # 미리보기
235
+ sdd prepare user-auth --auto-approve # 자동 생성
173
236
  ```
174
237
 
175
- ### Claude Code 도구 위치
176
-
177
- | 도구 유형 | 위치 |
178
- |-----------|------|
179
- | 서브에이전트 | `.claude/agents/<name>.md` |
180
- | 스킬 | `.claude/skills/<name>/SKILL.md` |
181
- | 슬래시 커맨드 | `.claude/commands/<name>.md` |
182
-
183
- ### 옵션
238
+ ### Step 7: /sdd.implement
184
239
 
185
- | 옵션 | 설명 |
186
- |------|------|
187
- | `--dry-run` | 파일 생성 없이 분석 결과만 출력 |
188
- | `--auto-approve` | 누락된 도구를 자동으로 생성 |
189
- | `--json` | JSON 형식으로 출력 |
190
-
191
- ---
192
-
193
- ## 슬래시 커맨드 (26개)
194
-
195
- `sdd init` 실행 시 `.claude/commands/`에 자동 생성됩니다.
196
-
197
- ### 핵심 워크플로우
198
-
199
- | 커맨드 | 설명 | 사용 시점 |
200
- |--------|------|----------|
201
- | `/sdd.start` | 통합 진입점 | 작업 시작 시 |
202
- | `/sdd.constitution` | 프로젝트 원칙 관리 | 프로젝트 초기 설정 |
203
- | `/sdd.new` | 새 기능 명세 작성 | 새 기능 개발 시 |
204
- | `/sdd.plan` | 구현 계획 작성 | 명세 작성 후 |
205
- | `/sdd.tasks` | 작업 분해 | 계획 수립 후 |
206
- | `/sdd.implement` | 순차적 구현 | 작업 분해 후 |
207
- | `/sdd.validate` | 스펙 검증 | 작성/수정 후 |
208
-
209
- ### 변경 관리
210
-
211
- | 커맨드 | 설명 |
212
- |--------|------|
213
- | `/sdd.change` | 기존 스펙 변경 제안 |
214
- | `/sdd.impact` | 변경 영향도 분석 |
215
- | `/sdd.transition` | new ↔ change 워크플로우 전환 |
240
+ 작업 목록을 기반으로 순차적 구현:
216
241
 
217
- ### 분석 및 품질
242
+ ```
243
+ /sdd.implement
244
+ ```
218
245
 
219
- | 커맨드 | 설명 |
220
- |--------|------|
221
- | `/sdd.analyze` | 요청 분석 및 규모 판단 |
222
- | `/sdd.quality` | 스펙 품질 점수 산출 |
223
- | `/sdd.report` | 프로젝트 리포트 생성 |
224
- | `/sdd.search` | 스펙 검색 |
225
- | `/sdd.status` | 프로젝트 상태 확인 |
246
+ AI가 tasks.md를 읽고, TDD 방식으로 구현을 안내합니다:
247
+ 1. 작업 상태를 "진행 중"으로 변경
248
+ 2. 테스트 작성
249
+ 3. 코드 구현
250
+ 4. 작업 상태를 "완료"로 변경
226
251
 
227
- ### 문서 생성
252
+ ### Step 8: /sdd.validate
228
253
 
229
- | 커맨드 | 설명 |
230
- |--------|------|
231
- | `/sdd.research` | 기술 리서치 문서 |
232
- | `/sdd.data-model` | 데이터 모델 문서 |
233
- | `/sdd.guide` | 워크플로우 가이드 |
234
- | `/sdd.prepare` | 서브에이전트/스킬 점검 |
254
+ 명세 검증:
235
255
 
236
- ### 운영
256
+ ```
257
+ /sdd.validate
258
+ ```
237
259
 
238
- | 커맨드 | 설명 |
239
- |--------|------|
240
- | `/sdd.chat` | 대화형 SDD 어시스턴트 |
241
- | `/sdd.list` | 항목 목록 조회 |
242
- | `/sdd.watch` | 파일 감시 모드 |
243
- | `/sdd.migrate` | 외부 도구에서 마이그레이션 |
244
- | `/sdd.cicd` | CI/CD 설정 |
245
- | `/sdd.prompt` | 프롬프트 출력 |
260
+ - RFC 2119 키워드 사용 여부
261
+ - GIVEN-WHEN-THEN 형식 준수
262
+ - 메타데이터 필수 필드 확인
246
263
 
247
264
  ---
248
265
 
@@ -328,6 +345,7 @@ sdd list # 목록 조회
328
345
  ```bash
329
346
  sdd new <name> # 새 기능 생성
330
347
  sdd new <name> --all # spec + plan + tasks 모두 생성
348
+ sdd prepare <name> # 서브에이전트/스킬 점검
331
349
  ```
332
350
 
333
351
  ### 변경 관리
@@ -342,50 +360,41 @@ sdd impact <feature> # 영향도 분석
342
360
 
343
361
  ```bash
344
362
  sdd quality # 품질 분석
345
- sdd quality --min-score 70 # 최소 점수 기준
346
363
  sdd report # 리포트 생성
347
364
  sdd search <query> # 스펙 검색
348
365
  ```
349
366
 
350
- ### 구현 준비
351
-
352
- ```bash
353
- sdd prepare <feature> # 서브에이전트/스킬 점검
354
- sdd prepare <feature> --dry-run # 변경 없이 분석만
355
- sdd prepare <feature> --auto-approve # 누락 도구 자동 생성
356
- ```
357
-
358
- ### 운영
367
+ ### 동기화 및 변경 추적 (v0.8.0)
359
368
 
360
369
  ```bash
361
- sdd watch # 파일 감시
362
- sdd migrate detect # 외부 도구 감지
363
- sdd cicd setup # CI/CD 설정
364
- ```
365
-
366
- ---
367
-
368
- ## CI/CD 통합
370
+ sdd sync # 스펙-코드 동기화 검증
371
+ sdd sync user-auth # 특정 스펙만 검증
372
+ sdd sync --ci --threshold 80 # CI 모드 (동기화율 임계값)
373
+ sdd sync --json # JSON 출력
374
+ sdd sync --markdown # 마크다운 리포트
369
375
 
370
- ### GitHub Actions
371
-
372
- ```bash
373
- sdd cicd setup github
376
+ sdd diff # 스펙 변경사항 (작업 디렉토리)
377
+ sdd diff --staged # 스테이징된 변경
378
+ sdd diff abc123 def456 # 커밋 간 비교
379
+ sdd diff --stat # 통계 요약
380
+ sdd diff --json # JSON 출력
374
381
  ```
375
382
 
376
- ### Git Hooks
383
+ ### 스펙 내보내기 (v0.9.0)
377
384
 
378
385
  ```bash
379
- sdd cicd hooks
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 # 목차 제외
380
393
  ```
381
394
 
382
- 커밋 전 자동으로 스펙 검증이 실행됩니다.
383
-
384
395
  ---
385
396
 
386
- ## 디렉토리 구조
387
-
388
- `sdd init` 실행 후 생성되는 구조:
397
+ ## Claude Code 도구 구조
389
398
 
390
399
  ```
391
400
  your-project/
@@ -396,16 +405,25 @@ your-project/
396
405
  │ │ └── feature-name/
397
406
  │ │ ├── spec.md
398
407
  │ │ ├── plan.md
399
- │ │ └── tasks.md
408
+ │ │ ├── tasks.md
409
+ │ │ └── prepare.md # 도구 점검 결과
400
410
  │ ├── changes/ # 변경 제안
401
- ├── archive/ # 완료된 변경
402
- └── templates/ # 템플릿
411
+ └── archive/ # 완료된 변경
412
+
403
413
  └── .claude/
404
- └── commands/ # 슬래시 커맨드 (26개)
405
- ├── sdd.start.md
406
- ├── sdd.new.md
407
- ├── sdd.constitution.md
408
- └── ...
414
+ ├── commands/ # 슬래시 커맨드 (29개)
415
+ ├── sdd.start.md
416
+ ├── sdd.new.md
417
+ ├── sdd.prepare.md
418
+ └── ...
419
+ ├── agents/ # 서브에이전트
420
+ │ ├── test-runner.md
421
+ │ └── api-scaffold.md
422
+ └── skills/ # 스킬
423
+ ├── test/
424
+ │ └── SKILL.md
425
+ └── gen-api/
426
+ └── SKILL.md
409
427
  ```
410
428
 
411
429
  ---
@@ -420,8 +438,34 @@ pnpm run build
420
438
  pnpm test
421
439
  ```
422
440
 
441
+ ### 문서 개발
442
+
443
+ ```bash
444
+ pnpm run docs:dev # 개발 서버
445
+ pnpm run docs:build # 빌드
446
+ pnpm run docs:preview # 미리보기
447
+ ```
448
+
449
+ ### 테스트 커버리지
450
+
451
+ ```bash
452
+ pnpm run test:coverage # 커버리지 리포트
453
+ ```
454
+
455
+ ---
456
+
457
+ ## 기여
458
+
459
+ 기여를 환영합니다! [CONTRIBUTING.md](CONTRIBUTING.md)를 참고해주세요.
460
+
461
+ ---
462
+
463
+ ## 변경 이력
464
+
465
+ 자세한 변경 이력은 [CHANGELOG.md](CHANGELOG.md)를 참고해주세요.
466
+
423
467
  ---
424
468
 
425
469
  ## 라이선스
426
470
 
427
- MIT License
471
+ MIT License - 자세한 내용은 [LICENSE](LICENSE) 파일을 참고해주세요.