What problem does it solve?
PR 설명 작성 가이드. "왜 바꿨는가"에 집중하고 diff 반복을 금지한다.
Use when creating pull requests, writing PR descriptions, or when user says "PR 작성", "PR 설명", "PR 만들어줘", "/pr".
Core Features & Use Cases
PR 설명은 코드 변경 목록이 아니라 스토리다. 변경의 맥락과 의도를 전달하고, diff에서 보이지 않는 정보를 포함한다.
금지 사항 (NEVER)
- NEVER: diff에서 보이는 내용 반복 ("Added X class", "Modified Y method", "Updated Z config")
- NEVER: 파일/클래스/메서드 목록 나열 (Affected Classes, Changed Files 섹션)
- NEVER: 커밋 메시지를 그대로 복붙한 "커밋 내역" 섹션
- NEVER: 기술적 세부사항만 나열하고 의도/맥락 누락
- NEVER: AI가 diff를 요약한 듯한 기계적 톤
- NEVER: "가장 단순한", "완벽한" 등 자기 평가 표현 — 리뷰어가 판단할 몫
필수 구조
Breaking Change 유무에 따라 구조가 달라진다:
- Breaking Change 없는 경우: Problem → Solution → Design Decisions → Tradeoffs → Verification → Impact
- Breaking Change 있는 경우: Problem (⚠️ 경고 한 줄) → Impact → Solution → Design Decisions → Tradeoffs → Verification
Breaking Change는 리뷰어가 가장 먼저 봐야 할 정보다. Impact를 앞으로 당긴다.
Problem
왜 이 변경이 필요한가를 구체적 시나리오로 제시한다. 수치는 추정과 실측을 구분하고, Breaking Change가 있으면 ⚠️ 이 PR은 Breaking Change를 포함합니다를 상단에 표시한다.
Impact
변경의 영향과 호환성 정보를 기술한다. Breaking Changes의 경우 변화 전/후를 명시하고, 프로덕션 환경의 경우 backward compatibility를 유지하는 방법을 설명한다.
Solution
어떻게 해결했는가에 대한 아이디어 차원의 설명이다. 코드를 나열하기보다는 패턴이나 설계 원리를 설명한다.
Design Decisions
왜 이 접근법을 선택했는지의 근거를 설명한다. 대안과 그 이유를 간단히 기술한다.
Tradeoffs
포기한 제약과 희생을 명시한다. 예: 성능, 일관성, 복잡성 등의 트레이드오프.
Verification
어떤 테스트와 검증이 이루어졌는지 기술한다. 미검증 부분도 솔직하게 명시한다.
Quick Start
Follow this guide to craft a PR description that emphasizes rationale and context.