diff --git a/docs/pull_request_guidelines.md b/docs/pull_request_guidelines.md new file mode 100644 index 0000000..e0b6cc3 --- /dev/null +++ b/docs/pull_request_guidelines.md @@ -0,0 +1,57 @@ +# Pull Request & Code Review Guidelines + +이 문서는 이 프로젝트의 Pull Request(PR) 작성 및 코드 리뷰 시 지켜야 할 규칙과 포맷을 정의합니다. +기여자와 리뷰어 모두가 **효율적이고 일관된 협업**을 할 수 있도록 도움을 줍니다. + +## ✅ PR 작성 포맷 + +PR을 생성할 때는 아래 형식을 따라 주세요: + +```md +## #️⃣ Issue Number + +- 예시: #32 + +## 📝 요약(Summary) + + +- 예시: 브랜치 전략 가이드라인 문서 추가 +- 프로젝트 내 컨트리뷰션 흐름 정리를 위한 작업 +- 신규 기여자 onboarding 시 참고 문서로 활용 예정 + +## 💬 To Reviewers (선택) + +- 예시: 문서 구조나 용어 선택이 자연스러운지 확인 부탁드립니다. + +## PR Checklist + +- [x] 변경 사항에 대한 테스트 또는 검증 완료 +- [x] 로컬에서 정상 동작 확인 +- [ ] 관련 문서 업데이트 완료 +``` + +## 🔍 Code Review Emoji Rules + +리뷰어는 아래의 **이모지 규칙**에 따라 피드백을 남겨주세요. +서로의 의도를 명확히 전달하는 데 도움이 됩니다. + +| 이모지 | 의미 | 사용 예시 | +|--------|------|-----------| +| 👍 | **칭찬** (Good Job) | 구조가 깔끔하고 읽기 쉬운 코드입니다! | +| ❗ | **필수 수정** (Required) | 이 부분은 예외 처리가 필요해 보여요. 꼭 수정해주세요. | +| ❓ | **질문** (Clarify) | 이 로직이 이런 방식으로 구성된 이유가 있을까요? | +| 💊 | **제안** (Optional Suggestion) | 이 부분은 `map` 대신 `flatMap`도 고려해볼 수 있을 것 같아요. | + +## 🔁 리뷰 프로세스 + +1. PR 생성자는 **2명 이상의 리뷰어**를 지정합니다. +2. 리뷰어는 위의 이모지 규칙에 따라 피드백을 남깁니다. +3. 리뷰어 전원이 ❗ 항목을 해소한 후 👍 또는 승인(approve)을 남기면 병합 가능합니다. +4. 병합 전에는 가급적 `master` 브랜치를 기준으로 최신 상태로 유지해주세요. + +## 📌 기타 권장 사항 + +- 커밋 메시지는 명확하고 목적 중심적으로 작성해주세요. + - 예: `docs: add branch guidelines documentation` +- 하나의 PR에는 가능한 한 **의미 있는 단위의 작업**만 포함해주세요. +- 기능 단위 커밋 → PR 단위 리뷰 → 병합이라는 흐름을 지켜주세요.