.coderabbit.yaml이란?
.coderabbit.yaml은 CodeRabbit의 동작 방식을 설정하는 파일입니다. 리포지토리 최상단(루트)에 이 파일을 추가하면 리뷰 언어, 리뷰 대상 브랜치, 무시할 파일, 리뷰 꼼꼼함 수준 등을 팀 상황에 맞게 조정할 수 있습니다.
설정 파일이 없어도 CodeRabbit은 기본값으로 동작하지만, 팀의 워크플로우에 맞게 설정해 두면 불필요한 리뷰 노이즈를 줄이고 더 유용한 피드백을 받을 수 있습니다.
기본 설정
리포지토리 루트에 .coderabbit.yaml 파일을 만들고 아래 내용을 추가하세요.
# .coderabbit.yaml
language: ko-KR
reviews:
auto_review:
enabled: true
drafts: false
base_branches:
- main
- develop이것만으로도 기본적인 설정은 끝납니다. 각 항목이 무엇을 의미하는지 하나씩 살펴보겠습니다.
language — 리뷰 언어
language: ko-KRCodeRabbit이 남기는 리뷰 코멘트의 언어를 지정합니다. ko-KR로 설정하면 PR 요약, 코드 리뷰, 워크스루 등 모든 피드백을 한국어로 받을 수 있습니다. 설정하지 않으면 기본값은 영어(en-US)입니다.
auto_review — 자동 리뷰
reviews:
auto_review:
enabled: true
drafts: false
base_branches:
- main
- develop| 항목 | 설명 | 기본값 |
|---|---|---|
enabled |
PR이 올라오면 자동으로 리뷰를 시작할지 여부 | true |
drafts |
Draft 상태인 PR도 리뷰할지 여부. 아직 작업 중인 PR에 리뷰가 달리는 게 부담스럽다면 false로 두세요 |
true |
base_branches |
어떤 브랜치로 머지하는 PR을 리뷰할지 지정. 여기 적힌 브랜치가 PR의 base branch일 때만 리뷰가 동작합니다 | 모든 브랜치 |
예를 들어 base_branches에 main만 적으면, feature/xxx → develop PR에는 리뷰가 달리지 않고 develop → main PR에만 리뷰가 달립니다. 팀의 브랜치 전략에 맞게 설정하세요.
리뷰 프로필
CodeRabbit이 얼마나 꼼꼼하게 리뷰할지 수준을 조정할 수 있습니다.
reviews:
profile: assertive # chill | assertive | strict| 프로필 | 설명 |
|---|---|
chill |
버그나 보안 이슈 같은 중요한 문제만 짚어줍니다. 리뷰 코멘트가 많은 게 부담스러운 팀에 적합합니다 |
assertive |
중요한 이슈와 함께 코드 품질 개선 제안도 포함합니다. 대부분의 팀에 무난한 선택입니다 (기본값) |
strict |
네이밍, 스타일, 잠재적 엣지 케이스까지 세세하게 짚어줍니다. 코드 품질 기준이 높은 팀에 적합합니다 |
처음에는 chill부터 시작해서 팀이 적응하면 점차 올려가는 것을 추천합니다. 처음부터 strict로 설정하면 리뷰 코멘트가 너무 많아 오히려 피로감을 느낄 수 있습니다.
파일 필터링
리뷰가 필요 없는 파일은 path_filters로 제외할 수 있습니다. 패턴 앞에 !를 붙이면 해당 파일이 리뷰 대상에서 빠집니다.
reviews:
path_filters:
- "!**/*.test.ts"
- "!**/*.spec.ts"
- "!**/*.test.tsx"
- "!**/generated/**"
- "!**/__snapshots__/**"
- "!package-lock.json"
- "!yarn.lock"
- "!pnpm-lock.yaml"자동 생성되는 파일(lock 파일, 코드 제너레이터 출력물 등)이나 테스트 파일처럼 AI 리뷰 효과가 적은 파일을 제외하면 리뷰 품질이 높아지고 처리 시간도 줄어듭니다.
반대로 ! 없이 패턴을 적으면 해당 파일만 리뷰 대상에 포함됩니다.
reviews:
path_filters:
- "src/**" # src 하위 파일만 리뷰
- "!src/**/*.test.ts" # 그중 테스트 파일은 제외커스텀 리뷰 가이드라인
팀의 코딩 컨벤션을 CodeRabbit에게 직접 알려줄 수 있습니다. 여기에 적은 규칙을 기반으로 코드를 리뷰하기 때문에, 팀 내부의 암묵적인 규칙도 자동으로 체크할 수 있게 됩니다.
reviews:
tools:
guidelines:
- "함수명과 변수명은 camelCase를 사용한다"
- "React 컴포넌트 파일명은 PascalCase를 사용한다"
- "에러가 발생할 수 있는 곳에는 반드시 try-catch로 처리한다"
- "API 응답 데이터는 항상 TypeScript 타입을 정의한다"
- "매직 넘버는 상수로 분리한다"
- "console.log는 프로덕션 코드에 남기지 않는다"가이드라인은 자연어로 작성하면 됩니다. 한국어, 영어 모두 가능하며, CodeRabbit이 코드 리뷰 시 이 규칙들을 참고해서 위반 사항을 알려줍니다.
채팅 설정
PR 코멘트를 통해 CodeRabbit과 대화할 때의 동작을 설정할 수 있습니다.
chat:
auto_reply: trueauto_reply를 true로 설정하면 리뷰 코멘트에 답글을 달았을 때 CodeRabbit이 자동으로 응답합니다. 질문을 하거나 반론을 제기하면 해당 맥락에 맞게 답변해 줍니다.
전체 설정 예시
아래는 한국어 팀을 위한 추천 설정입니다. 이대로 복사해서 사용하고, 팀 상황에 맞게 조금씩 수정해 보세요.
# .coderabbit.yaml — 한국어 팀 추천 설정
language: ko-KR
reviews:
auto_review:
enabled: true
drafts: false
base_branches:
- main
- develop
profile: assertive
path_filters:
- "!**/*.test.ts"
- "!**/*.test.tsx"
- "!**/*.spec.ts"
- "!**/generated/**"
- "!**/__snapshots__/**"
- "!package-lock.json"
- "!yarn.lock"
- "!pnpm-lock.yaml"
tools:
guidelines:
- "함수명과 변수명은 camelCase를 사용한다"
- "React 컴포넌트 파일명은 PascalCase를 사용한다"
- "에러 처리 시 반드시 사용자에게 피드백을 제공한다"
- "API 응답 데이터는 항상 TypeScript 타입을 정의한다"
- "console.log는 프로덕션 코드에 남기지 않는다"
chat:
auto_reply: true설정을 바꾼 뒤에는
설정 파일을 수정한 뒤에는 실제로 PR을 올려서 리뷰 결과를 확인해 보는 것이 가장 좋습니다.
git add .coderabbit.yaml
git commit -m "chore: update CodeRabbit configuration"
git push origin main설정이 main 브랜치에 반영되면, 이후 올라오는 PR부터 새 설정이 적용됩니다.
더 자세한 설정 옵션은 CodeRabbit 공식 문서에서 확인할 수 있습니다.