Spec-Driven Development
개요
Spec-Driven Development 란 Spec 파일을 기반으로 코드 생성을 하는 것을 의미한다. 대표적으로 Github의 SpecKit이 있다.
주요 특징
- 기본적으로 4 단계로 구성된다. (Specify, Plan, Tasks, Implement)
Specify
서비스 요구사항을 작성하는 단계이다. 기능과 관련된 구체적인 내용을 작성한다. 이 단계에서는 기술적 요구사항을 작성하지 않는다.
Plan
기술적 요구사항을 작성한다. 기능에 대해서 적합한 기술선택을 목적으로 한다.
Tasks
Specify와 Plan을 기반으로 실제 작업을 생성한다. T-001, T-002와 같이 알파벳-숫자 형식으로 작업을 구분한다.
Implement
Tasks에 작성된 작업들을 순차적으로 구현한다. 작업을 묶음 단위로 진행하거나 한번에 다 진행하기도 한다.
사용 방법
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
specify init <PROJECT_NAME> # specify init . 또는 경로
specify check # 사용가능한 에이전트 확인
## 프로젝트 전반에 걸친 원칙 (.specify/memory/constitution.md 수정됨)
## EX) /speckit.constitution PoC 목적이므로 MVP 수준으로만 만든다. 테스트 코드는 작성하지 않는다.
/speckit.constitution
## 무엇을 만들 것인지, 왜 필요한지
## 자동으로 브랜치 체크아웃 됨
## EX) /speckit.specify 간단한 리듬게임 만들기, spacebar만 사용
/speckit.specify
## 현재 구현할 내용 체크 (구현 내용에 대해서 모호한 부분 체크)
## 대답방향에 따라서 specs/**/spec.md 내용 업데이트 함
/speckit.clarify
## 기술 스택, 아키텍처 결정사항
## Ex) /speckit.plan 백엔드는 구현하지 않음, 프론트는 가장 구현하기 쉬운 기술스택 사용
/speckit.plan
##################################################################
## 현재까지 생성된 문서리스트
#
# specs/001-spacebar-rhythm-game/checklists/requirements.md
# specs/001-spacebar-rhythm-game/contracts/beatmap-schema.json
# specs/001-spacebar-rhythm-game/data-model.md
# specs/001-spacebar-rhythm-game/plan.md
# specs/001-spacebar-rhythm-game/quickstart.md
# specs/001-spacebar-rhythm-game/research.md
# specs/001-spacebar-rhythm-game/spec.md
#
##################################################################
## 작업 리스트 생성
/speckit.tasks
## 코드 작업 및 빌드
/speckit.implement