Skip to content

/sdd.spec

기능 명세를 작성하거나 수정합니다. (통합 진입점)

개요

/sdd.spec은 새 기능 작성(/sdd.new)과 기존 기능 수정(/sdd.change)을 자동으로 판단하여 적절한 워크플로우로 안내합니다.

사용법

/sdd.spec [기능 설명]

인수

인수설명
기능 설명작성하거나 수정할 기능에 대한 설명

동작

  1. 도메인명과 기능명 확인
  2. .sdd/specs/<domain>/<feature-id>/spec.md 존재 여부 확인
  3. 자동 분기:
    • 스펙이 없으면 → 새 기능 생성 워크플로우
    • 스펙이 있으면 → 변경 규모에 따라 분기

새 기능 (스펙 없음)

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변경 영향도 분석

MIT License