/sdd.spec
기능 명세를 작성하거나 수정합니다. (통합 진입점)
개요
/sdd.spec은 새 기능 작성(/sdd.new)과 기존 기능 수정(/sdd.change)을 자동으로 판단하여 적절한 워크플로우로 안내합니다.
사용법
/sdd.spec [기능 설명]인수
| 인수 | 설명 |
|---|---|
| 기능 설명 | 작성하거나 수정할 기능에 대한 설명 |
동작
- 도메인명과 기능명 확인
.sdd/specs/<domain>/<feature-id>/spec.md존재 여부 확인- 자동 분기:
- 스펙이 없으면 → 새 기능 생성 워크플로우
- 스펙이 있으면 → 변경 규모에 따라 분기
새 기능 (스펙 없음)
bash
sdd new <domain>/<feature-id> --all.sdd/specs/<domain>/<feature-id>/디렉토리 생성spec.md,plan.md,tasks.md생성- RFC 2119 키워드와 GIVEN-WHEN-THEN 형식으로 명세 작성
기존 수정 (스펙 있음)
작은 수정 (오타, 문구 수정, 요구사항 1-2개 추가):
- 직접
spec.md파일 수정 sdd validate로 검증
큰 변경 (요구사항 다수 변경, 구조 변경, 삭제):
.sdd/changes/CHG-xxx.md변경 제안서 작성- 검토 → 승인 → 반영 워크플로우
변경 규모 판단 기준
| 규모 | 예시 | 권장 방식 |
|---|---|---|
| 작음 | 오타 수정, 문구 개선 | 직접 수정 |
| 중간 | 요구사항 1-2개 추가 | 직접 수정 |
| 큼 | 요구사항 3개 이상 변경 | 변경 제안서 |
| 큼 | 기존 요구사항 삭제 | 변경 제안서 |
| 큼 | 시나리오 구조 변경 | 변경 제안서 |
예시
새 기능 작성
/sdd.spec 사용자 인증 기능
AI: .sdd/specs/ 확인 중...
→ auth/user-auth 스펙이 없습니다.
→ 새 기능으로 생성합니다.
몇 가지 질문이 있습니다:
1. 어떤 인증 방식을 사용하시나요? (JWT, 세션, OAuth)
2. 소셜 로그인이 필요한가요?기존 스펙 수정
/sdd.spec 로그인에 소셜 로그인 추가
AI: .sdd/specs/ 확인 중...
→ auth/login/spec.md 존재합니다.
→ 변경 규모를 확인합니다.
요구사항 1개 추가이므로 직접 수정합니다.
spec.md에 REQ-03: 소셜 로그인 추가 중...생성 파일
새 기능 시:
.sdd/specs/<domain>/<feature-id>/
├── spec.md # 기능 명세
├── plan.md # 구현 계획
└── tasks.md # 작업 분해다음 단계
- 새 스펙 작성 후:
/sdd.plan→/sdd.tasks→/sdd.implement - 스펙 수정 후:
sdd validate→ 커밋
관련 커맨드
| 커맨드 | 설명 |
|---|---|
/sdd.plan | 구현 계획 작성 |
/sdd.tasks | 작업 분해 |
/sdd.validate | 스펙 검증 |
/sdd.impact | 변경 영향도 분석 |