dodam dodam logo

B1ND Docs

이슈 규칙

이슈를 관리하는 규칙들을 정리하고 있어요.

이슈는 프로젝트의 작업을 추적하고 관리하는 핵심 도구이므로, 체계적으로 작성해야 해요.

이슈 제목

이슈 제목은 간결하고 명확하게 작성해야해요.

기본 형식

기본적인 이슈 제목의 형식은 다음과 같아요.

Terminal
$ <description>

이슈 제목을 작성할 때는 다음 규칙을 꼭 지켜야 해요.

  1. 한국어, 영어 모두 사용 가능해요.
  2. 명확하고 구체적으로 작성해주세요.
  3. 50자 이내로 간결하게 작성해요.
  4. 마침표는 사용하지 마세요.
  5. 라벨로 타입을 표시하더라도, 제목에 type(feature, refactor, hotfix)을 붙이세요.

이슈 본문

이슈 본문은 템플릿을 통해서 작성해주세요.

이슈 내용을 작성할 때는 다음 규칙을 꼭 지켜야 해요.

  1. ~합니다. 입니다 같은 ~니다 체를 사용해주세요.
  2. issue template 의 주석을 지우지 마세요.
  3. template에 작성을 요구하는 칸은 모두 다 채워주세요.

좋은 예시

이슈 작성의 좋은 예시는 다음과 같아요. (내용의 형식은 템플릿에 따라 바뀔 수 있어요)

markdown
제목: 웹뷰 브릿지 카메라 API 구현
라벨: type: feature, priority: high, size: M
## 작업 내용
모바일 앱에서 웹뷰와 네이티브 카메라를 연동하는 브릿지 API를 구현합니다.
## 작업 목적
사용자가 웹뷰 내에서 카메라 기능을 사용할 수 있도록 합니다.
## 체크리스트
- [ ] 카메라 권한 요청 로직 구현
- [ ] 브릿지 API 인터페이스 설계
- [ ] 웹뷰-네이티브 통신 구현
- [ ] 이미지 전송 로직 구현
- [ ] 테스트 코드 작성
## 참고 자료
- [웹뷰 브릿지 가이드](링크)

나쁜 예시

이슈 작성의 나쁜 예시는 다음과 같아요.

markdown
제목: 기능 추가 → 너무 모호함, 라벨 미지정
제목: 카메라 기능을 추가하고 싶어요. → 마침표 사용, 구어체
제목: 웹뷰 브릿지 카메라 API를 구현하고 네이티브 통신을 추가하며... → 너무 김
본문:
카메라 추가해주세요 → 내용이 너무 부실함

라벨 활용

이슈 생성 시 반드시 적절한 라벨을 지정해야 해요.

이슈에 사용되는 라벨들은 다음과 같아요.

type 라벨

이슈의 유형을 나타내는 라벨이에요.

라벨설명예시
type: feature새로운 기능 추가 요청이에요웹뷰 브릿지 카메라 API 구현
type: bug의도하지 않은 동작이나 오류예요로그인 시 토큰 갱신 오류 수정
type: refactor기능 변경 없이 코드 구조 개선이에요알림 서비스 MSA로 분리
type: docs문서 추가, 수정, 개선이에요API 명세서 업데이트
type: chore빌드, 설정, 패키지 등 유지보수 작업이에요Docker 환경 설정 추가
type: enhancement기존 기능의 개선 및 향상이에요검색 속도 개선
type: test테스트 코드 추가 또는 수정이에요E2E 테스트 추가
type: hotfix프로덕션 환경의 긴급 버그 수정이에요프로덕션 서버 다운 긴급 수정

priority 라벨

이슈의 우선순위를 나타내는 라벨이에요.

라벨설명
priority: critical긴급 - 서비스 중단 또는 심각한 버그로 즉시 처리가 필요해요
priority: high높음 - 중요한 기능 또는 주요 버그로 우선 처리해요
priority: medium보통 - 일반적인 작업으로 정상 일정으로 처리해요
priority: low낮음 - 급하지 않은 작업으로 여유있을 때 처리해요

size 라벨

이슈의 작업량을 나타내는 라벨이에요.

라벨설명
size: XS매우 작음 - 4시간 이내로 간단한 수정이에요
size: S작음 - 1-2일 정도로 작은 기능이나 버그 수정이에요
size: M보통 - 3-5일 정도로 일반적인 기능 개발이에요
size: L큼 - 1-2주 정도로 복잡한 기능이나 대규모 리팩토링이에요
size: XL매우 큼 - 2주 이상으로 주요 기능이며 분할 검토가 필요해요

init 라벨

초기 설정 작업을 나타내는 라벨이에요.

라벨설명
init: project프로젝트 초기화 - 새로운 프로젝트나 모듈의 초기 설정이에요
init: structure구조 초기화 - 폴더 구조, 아키텍처 설정이에요
init: docs문서 초기화 - README, 기여 가이드 등 기본 문서 작성이에요

필수 라벨

위 3개의 라벨은 모든 이슈들이 필수적으로 가지고 있어야 해요.

  • type 라벨: 이슈의 유형을 나타내는 라벨을 하나 선택해요.
  • priority 라벨: 우선순위를 나타내는 라벨을 하나 선택해요.
  • size 라벨: 작업량을 나타내는 라벨을 하나 선택해요.

이슈 할당

이슈를 생성할 때는 담당자(Assignee)를 지정해야 해요.

해당 담당자는 매주 트리아지 회의를 통해 배정해요.

금지사항

의미없는 제목은 금지됩니다. ex) 테스트, 버그 수정

본문 없이 제목만 작성하는것도 금지됩니다.

라벨을 지정하지 않는것도 금지됩니다.

하나의 이슈에 여러 관련없는 작업을 포함하는것도 금지됩니다.