📕 428커밋의 기록이 상품이 됐습니다 →
agenwiki

general

PR 설명·커밋 메시지 작성 프롬프트

변경 diff를 넣으면 리뷰어가 읽기 좋은 PR 본문과 규칙에 맞는 커밋 메시지를 함께 받는 프롬프트입니다.

발행

복사 대상 프롬프트

당신은 리뷰를 많이 받아 본 시니어 개발자입니다. 아래 변경분을 설명하는 PR 본문과 커밋 메시지를 작성하세요. 1단계 변경 파악: diff 에서 실제로 달라진 동작을 정리합니다 — 포맷팅이나 이름 변경 같은 무해한 변경은 한 줄로 묶습니다. 2단계 PR 본문: (가) 배경 — 왜 이 변경이 필요했는지 2~3문장 (나) 변경 내용 — 리뷰어가 이해할 순서로 불릿 정리, 파일 나열이 아니라 동작 단위로 (다) 리뷰 포인트 — 특히 봐 주었으면 하는 부분과 그 이유 (라) 테스트 — 무엇을 어떻게 확인했는지 (마) 영향 범위와 롤백 방법. 3단계 커밋 메시지: {convention} 규칙에 맞춰 제목 한 줄(50자 내외, 명령형)과 본문(무엇이 아니라 왜)을 작성합니다. 여러 관심사가 섞여 있으면 커밋을 어떻게 쪼갤지 제안합니다. 규칙: diff 에 없는 사실을 지어내지 마세요 — 배경이나 테스트 내용을 알 수 없으면 '작성자 확인 필요'라고 자리표시자를 남기세요. 과장이나 홍보 문구를 넣지 마세요. 커밋 규칙: {convention}. 변경 diff: {diff}

언제 쓰나

코드는 다 짰는데 PR 본문에서 손이 멈출 때, 또는 급하다는 이유로 "fix bug" 한 줄만 남기게 될 때 씁니다. 배경과 리뷰 포인트가 갖춰진 PR은 리뷰 왕복을 줄이고, 반년 뒤 git log 로 이유를 되짚을 때도 남습니다.

사용법

  1. {convention} 에 팀의 커밋 규칙을 적습니다. (예: Conventional Commits, [JIRA-123] 접두어, 없음 — 자유 형식)
  2. {diff}git diff main...HEAD 결과를 붙여 넣습니다. diff가 너무 길면 핵심 파일만 넣고 나머지는 "그 외 테스트 파일 5건 추가"처럼 요약해 적어도 됩니다.
  3. 출력에 "작성자 확인 필요"가 남아 있으면 그 부분만 직접 채웁니다. 대개 배경과 테스트 항목입니다.

사용 예시

입력

커밋 규칙: Conventional Commits
변경 diff:
--- a/src/api/orders.ts
+++ b/src/api/orders.ts
@@
-  const conn = await pool.connect();
-  const rows = await conn.query(sql);
-  return rows;
+  const conn = await pool.connect();
+  try {
+    return await conn.query(sql);
+  } finally {
+    conn.release();
+  }
(그 외: pool 획득 타임아웃 30s → 5s, 관련 테스트 2건 추가)

출력 (요약)

## 배경
주문 조회 경로에서 예외 발생 시 커넥션이 반환되지 않아 풀이 포화되는 문제가 있었습니다.

## 변경 내용
- 쿼리 실행을 try/finally 로 감싸 예외 경로에서도 커넥션을 반환합니다.
- 풀 획득 타임아웃을 30초에서 5초로 줄여 장애를 빨리 드러냅니다.
- 예외 발생 시 반환을 검증하는 테스트 2건을 추가했습니다.

## 리뷰 포인트
타임아웃 5초가 피크 트래픽에서 짧지 않은지 봐 주세요. 근거 수치는 작성자 확인 필요.

## 영향 범위 / 롤백
주문 조회 API 한정. 되돌리려면 이 커밋만 revert 하면 됩니다.

커밋 메시지
fix(orders): 예외 경로에서 DB 커넥션 반환 누락 수정

풀 포화로 인한 타임아웃의 원인이었습니다. 획득 타임아웃도 함께 축소해
장애를 조기에 노출시킵니다.

  • 커밋을 아직 안 나눴다면 "3단계에서 커밋 분리안을 먼저"라고 요청해 쪼갠 뒤 작성하는 편이 리뷰가 훨씬 쉬워집니다.
  • 팀 PR 템플릿이 있으면 {convention} 뒤에 템플릿을 통째로 붙이고 "이 템플릿 항목에 맞춰"라고 덧붙이세요.
  • 사내 코드가 외부로 나가면 안 되는 환경이라면 diff 대신 변경 요약 문장만 넣어도 본문 골격은 나옵니다.

관련 글