2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Posted at

CodeRabbitはAIコードレビューサービスです。GitHubやGitLabと連携して、プルリクエスト(PR)に対して自動的にレビューを実行します。

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

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

設定できる内容について

設定できる項目はこちらの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

具体的なラベル名。たとえば bugenhancementfrontend など。

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_rulesenabled_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のレベルを指定します。defaultmax または 0 から 9 の整数値で、デフォルトは default です。レベルについてはPHPStanのドキュメントを参照してください

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 または enableddisabled のいずれかを指定します。デフォルトは auto です。 auto は、公開リポジトリとの連携は無効になります。

linear

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

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

knowledge_base

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

opt_out

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

web_search

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

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

learnings

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

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

issues

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

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

jira

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

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

linear

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

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

pull_requests

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

  • scope
    localglobalauto のいずれかを指定します。 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を指定して共通化した設定も読み込めます。

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

設定例

coderabbitai/awesome-coderabbit: Official awesome-list of CodeRabbit Starters & Resources ⚡️にて公開されているCodeRabbitの設定例を参考にしてください。

.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

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?