CodeRabbitの設定項目一覧を翻訳しました

[CodeRabbit](https://www.coderabbit.ai/)はAIコードレビューサービスです。GitHubやGitLabと連携して、プルリクエスト（PR）に対して自動的にレビューを実行します。

設定はダッシュボードでも可能ですが、各リポジトリに対して `.coderabbit.yml` ファイルを配置して設定も可能です。設定は[Add a configuration file \| CodeRabbit](https://docs.coderabbit.ai/getting-started/configure-coderabbit/)にある通りですが、英語なので分かりづらいかも知れません。

そこで、2025年05月現在可能な設定項目について、日本語でまとめておきます。設定の参考にしてください。

## 設定できる内容について

設定できる項目は[こちらのJSONスキーマ](https://www.coderabbit.ai/integrations/schema.v2.json)でも確認できます。 `definitions.schema.properties` 以下がYAMLのキーになります。

## language

文字列で指定します。ISOコード形式で指定します。日本語の場合は `ja` または `ja-JP` としてください。デフォルトは `en-US` です。

## tone_instructions

レビューのトーンを指定します（最大250文字）。デフォルトは空文字です。たとえば `必ずダースベーダー調の話し方にしてください。` などと指定します。

## early_access

早期アクセス機能を有効にする場合、 `true` を指定します。デフォルトは `false` です。

## enable_free_tier

無課金ユーザーに対して、無料プランの機能を有効にする場合に `true` を指定します。デフォルトは `true` です。

## reviews

レビューキー以下はさらにオブジェクトです。

### profile

レビュー用のプロフィールを設定設定します。 `chill` または `assertive` のいずれかを指定します。デフォルトは `chill` です。 `chill` はリラックスしたトーンで、 `assertive` はよりアグレッシブに満ちたトーンでレビューを行います。

### request_changes_workflow

CodeRabbitのコメントが解決したらレビューを承認するかどうか設定します。デフォルトは `false` です。

### high_level_summary

PRの中に、変更に関する高レベルの要約を入れるかどうか設定します。デフォルトは `true` です。

### high_level_summary_placeholder

PRの中で、高レベルの要約に置き換わる部分を指定します。デフォルトは `@coderabbitai summary` です。

### high_level_summary_in_walkthrough

高レベルの要約をウォークスルーに含めるかどうか設定します。デフォルトは `false` です。

### auto_title_placeholder

PRのタイトルに指定したキーワードを追加すると、タイトルが自動生成されます。デフォルトは `@coderabbitai` です。

### auto_title_instructions

タイトルを自動生成するための指示を設定します。デフォルトはありません。

### review_status

各レビューに、レビューの詳細をポストします。さらに特定のケースにおいてレビューがスキップされた場合、レビューのステータスをポストします。デフォルトは `true` です。

### commit_status

レビュー中の時にはコミットステータスを `pending` に、レビューが完了したら `success` に設定します。デフォルトは `true` です。

### fail_commit_status

レビューが失敗、またはできない場合にはコミットステータスを `failure` に設定します。デフォルトは `false` です。

### collapse_walkthrough

ウォークスルーを折りたためる状態で生成するかどうか設定します。デフォルトは `false` です。

### changed_files_summary

変更されたファイルの要約を生成するかどうか指定します。デフォルトは `true` です。

### sequence_diagrams

ウォークスルーにシーケンス図を含めるかどうか設定します。デフォルトは `true` です。

### assess_linked_issues

変更内容がウォークスルーで指摘された課題とどれくらい対応しているかを評価するかどうか設定します。デフォルトは `true` です。

### related_issues

ウォークスルーにて、関連する課題を表示するかどうか設定します。デフォルトは `true` です。

### related_prs

ウォークスルーにて、関連するプルリクエストを表示するかどうか設定します。デフォルトは `true` です。

### suggested_labels

ウォークスルーにて、ラベルを提案するかどうか設定します。デフォルトは `true` です。

### auto_apply_labels

PRに対して、自動的にラベルを付与するかどうか設定します。デフォルトは `false` です。

### suggested_reviewers

レビュアーの提案を行うかどうか設定します。デフォルトは `true` です。

### auto_assign_reviewers

自動的にレビュアーを割り当てるかどうか設定します。デフォルトは `false` です。

### poem

ウォークスルーの最後にポエムを追加するかどうか設定します。デフォルトは `true` です。

### labeling_instructions

ラベル指示は、以下の配列になります。

#### label

具体的なラベル名。たとえば `bug` や `enhancement` 、 `frontend` など。

#### instructions

300文字以下。たとえば `Reactコンポーネントに関する変更を含む場合` など。

### path_filters

文字列の配列です。ここで指定したパターンは、レビュー時にリポジトリのクローンを作成する際に利用されます。 `!` で始まるパターンは除外されます。たとえば、 `!docs/**` と指定すると、 `docs` ディレクトリ以下は除外されます。逆に `src/**` と指定すると、 `src` ディレクトリ以下はレビュー対象になります。

### path_instructions

パスインストラクションは、以下の配列になります。

#### path

ファイルパスのパターン。たとえば `src/**` や `docs/**` など。

#### instructions

2,000文字以下の文字列で、パスに対するレビューガイドラインを詳細に指示します。

### abort_on_close

PRがクローズ・マージされた場合にレビューを中止するかどうか設定します。デフォルトは `true` です。

### disable_cache

キャッシュの無効化について指定します。デフォルトは `false` です。キャッシュを無効化すると、毎回コードと依存関係をダウンロードします。

### auto_review

自動レビュー以下は、以下のキーがあります。

#### enabled

自動コードレビューを有効にします。デフォルトは `true` です。

#### auto_incremental_review

自動インクリメンタルレビューを有効にします。デフォルトは `true` です。

#### ignore_title_keywords

文字列の配列です。ここで指定したキーワードがあると、レビューはスキップされます。大文字小文字は区別されません。

#### labels

文字列の配列です。指定されたラベルがある場合のみ、自動レビューが実行されます。

#### drafts

ドラフトのプルリクエストに対しても自動レビューを実行するかどうか設定します。デフォルトは `false` です。

#### base_branches

文字列の配列。レビューするベースのブランチを指定します。正規表現が利用できます。

### finishing_touches

`finishing_touches` 以下は、以下のキーがあります。

#### docstrings

PRに対して、ドキュメンテーション文字列を生成するかどうか設定します。デフォルトは `true` です。

#### unit_tests

PRに対して、ユニットテストを生成するかどうか設定します。デフォルトは `true` です。

### tools

#### ast-grep

`ast-grep` 以下は、以下のキーがあります。

- rule_dirs  
文字列の配列です。ルールディレクトリのリストが指定できます。
- util_dirs  
文字列の配列です。ユーティリティディレクトリのリストが指定できます。
- essential_rules  
ast-grepに必須のパッケージを利用するかどうか指定します。デフォルトは `true` です。
- packages
文字列の配列です。利用するパッケージのリストを指定します。

#### shellcheck

ShellCheckはシェルスクリプトのバグを見つける静的解析ツールです。 `shellcheck` 以下は、以下のキーがあります。

- enabled  
  ShellCheckを有効にするかどうか設定します。デフォルトは `true` です。

#### ruff

RuffはPythonのLinter/コードフォーマッタです。 `ruff` 以下は、以下のキーがあります。

- enabled  
  Ruffを有効にするかどうか設定します。デフォルトは `true` です。

#### markdownlint

markdownlint-cli2を利用します。markdownlint-cli2は、Markdownファイル向けの静的解析ツールで、Markdown標準と一貫性を強制します。 `markdownlint` 以下は、以下のキーがあります。

- enabled  
markdownlintを有効にするかどうか設定します。デフォルトは `true` です。

#### github-checks

GitHub 統合設定をチェックします。 `github-checks` 以下は、以下のキーがあります。

- enabled  
GitHubチェックを有効にするかどうか設定します。デフォルトは `true` です。
- timeout_ms  
GitHubチェックのタイムアウト時間をミリ秒単位で指定します（0以上、900000以下）。デフォルトは `90000` です。

#### languagetool

LanguageToolの利用について設定します。LanguageToolは30以上の言語に対応したスタイルと文法のチェッカーです。 `languagetool` 以下は、以下のキーがあります。

- enabled  
  LanguageToolを有効にするかどうか設定します。デフォルトは `true` です
- enabled_rules  
  文字列の配列です。LanguageToolで有効にするルールのIDを指定します
- disabled_rules  
  文字列の配列です。LanguageToolで無効にするルールのIDを指定します
- enabled_categories  
  文字列の配列です。LanguageToolで有効にするカテゴリのIDを指定します
- disabled_categories  
  文字列の配列です。LanguageToolで無効にするカテゴリのIDを指定します
- enabled_only  
  `enabled_rules` と `enabled_categories` で指定されたルールとカテゴリのみを有効にします。デフォルトは `false` です
- level  
  `default` または `picky` のいずれかを指定します。 `default` はデフォルトのルールセットを使用し、 `picky` は追加のルールが有効になります。デフォルトは `default` です

#### biome

BiomeはWebプロジェクトのための高速なフォーマッタ、Linter、そしてアナライザです。 `biome` 以下は、以下のキーがあります。

- enabled  
  Biomeを有効にするかどうか設定します。デフォルトは `true` です

#### hadolint

HadolintはDockerfileの静的解析ツールです。 `hadolint` 以下は、以下のキーがあります。

- enabled  
  Hadolintを有効にするかどうか設定します。デフォルトは `true` です

#### swiftlint

SwiftLintはSwiftコードのスタイルと規約をチェックするツールです。 `swiftlint` 以下は、以下のキーがあります。

- enabled  
  SwiftLintを有効にするかどうか設定します。デフォルトは `true` です
- config_file  
  SwiftLintの設定ファイルの、リポジトリからのパスを指定します。設定ファイルの名前がデフォルトの `.swiftlint.(yml|yaml)` と異なる場合に指定します

#### phpstan

PHPStanはPHPの静的解析ツールです。 `phpstan` 以下は、以下のキーがあります。

- enabled  
  PHPStanを有効にするかどうか設定します。デフォルトは `true` です
- level  
  PHPStanのレベルを指定します。`default` か `max` または `0` から `9` の整数値で、デフォルトは `default` です。レベルについては[PHPStanのドキュメント](https://phpstan.org/user-guide/rule-levels)を参照してください

#### golangci-lint

GolangCI-LintはGo言語のための静的解析ツールです。 `golangci-lint` 以下は、以下のキーがあります。

- enabled  
  GolangCI-Lintを有効にするかどうか設定します。デフォルトは `true` です
- config_file  
  GolangCI-Lintの設定ファイルの、リポジトリからのパスを指定します。設定ファイルの名前がデフォルトの `.golangci.(yml|yaml|toml|json)` と異なる場合に指定します

#### yamllint

YAMLファイルの静的解析ツールです。 `yamllint` 以下は、以下のキーがあります。

- enabled  
  Yamllintを有効にするかどうか設定します。デフォルトは `true` です

#### gitleaks

GitleaksはGitリポジトリ内の機密情報を検出するツールです。 `gitleaks` 以下は、以下のキーがあります。

- enabled  
  Gitleaksを有効にするかどうか設定します。デフォルトは `true` です

#### checkov

CheckovはIaCのセキュリティとコンプライアンスをチェックするツールです。 `checkov` 以下は、以下のキーがあります。

- enabled  
  Checkovを有効にするかどうか設定します。デフォルトは `true` です

#### detekt

DetektはKotlinコードの静的解析ツールです。 `detekt` 以下は、以下のキーがあります。

- enabled  
  Detektを有効にするかどうか設定します。デフォルトは `true` です
- config_file
  Detektの設定ファイルの、リポジトリからのパスを指定します

#### eslint

EslintはJavaScriptやTypeScriptのための静的解析ツールです。 `eslint` 以下は、以下のキーがあります。

- enabled  
  Eslintを有効にするかどうか設定します。デフォルトは `true` です

#### rubocop

RubocopはRubyコードの静的解析ツールです。 `rubocop` 以下は、以下のキーがあります。

- enabled  
  Rubocopを有効にするかどうか設定します。デフォルトは `true` です

#### buf

BufはProtocol Buffersのための静的解析ツールです。 `buf` 以下は、以下のキーがあります。

- enabled  
  Bufを有効にするかどうか設定します。デフォルトは `true` です

#### regal

RegalはRegoのための静的解析ツールです。 `regal` 以下は、以下のキーがあります。

- enabled  
  Regalを有効にするかどうか設定します。デフォルトは `true` です

#### actionlint

ActionlintはGitHub Actionsのための静的解析ツールです。 `actionlint` 以下は、以下のキーがあります。

- enabled  
  Actionlintを有効にするかどうか設定します。デフォルトは `true` です

#### pmd

PMDはJavaや他の言語のための静的解析ツールです。 `pmd` 以下は、以下のキーがあります。

- enabled  
  PMDを有効にするかどうか設定します。デフォルトは `true` です
- config_file
  PMDの設定ファイルの、リポジトリからのパスを指定します

#### cppcheck

CppcheckはC/C++コードの静的解析ツールです。 `cppcheck` 以下は、以下のキーがあります。

- enabled  
  Cppcheckを有効にするかどうか設定します。デフォルトは `true` です

#### semgrep

Semgrepはコードの静的解析ツールです。 `semgrep` 以下は、以下のキーがあります。

- enabled  
  Semgrepを有効にするかどうか設定します。デフォルトは `true` です
- config_file
  Semgrepの設定ファイルの、リポジトリからのパスを指定します

#### circleci

CircleCI toolを使って、CircleCIの設定をチェックします。 `circleci` 以下は、以下のキーがあります。

- enabled  
  CircleCI toolを有効にするかどうか設定します。デフォルトは `true` です

#### sqlfluff

SQLFluffはSQLコードの静的解析ツールです。 `sqlfluff` 以下は、以下のキーがあります。

- enabled  
  SQLFluffを有効にするかどうか設定します。デフォルトは `true` です

#### prismaLint

Prismaのための静的解析ツールです。 `prismaLint` 以下は、以下のキーがあります。

- enabled  
  PrismaLintを有効にするかどうか設定します。デフォルトは `true` です

#### oxc

OxcはRustで書かれたJavaScript/TypeScriptの静的解析ツールです。 `oxc` 以下は、以下のキーがあります。

- enabled  
  Oxcを有効にするかどうか設定します。デフォルトは `true` です

#### shopifyThemeCheck

Shopifyのテーマファイルの静的解析ツールです。 `shopifyThemeCheck` 以下は、以下のキーがあります。

- enabled  
  ShopifyThemeCheckを有効にするかどうか設定します。デフォルトは `true` です

#### luacheck

Luaのための静的解析ツールです。 `luacheck` 以下は、以下のキーがあります。

- enabled  
  Luacheckを有効にするかどうか設定します。デフォルトは `true` です

## chat

`chat` 以下は、以下のキーがあります。

### auto_reply

ユーザーがタグ付けしなくとも、自動返信できるか設定します。デフォルトは `true` です。

### integrations

`integrations` 以下は、以下のキーがあります。

#### jira

Jiraとの統合時に利用する設定です。

- usage  
  Jiraの利用方法を指定します。 `auto` または `enabled` 、 `disabled` のいずれかを指定します。デフォルトは `auto` です。 `auto` は、公開リポジトリとの連携は無効になります。

#### linear

Linearとの統合時に利用する設定です。

- usage  
  Linearの利用方法を指定します。 `auto` または `enabled` 、 `disabled` のいずれかを指定します。デフォルトは `auto` です。 `auto` は、公開リポジトリとの連携は無効になります

## knowledge_base

`knowledge_base` 以下は、以下のキーがあります。

### opt_out

データ保持を必要とするすべてのナレッジベース機能を無効にするか設定します。デフォルトは `false` です。設定を `true` にすると、既存のナレッジベースは削除されます。

### web_search

`web_search` 以下は、以下のキーがあります。

- enabled  
  Web検索を有効にするかどうか設定します。デフォルトは `true` です

### learnings

`learnings` 以下は、以下のキーがあります。

- scope  
  `local` または `global` 、 `auto` のいずれかを指定します。 `local` はローカルリポジトリのみに学習を適用し、 `global` は組織全体、 `auto` は公開リポジトリの場合はリポジトリのみ、プライベートリポジトリの場合は組織に対して学習します。デフォルトは `auto` です


### issues

`issues` 以下は、以下のキーがあります。

- scope  
  `local` 、 `global` 、 `auto` のいずれかを指定します。 `local` はリポジトリの Issue のみ、 `global` は組織の Issue のみ、 `auto` は公開リポジトリにはリポジトリの Issue、非公開リポジトリには組織の Issue を使用します。デフォルトは `auto` です

### jira

`jira` 以下は、以下のキーがあります。

- usage
  Jira ナレッジベースの統合を有効・無効を設定します。 `auto` 、 `enabled` 、 `disabled` のいずれかを指定します。デフォルトは `auto` です。 `auto` は、公開リポジトリとの連携は無効になります
- project_keys  
  Jiraプロジェクトのキーの配列です。Jiraナレッジベースを有効にする場合、プロジェクトキーを指定する必要があります。プロジェクトキーは、Jiraのプロジェクト設定で確認できます

### linear

`linear` 以下は、以下のキーがあります。

- usage  
  Linear ナレッジベースの統合を有効・無効を設定します。 `auto` 、 `enabled` 、 `disabled` のいずれかを指定します。デフォルトは `auto` です。 `auto` は、公開リポジトリとの連携は無効になります
- team_keys  
  Linearチームのキーの配列です。Linearナレッジベースを有効にする場合、チームキーを指定する必要があります。チームキーは、Linearのチーム設定で確認できます

### pull_requests

`pull_requests` 以下は、以下のキーがあります。

- scope  
  `local` 、 `global` 、 `auto` のいずれかを指定します。 `local` はリポジトリのプルリクエストのみ、 `global` は組織のプルリクエストのみ、 `auto` は公開リポジトリにはリポジトリのプルリクエスト、非公開リポジトリには組織のプルリクエストを使用します。デフォルトは `auto` です

## code_generation

`code_generation` 以下は、以下のキーがあります。

### docstrings

`docstrings` 以下は、以下のキーがあります。

#### language  

ドキュメンテーション文字列の言語を指定します。ISOコード形式で指定します。デフォルトは `en-US` です。

#### path_instructions

ドキュメンテーション文字列のパスに対する指示を指定します。`path_instructions` 以下は、以下のキーを持つ配列です。

- path  
ファイルパスのパターン。たとえば `src/**` や `docs/**` など。
- instructions  
2,000文字以下の文字列で、ドキュメンテーション文字列に対するガイドラインを詳細に指示します。

### unit_tests

`unit_tests` 以下は、以下のキーがあります。

#### path_instructions

`path_instructions` 以下は、以下のキーを持つ配列です。

- path  
ファイルパスのパターン。たとえば `src/**` や `tests/**` など。
- instructions
2,000文字以下の文字列で、ユニットテストに対するガイドラインを詳細に指示します。

## Tips

`.coderabbit.yml` を組織で共通化したい場合もあると思います。その場合には、URLを指定して共通化した設定も読み込めます。

```yaml:.coderabbit.yml
remote_config:
  url: "https://your-config-location/.coderabbit.yaml"
```

## 設定例

[coderabbitai/awesome\-coderabbit: Official awesome\-list of CodeRabbit Starters & Resources ⚡️](https://github.com/coderabbitai/awesome-coderabbit)にて公開されているCodeRabbitの設定例を参考にしてください。

```yaml:.coderabbit.yml
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: "en-US"
early_access: false
tone_instructions: 'You are an expert code reviewer in Java, TypeScript, JavaScript, and NodeJS. You work in an enterprise software developer team, providing concise and clear code review advice. You only elaborate or provide detailed explanations when requested.'
reviews:
  profile: "chill"
  request_changes_workflow: false
  high_level_summary: true
  poem: true
  review_status: true
  collapse_walkthrough: false
  auto_review:
    enabled: true
    drafts: false
    base_branches: ["pg", "release"]
  path_instructions:
    - path: "app/client/cypress/**/**.*"
      instructions: |
        Review the following e2e test code written using the Cypress test library. Ensure that:
        - Follow best practices for Cypress code and e2e automation
        - Avoid using cy.wait in code
        - Avoid using cy.pause in code
        - Avoid using agHelper.sleep()
        - Use locator variables for locators
        - Use data-* attributes for selectors
        - Avoid Xpaths, Attributes and CSS path
        - Avoid selectors like .btn.submit
        - Perform logins via API
        - Avoid using it.only
        - Use multiple assertions
        - Avoid string assertions
        - Ensure unique filenames
chat:
  auto_reply: true
```

## まとめ

CodeRabbitの設定は数多いですが、デフォルトで有効になっているものも多く、基本的にはそのままでも十分品質の高いレビューが得られるはずです。より見るべきポイントを指定したい場合や、組織のルールに合わせてカスタマイズしたい際の参考にしてください。

なお、設定は機能追加に合わせて変更される可能性があります。最新の情報は公式ドキュメントを参照してください。

[Add a configuration file \| CodeRabbit](https://docs.coderabbit.ai/getting-started/configure-coderabbit/)