Skip to content

Repository Config

김준혁 edited this page Aug 14, 2026 · 6 revisions

설정

  • 이 페이지는 설정 파일의 전체 항목을 다루는 레퍼런스입니다.
  • 리포지토리 루트에 설정 파일을 두면 리뷰 방식을 팀에 맞게 바꿀 수 있습니다.
  • 봇은 파일이 없어도 기본값으로 동작하므로, 필요할 때만 활용하세요.

파일 위치

봇은 아래 네 곳을 순서대로 찾아 먼저 발견된 파일 하나만 사용합니다. 여러 개를 두더라도 나중에 발견된 파일은 무시됩니다.

  1. .reviewbot/config.yml
  2. .reviewbot/config.yaml
  3. .reviewbot.yml
  4. .reviewbot.yaml

예시

language: ko
temperature: 0.2
maxOutputTokens: 16384

maxFiles: 40
maxFileChars: 24000
maxPromptChars: 140000

exclude:
  - '**/*.generated.ts'
  - 'docs/**'

autoReview: true
minSeverity: minor
maxInlineComments: 25
triggerPrefix: '/review'

전부 적을 필요는 없습니다. 적은 항목만 바뀌고 나머지는 기본값이 적용됩니다.

기본값 한눈에 보기

항목 타입 기본값
minSeverity 열거형 minor
maxInlineComments 숫자 25
exclude 문자열 배열 아래 참고
include 문자열 배열 [] (제한 없음)
autoReview 불리언 true
triggerPrefix 문자열 /review
language 문자열 ko
maxFiles 숫자 40
maxFileChars 숫자 24000
maxPromptChars 숫자 140000
maxOutputTokens 숫자 16384
temperature 숫자 0.2

리뷰 강도

minSeverity

minSeverity는 이 값 미만의 심각도는 코멘트하지 않도록 하는 항목이며, 기본값은 minor입니다.

심각도는 높은 순서로 criticalmajorminornit입니다.

maxInlineComments

maxInlineComments는 인라인으로 다는 코멘트의 최대 개수를 지정하는 항목이며, 기본값은 25입니다.

심각도 순으로 이 개수만큼만 인라인으로 달립니다. 다만 넘친 지적을 버리는 것이 아니라, 요약 코멘트의 접기 블록에 목록으로 남깁니다.

리뷰 범위

exclude · include

excludeinclude동작 방식이 서로 다르므로 구분해서 사용해야 합니다.

둘 다 glob 패턴 배열이며, 경로는 리포지토리 루트 기준이고 .로 시작하는 숨김 파일에도 매칭됩니다.

동작
exclude 적은 패턴이 기본 목록에 추가된다
include 적으면 기본값([])을 대체한다

include를 적으면 거기에 매칭되는 파일만 리뷰 대상이 되며, 비워두면 제한이 없습니다.

둘 다 지정한 경우 include를 통과한 뒤 exclude에 걸리는 파일은 제외됩니다. 즉 exclude가 우선합니다.

기본 exclude 목록은 다음과 같으며, 여기 있는 항목은 다시 적을 필요가 없고 없앨 수도 없습니다.

**/node_modules/**  **/dist/**  **/build/**  **/out/**  **/.next/**
**/coverage/**  **/vendor/**  **/*.min.js  **/*.map  **/*.snap
**/*.lock  **/package-lock.json  **/pnpm-lock.yaml  **/yarn.lock
**/*.png  **/*.jpg  **/*.jpeg  **/*.gif  **/*.svg  **/*.ico
**/*.pdf  **/*.woff*

패턴과 무관하게 **바이너리 파일과 삭제된 파일은 항상 제외됩니다.

maxFiles

maxFiles는 리뷰할 최대 파일 수를 지정하는 항목이며, 기본값은 40입니다.

제외 규칙을 통과한 파일을 변경량이 큰 순서로 정렬한 뒤 앞에서부터 이 개수만큼만 리뷰 대상으로 가져갑니다.

잘린 파일 수는 리뷰 요약 하단에 (N개 제외)로 표시됩니다.

maxFileChars

maxFileChars는 파일 하나의 diff를 프롬프트에 넣을 때의 최대 문자 수이며, 기본값은 24000입니다.

이 값을 넘는 파일은 뒷부분이 잘린 채로 들어갑니다. 큰 파일의 뒷부분이 리뷰되지 않는다면 이 값을 올리시기 바랍니다.

maxPromptChars

maxPromptChars는 한 번의 모델 호출에 실어 보낼 최대 문자 수이며, 기본값은 140000입니다(코드 기준 대략 4만 토큰).

이 값은 다음 두 군데에 쓰입니다.

  • 청크 분할 기준: diff가 이 값의 절반을 넘으면 파일 단위로 쪼개어 **여러 번 호출합니다. ** 청크가 2개면 리뷰 시간과 토큰 사용량도 대략 2배가 됩니다.

  • 최종 절단: 한 번의 호출에서 diff 부분은 이 값의 85% 지점에서 잘립니다.

리뷰가 자주 실패한다면 이 값을 줄이는 것이 맞습니다.

트리거

autoReview

autoReview는 PR이 열리거나 커밋이 밀렸을 때 자동으로 리뷰할지를 결정하는 항목이며, 기본값은 true입니다.

false로 두면 /review로 호출할 때만 리뷰가 실행됩니다.

triggerPrefix

triggerPrefix는 리뷰를 호출하는 코멘트 명령이며, 기본값은 /review입니다.

triggerPrefix: '/gsml-code-review-bot review'

**/로 시작하는 값만 사용할 수 있습니다.

모델 · 출력

이 아래 항목들은 보통 건드리지 않습니다.

language

language는 리뷰 코멘트의 언어를 지정하는 항목이며, 기본값은 ko입니다.

ko · en · ja · zh는 각각 한국어 · English · 日本語 · 中文으로 풀어서 전달되고, 그 외의 값은 적은 문자열 그대로 전달됩니다(Português처럼 적어도 동작합니다).

코드 · 식별자 · 에러 메시지는 언어 설정과 무관하게 원문 그대로 유지됩니다.

temperature

temperature의 기본값은 0.2입니다. 리뷰는 창의성보다 일관성이 중요하므로 낮게 설정되어 있으며, 값을 올려야 할 이유는 거의 없습니다.

maxOutputTokens

maxOutputTokens는 모델이 한 번에 출력할 수 있는 토큰 수이며, 기본값은 16384입니다.

이 모델은 추론을 끌 수 없고, 추론에 쓰인 토큰도 이 예산에 함께 포함됩니다. 값이 부족하면 응답이 JSON을 다 쓰지 못한 채 잘려 리뷰가 실패하므로, 줄이는 것은 권장하지 않습니다.

설정할 수 없는 값

서버 쪽에서 특정 항목을 고정해 둘 수 있으며, 이 경우 리포지토리 설정보다 서버 설정이 우선합니다. 설정을 분명히 적었는데도 반영되지 않는다면 이 경우일 수 있습니다.

고정 대상 model · baseUrl 입니다. 나머지 항목(minConfidence · maxInlineComments · exclude · include 등)은 항상 리포지토리 설정이 적용됩니다.