name: Bug Report
about: 내부 개발자용 버그 리포트 템플릿
title: "[BUG] / [Feature]"
labels: [bug]
body:
  - type: input
    id: summary
    attributes:
      label: 요약
      placeholder: "예: 로그인 실패 시 무한 루프 발생"
    validations:
      required: true

  - type: textarea
    id: description
    attributes:
      label: 상세 설명
      placeholder: |
        버그일 경우: 문제 상황 / 재현방법 설명
        개발일 경우: 개발 목적 및 배경 설명
        계획일 경우: 왜 필요한지, 무엇을 할 것인지 작성
    validations:
      required: true

  - type: textarea
    id: steps-to-reproduce
    attributes:
      label: (버그인 경우) 재현 방법
      placeholder: |
        예:
        1. 로그인 화면 접속
        2. 잘못된 비밀번호 입력
        3. 로그인 시 무한 로딩 발생
    validations:
      required: false

  - type: textarea
    id: expected
    attributes:
      label: (버그인 경우) 기대 동작
      placeholder: "예: 로그인 실패 시 오류 메시지 노출"
    validations:
      required: false

  - type: textarea
    id: actual
    attributes:
      label: (버그인 경우) 실제 동작
      placeholder: "예: 메시지 없이 무한 로딩"
    validations:
      required: false

  - type: textarea
    id: logs
    attributes:
      label: (버그인 경우) 관련 로그 / 에러 메시지
      description: 로그, 에러 메시지를 붙여주세요 (가능 시 전체 로그)
      placeholder: |
        예:
        ```
        Uncaught TypeError: Cannot read property 'x' of undefined
        at App.js:45
        ```
    validations:
      required: false

  - type: textarea
    id: todo
    attributes:
      label: (개발/계획인 경우) 개발/계획해야 할 항목
      description: 구현할 기능이나 수정할 내용을 리스트로 작성
      placeholder: |
        예:
        - [ ] 로그인 실패 시 오류 메시지 출력
        - [ ] 무한 로딩 방지 로직 추가
        - [ ] 테스트 케이스 작성
    validations:
      required: false

  - type: input
    id: env
    attributes:
      label: 환경 정보
      placeholder: "예: Chrome 123, macOS 14.4, JDK 17, Spring Boot 3.2"
    validations:
      required: false

  - type: dropdown
    id: severity
    attributes:
      label: 심각도
      options:
        - blocker (기능 완전 불가 / 최우선)
        - critical (핵심 기능 / 높은 우선순위)
        - major (중요 기능 / 보통 우선순위)
        - minor (경미한 기능 / 낮은 우선순위)
        - trivial (사소한 기능 / 매우 낮음)
      default: minor
    validations:
      required: true
