Skip to content

Template

.intent.ymlintent-map.yml의 전체 구조를 보여주는 템플릿이다. 필수 필드와 선택 필드를 주석으로 구분한다. 복사하여 시작점으로 사용할 수 있다.

.intent.yml

yaml
# =============================================================================
# .intent.yml 템플릿
# =============================================================================
# 의도 명세 파일의 스키마 레퍼런스.
# 필수 필드만으로 최소 명세를 작성하거나, 선택 필드를 추가하여 확장할 수 있다.
#
# 모든 리스트 필드는 문자열 → 객체 확장이 가능하다.
# 파싱 시 문자열은 { text: <값> }으로 정규화된다.
# =============================================================================

# --- 필수 필드 ---------------------------------------------------------------

apiVersion: v1 # 고정값

kind: Feature # Feature | Enhancement | Integration

metadata:
  name: my-feature # kebab-case 식별자, 파일명과 일치
  title: 기능 제목 # 사람이 읽는 제목

  # --- 선택 필드 ---
  # package: my-package             # 대상 패키지
  # issue: VIGOR13-000              # Linear 이슈 식별자
  # status: draft                   # draft → review → approved → implemented
  # tags:                           # 분류 태그
  #   - tag1
  #   - tag2

context: | # 왜 이 기능이 필요한지
  이 기능이 필요한 배경과 목적을 서술한다.

# --- 선택 필드 ---------------------------------------------------------------

# drivers:                          # 기능의 동인
#   - 문자열로 간단히 기술
#   - text: 객체로 확장 가능
#     source: 출처나 근거

spec:
  behaviors: # 원하는 동작 목록 (필수)
    - 첫 번째 동작을 서술한다
    - 두 번째 동작을 서술한다

  # scenarios:                      # Given/When/Then 시나리오 (선택)
  #   - name: 시나리오 이름
  #     given: 사전 조건
  #     when: 트리거 동작
  #     then: 기대 결과

# constraints:                      # 제약 조건 (선택)
#   - 문자열은 MUST로 간주
#   - level: SHOULD                 # MUST | SHOULD | MAY
#     text: 제약 조건 서술

# examples:                         # 구체적 데이터 예시 (선택)
#   - name: 예시 이름
#     input:
#       key: value
#     expected:
#       key: value

# openQuestions:                    # 미결정 사항 (선택)
#   - 문자열로 간단히 기술
#   - text: 객체로 확장 가능
#     decidedAt: 2026-01-01         # 결정 후 추가
#     decision: 결정 내용            # 결정 후 추가

intent-map.yml

yaml
# =============================================================================
# intent-map.yml 템플릿
# =============================================================================
# 프로젝트 전체 spec을 도메인별로 관리하는 매니페스트 파일.
#
# 구조: domain > area(선택) > spec
# - area 없이 도메인 바로 아래에 spec을 나열할 수 있다.
# - area를 사용하면 한 단계까지만 허용된다 (area > sub-area 불가).
# - 도메인이 커지면 접두사로 분리한다 (예: issue, issue-comment).
# =============================================================================

# --- 필수 필드 ---------------------------------------------------------------

apiVersion: v1

metadata:
  name: my-project # kebab-case 프로젝트 식별자
  title: 프로젝트 제목 # 사람이 읽는 제목

domains:
  # --- area 없는 도메인 (단순 구조) -----------------------------------------
  # my-domain:
  #   title: 도메인 제목
  #   specs:
  #     - spec-name-1
  #     - spec-name-2

  # --- area 있는 도메인 (하위 분류 필요 시) ----------------------------------
  # my-domain:
  #   title: 도메인 제목
  #   areas:
  #     my-area:
  #       title: 영역 제목
  #       specs:
  #         - spec-name-1
  #         - spec-name-2

다음 단계

  • Examples — 해설이 포함된 전체 예제를 확인한다