Github Issues 규칙 - JeroCaller/Spoon-Suits GitHub Wiki

  1. 이슈 라벨은 다음과 같이 정한다. 기본적으로는 혼동을 줄이고자 “Git 커밋 메시지 관련 규칙”에서 정한 커밋 메시지 타입과 최대한 일치시키도록 하였다.

    • feature - 새 기능 또는 기존 기능 수정이 필요한 이슈에 부여.

    • fix - 버그 또는 에러 수정이 필요한 이슈에 부여.

      • 버그 또는 에러 수정 후 troubleshooting 문서 작성이 불필요할 정도로 간단한 문제라면 문제의 원인, 해결 방법을 아예 적지 않아도 되거나 간결하게 작성해도 된다.
    • document - 문서 관련 작업 이슈에 부여.

    • refactor - 리팩토링 관련 이슈에 부여.

    • test - 테스트 관련 작업에 부여.

    • (2025-04-07 추가) chore - 프로젝트 빌드, 배포, 설정 등 프로젝트 외적인 작업에 부여.

    • troubleshooting - 버그 또는 에러 수정이 필요한 이슈에 부여. fix와 달리 간단하게 해결되지 않는 문제이거나 중요한 정보라 판단될 경우에 사용. 이슈 내용에 다음과 같은 사항들을 작성한다.

      원인 
      * 어떤 원인을 다루고자 하는지를 적는다
      
      배경 
      * 원인 파악에 도움이 될 여러 배경 지식, 상황 등을 작성한다
      
      예상되는 문제 해결책 (이하 hypo라 한다) (hypo, hypothesis, 가설)
      * 해당 원인에 대해 어떻게 해결할 수 있을 거라 생각되는지 적는다.
      * 만약 떠오르지 않는다면 생략해도 된다. 
      * 예상되는 문제 해결책이 여러 개일 경우를 대비하여 1, 2 등의 숫자를 붙여가며 적는다.
      예) 
      1. X를 이용하여 해결.
      2. Y를 이용하여 해결.
      
      문제 해결을 위한 시도 (이하 try라 한다)
      * 문제 해결을 위해 어떠한 시도들을 했는지 적는다. 
      * 여러 시도들을 할 수 있으므로 1., 2., 와 같이 번호를 붙여 가며 작성한다. 
      * 시도를 적는 내용에는 크게 제목과 해결 여부, 그리고 본문으로 구성한다. 
      	* 제목 앞에는 번호를 붙인다. 
      	* 해결 여부에는 해결 여부에 따라 다음의 이모지 중 하나를 택해 사용. (gitmoji 사용)
      		* ✅ (:white_check_mark:) - 해결 성공
      		* ❌ (:x:) - 해결 실패
      		* ⁉ (:exclamation_question_mark:) - 완전한 성공 또는 실패라 보기 어려운 경우
      			* 절반만 성공했다든가, 근본적인 해결책이 아니라든가 등등
      	* 만약 앞서 기록한 hypo 중 하나를 직접 수행해본 경우라면 제목 바로 오른쪽에 괄호 안에 해당 hypo 숫자를 기록한다. 예) 2. B를 이용하여 해결 시도 (hypo 2) - ❌. 그렇지 않은 경우라면 생략 가능. 
      		* 마크다운 문법 중 "[상대 링크](https://docs.github.com/ko/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#relative-links)" 를 이용하여 hypo 번호 클릭 시 해당 hypo로 이동하도록 한다. 
      	
      	
      형태)
      1. 제목 (hypo #, 생략 가능) - 해결 여부
      
         본문 (생략 가능)
      
      2. 제목 - 해결 여부
      
      3. 제목 - 해결 여부
         ...
      
      예시)
      1. A를 이용하여 해결 시도. - ❌
      	
      	A를 이용하여 이렇게 저렇게 시도해봤으나 실패하였다. 
      
      2. B를 이용하여 해결 시도 (hypo 4) - ✅
      

      이에 대한 자세한 사항은 Issue Template로 작성하여 정한다.

  2. 되도록 하나의 이슈에는 하나의 내용만 넣는다. 즉, 하나의 이슈에서 A라는 작업과 B라는 두 작업이 서로 별개이면 별개의 이슈로 분리하여 각각 작성한다.


References