From d47a4b41607178c6f211e8ec015f886ffa293e75 Mon Sep 17 00:00:00 2001 From: Hasit Mistry Date: Mon, 21 Apr 2025 16:21:00 -0700 Subject: [PATCH 01/81] Update Azure OpenAI integration docs with new model deployment names (#293) * Update deployment recommendations in Azure DevOps, Bitbucket, GitHub, and GitLab documentation * Fix typo in deployment recommendations across Azure DevOps, Bitbucket, GitHub, and GitLab documentation * Update deployment recommendations in Azure DevOps, Bitbucket, GitHub, and GitLab documentation * Update deployment instructions for Azure DevOps, Bitbucket, GitHub, and GitLab to clarify optional deployment names --- docs/self-hosted/azure-devops.md | 17 +++++++++++------ docs/self-hosted/bitbucket.md | 17 +++++++++++------ docs/self-hosted/github.md | 17 +++++++++++------ docs/self-hosted/gitlab.md | 17 +++++++++++------ 4 files changed, 44 insertions(+), 24 deletions(-) diff --git a/docs/self-hosted/azure-devops.md b/docs/self-hosted/azure-devops.md index 966413d0..e05af4c7 100644 --- a/docs/self-hosted/azure-devops.md +++ b/docs/self-hosted/azure-devops.md @@ -64,12 +64,17 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments. -AZURE_GPT4OMINI_DEPLOYMENT_NAME= -AZURE_O3MINI_DEPLOYMENT_NAME= -AZURE_O1_DEPLOYMENT_NAME= -# optionally, you can swap o3-mini with o1-mini -AZURE_O1MINI_DEPLOYMENT_NAME=[] +## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally). +AZURE_GPT41MINI_DEPLOYMENT_NAME= +AZURE_O4MINI_DEPLOYMENT_NAME= +AZURE_O3_DEPLOYMENT_NAME= +AZURE_GPT41_DEPLOYMENT_NAME=[] +# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini +AZURE_GPT4OMINI_DEPLOYMENT_NAME=[] +# optionally, deploy o3-mini instead of o4-mini +AZURE_O3MINI_DEPLOYMENT_NAME=[] +# optionally, deploy o1 instead of o3 +AZURE_O1_DEPLOYMENT_NAME=[] # OAuth2 Configuration (optional) # This will use client_credentials flow to get an access token, diff --git a/docs/self-hosted/bitbucket.md b/docs/self-hosted/bitbucket.md index f07abb5e..d42bdf76 100644 --- a/docs/self-hosted/bitbucket.md +++ b/docs/self-hosted/bitbucket.md @@ -56,12 +56,17 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments. -AZURE_GPT4OMINI_DEPLOYMENT_NAME= -AZURE_O3MINI_DEPLOYMENT_NAME= -AZURE_O1_DEPLOYMENT_NAME= -# optionally, you can swap o3-mini with o1-mini -AZURE_O1MINI_DEPLOYMENT_NAME=[] +## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally). +AZURE_GPT41MINI_DEPLOYMENT_NAME= +AZURE_O4MINI_DEPLOYMENT_NAME= +AZURE_O3_DEPLOYMENT_NAME= +AZURE_GPT41_DEPLOYMENT_NAME=[] +# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini +AZURE_GPT4OMINI_DEPLOYMENT_NAME=[] +# optionally, deploy o3-mini instead of o4-mini +AZURE_O3MINI_DEPLOYMENT_NAME=[] +# optionally, deploy o1 instead of o3 +AZURE_O1_DEPLOYMENT_NAME=[] # OAuth2 Configuration (optional) # This will use client_credentials flow to get an access token, diff --git a/docs/self-hosted/github.md b/docs/self-hosted/github.md index 15f4e980..74b816f9 100644 --- a/docs/self-hosted/github.md +++ b/docs/self-hosted/github.md @@ -67,12 +67,17 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments. -AZURE_GPT4OMINI_DEPLOYMENT_NAME= -AZURE_O3MINI_DEPLOYMENT_NAME= -AZURE_O1_DEPLOYMENT_NAME= -# optionally, you can swap o3-mini with o1-mini -AZURE_O1MINI_DEPLOYMENT_NAME=[] +## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally). +AZURE_GPT41MINI_DEPLOYMENT_NAME= +AZURE_O4MINI_DEPLOYMENT_NAME= +AZURE_O3_DEPLOYMENT_NAME= +AZURE_GPT41_DEPLOYMENT_NAME=[] +# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini +AZURE_GPT4OMINI_DEPLOYMENT_NAME=[] +# optionally, deploy o3-mini instead of o4-mini +AZURE_O3MINI_DEPLOYMENT_NAME=[] +# optionally, deploy o1 instead of o3 +AZURE_O1_DEPLOYMENT_NAME=[] # OAuth2 Configuration (optional) # This will use client_credentials flow to get an access token, diff --git a/docs/self-hosted/gitlab.md b/docs/self-hosted/gitlab.md index 7337b231..09d7ecac 100644 --- a/docs/self-hosted/gitlab.md +++ b/docs/self-hosted/gitlab.md @@ -62,12 +62,17 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments. -AZURE_GPT4OMINI_DEPLOYMENT_NAME= -AZURE_O3MINI_DEPLOYMENT_NAME= -AZURE_O1_DEPLOYMENT_NAME= -# optionally, you can swap o3-mini with o1-mini -AZURE_O1MINI_DEPLOYMENT_NAME=[] +## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally). +AZURE_GPT41MINI_DEPLOYMENT_NAME= +AZURE_O4MINI_DEPLOYMENT_NAME= +AZURE_O3_DEPLOYMENT_NAME= +AZURE_GPT41_DEPLOYMENT_NAME=[] +# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini +AZURE_GPT4OMINI_DEPLOYMENT_NAME=[] +# optionally, deploy o3-mini instead of o4-mini +AZURE_O3MINI_DEPLOYMENT_NAME=[] +# optionally, deploy o1 instead of o3 +AZURE_O1_DEPLOYMENT_NAME=[] # OAuth2 Configuration (optional) # This will use client_credentials flow to get an access token, From 84ad6b251ed40975f03ba3cb7728c9ac1af5ee4f Mon Sep 17 00:00:00 2001 From: Hasit Mistry Date: Mon, 21 Apr 2025 16:34:44 -0700 Subject: [PATCH 02/81] Add OBJECT_STORE_URI configuration to self-hosted integration docs (#294) --- docs/self-hosted/azure-devops.md | 5 ++++- docs/self-hosted/bitbucket.md | 5 ++++- docs/self-hosted/github.md | 5 ++++- docs/self-hosted/gitlab.md | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/docs/self-hosted/azure-devops.md b/docs/self-hosted/azure-devops.md index e05af4c7..97137b11 100644 --- a/docs/self-hosted/azure-devops.md +++ b/docs/self-hosted/azure-devops.md @@ -112,8 +112,11 @@ AZURE_DEVOPS_BOT_USERNAME= CODERABBIT_LICENSE_KEY= CODERABBIT_API_KEY= -ENABLE_LEARNINGS=[true] ENABLE_METRICS=[true] +ENABLE_LEARNINGS=[true] +# if using CodeRabbit's learnings, also provide the following +# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. +OBJECT_STORE_URI=[] JIRA_HOST=[] JIRA_PAT=[] diff --git a/docs/self-hosted/bitbucket.md b/docs/self-hosted/bitbucket.md index d42bdf76..0adbeed6 100644 --- a/docs/self-hosted/bitbucket.md +++ b/docs/self-hosted/bitbucket.md @@ -107,8 +107,11 @@ BITBUCKET_SERVER_BOT_USERNAME= CODERABBIT_LICENSE_KEY= CODERABBIT_API_KEY= -ENABLE_LEARNINGS=[true] ENABLE_METRICS=[true] +ENABLE_LEARNINGS=[true] +# if using CodeRabbit's learnings, also provide the following +# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. +OBJECT_STORE_URI=[] JIRA_HOST=[] JIRA_PAT=[] diff --git a/docs/self-hosted/github.md b/docs/self-hosted/github.md index 74b816f9..8f7e4962 100644 --- a/docs/self-hosted/github.md +++ b/docs/self-hosted/github.md @@ -125,8 +125,11 @@ GITHUB_APP_PEM_FILE= CODERABBIT_LICENSE_KEY= CODERABBIT_API_KEY= -ENABLE_LEARNINGS=[true] ENABLE_METRICS=[true] +ENABLE_LEARNINGS=[true] +# if using CodeRabbit's learnings, also provide the following +# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. +OBJECT_STORE_URI=[] JIRA_HOST=[] JIRA_PAT=[] diff --git a/docs/self-hosted/gitlab.md b/docs/self-hosted/gitlab.md index 09d7ecac..42736e2f 100644 --- a/docs/self-hosted/gitlab.md +++ b/docs/self-hosted/gitlab.md @@ -116,8 +116,11 @@ GITLAB_WEBHOOK_SECRET= CODERABBIT_LICENSE_KEY= CODERABBIT_API_KEY= -ENABLE_LEARNINGS=[true] ENABLE_METRICS=[true] +ENABLE_LEARNINGS=[true] +# if using CodeRabbit's learnings, also provide the following +# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. +OBJECT_STORE_URI=[] JIRA_HOST=[] JIRA_PAT=[] From 19300f868099ba23bfbfe636ca08aec4df93dbc9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 04:29:49 +0000 Subject: [PATCH 03/81] Update schema.v2.json --- static/schema/schema.v2.json | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 2a779542..ceae9556 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -1097,33 +1097,10 @@ ], "default": "en-US", "description": "Set the language for docstrings by using the corresponding ISO language code." - }, - "path_instructions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "File path glob pattern. Example: **/*.js" - }, - "instructions": { - "type": "string", - "maxLength": 20000, - "description": "Provides additional guidelines for docstring generation based on file paths." - } - }, - "required": ["path", "instructions"], - "additionalProperties": false - }, - "default": [], - "description": "Path Instructions | Provide additional guidelines for docstring generation based on file paths." } }, "additionalProperties": false, - "default": { - "path_instructions": [] - }, + "default": {}, "description": "Settings related to the generation of docstrings." } }, From 9272f78aba758355770fa623543ed15bf916c4ed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:45:54 +0000 Subject: [PATCH 04/81] Update schema.v2.json --- static/schema/schema.v2.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index ceae9556..2a779542 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -1097,10 +1097,33 @@ ], "default": "en-US", "description": "Set the language for docstrings by using the corresponding ISO language code." + }, + "path_instructions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "File path glob pattern. Example: **/*.js" + }, + "instructions": { + "type": "string", + "maxLength": 20000, + "description": "Provides additional guidelines for docstring generation based on file paths." + } + }, + "required": ["path", "instructions"], + "additionalProperties": false + }, + "default": [], + "description": "Path Instructions | Provide additional guidelines for docstring generation based on file paths." } }, "additionalProperties": false, - "default": {}, + "default": { + "path_instructions": [] + }, "description": "Settings related to the generation of docstrings." } }, From 163c57054b516c5a20190e4a62f68e53daf760a8 Mon Sep 17 00:00:00 2001 From: Nato Boram Date: Tue, 22 Apr 2025 13:26:30 -0400 Subject: [PATCH 05/81] =?UTF-8?q?=F0=9F=93=9D=20Path-based=20instructions?= =?UTF-8?q?=20for=20docstring=20generation=20(#296)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/changelog.md | 20 ++++++++++++++++++++ docs/finishing-touches/docstrings.md | 14 ++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 2b8b9611..bf13d57c 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,6 +5,26 @@ description: The latest updates and changes to CodeRabbit. sidebar_position: 13 --- +## April 19, 2025 + +### Docstring Path Instructions + +You can now provide path-based instructions for the generation of docstring in `.coderabbit.yaml`. + +Example: + +```yaml +code_generation: + docstrings: + path_instructions: + - path: "**/*.ts" + instructions: | + End all docstrings with a notice that says "Auto-generated by CodeRabbit.". + Do not omit the closing tags; the docstring must be valid. +``` + +See the [docstrings documentation](/finishing-touches/docstrings#path-instructions) for more details. + ## April 14, 2025 ### Shopify CLI Integration & Bitbucket Cloud Reporting diff --git a/docs/finishing-touches/docstrings.md b/docs/finishing-touches/docstrings.md index 4de183b5..f57ecd65 100644 --- a/docs/finishing-touches/docstrings.md +++ b/docs/finishing-touches/docstrings.md @@ -33,6 +33,20 @@ CodeRabbit cannot perform further modifications to opened pull requests. From th This feature has been rigorously tested and is now available for all Pro plan users. Additionally, you can provide feedback about this feature on [Discord](https://discord.com/channels/1134356397673414807/1317286905557287022). +## Path Instructions + +You can customize the generated docstrings by providing instructions based on file paths in your `.coderabbit.yaml`. The `path` is a [minimatch](https://github.com/isaacs/minimatch) pattern. + +```yaml +code_generation: + docstrings: + path_instructions: + - path: "**/*.ts" + instructions: | + End all docstrings with a notice that says "Auto-generated by CodeRabbit.". + Do not omit the closing tags; the docstring must be valid. +``` + ## Supported software forges These software forges are supported: From 75032dbaa24507807249eb5796d029dbb0edf22d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 20:06:16 +0000 Subject: [PATCH 06/81] Update schema.v2.json --- static/schema/schema.v2.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 2a779542..b54dbdd9 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -116,11 +116,6 @@ "default": true, "description": "Enable free tier features for users not on a paid plan." }, - "auto_resolve_threads": { - "type": "boolean", - "default": true, - "description": "Automatically resolve threads when code changes address the feedback. When disabled, metrics are still tracked but threads won't be marked as resolved." - }, "reviews": { "type": "object", "properties": { @@ -1131,7 +1126,7 @@ "default": {} } }, - "additionalProperties": false + "additionalProperties": true } }, "$schema": "http://json-schema.org/draft-07/schema#" From ecb1e951288df73c5a311710728d70af273795bf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 21:35:44 +0000 Subject: [PATCH 07/81] Update schema.v2.json --- static/schema/schema.v2.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index b54dbdd9..2a779542 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -116,6 +116,11 @@ "default": true, "description": "Enable free tier features for users not on a paid plan." }, + "auto_resolve_threads": { + "type": "boolean", + "default": true, + "description": "Automatically resolve threads when code changes address the feedback. When disabled, metrics are still tracked but threads won't be marked as resolved." + }, "reviews": { "type": "object", "properties": { @@ -1126,7 +1131,7 @@ "default": {} } }, - "additionalProperties": true + "additionalProperties": false } }, "$schema": "http://json-schema.org/draft-07/schema#" From cf67440cab8179329fda5791a6ab323dd9be39ba Mon Sep 17 00:00:00 2001 From: Howon Lee Date: Tue, 22 Apr 2025 14:39:16 -0700 Subject: [PATCH 08/81] Sahil ask for code graph thingy (#289) He asked --------- Co-authored-by: Howon Lee --- docs/guides/agent_chat.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/agent_chat.md b/docs/guides/agent_chat.md index 2ca396ad..f76c4931 100644 --- a/docs/guides/agent_chat.md +++ b/docs/guides/agent_chat.md @@ -37,11 +37,11 @@ CodeRabbit Chat integrates real-time web search capabilities, enabling it to fet Set `enabled` to false within `web_search` within `knowledge_base` within the config in order to turn this off. -### Code Definition Integration +### Code Graph Analysis Integration -CodeRabbit Chat is capable of taking definitions of code symbols from the symbol graph that CodeRabbit generates from your codebase. The CodeRabbit Chat response will indicate in its responses if it has found relevant symbols and snippets surrounding symbols in your codebase. +CodeRabbit Chat is capable of analyzing definitions of code symbols from the symbol graph it generates from your codebase. CodeRabbit can use these code definitions to enhance context when providing a chat response and review comments. CodeRabbit Chat will indicate in its response if it has found relevant symbols and snippets surrounding those symbols in your codebase. -Set the environment variable `ENABLE_CODE_GRAPH` in self-hosted CodeRabbit instances to turn this feature off. +Set the environment variable `ENABLE_CODE_GRAPH` to false in self-hosted CodeRabbit instances to turn this feature off in self-hosted instances. ### Jira and Linear Integration From 137a5fcf885861aeb0caf4ed7cd07e5f3942f4df Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Wed, 23 Apr 2025 12:53:41 -0400 Subject: [PATCH 09/81] Rewrite the Quickstart as a full tutorial. (#284) * Rewrite the Quickstart as a full tutorial. Add a new Quickstart screenshot. --------- Co-authored-by: Aravind Putrevu --- docs/getting-started/quickstart.md | 146 ++++++++++++++---- .../getting-started/quickstart-comment.png | Bin 0 -> 180404 bytes 2 files changed, 113 insertions(+), 33 deletions(-) create mode 100644 static/img/getting-started/quickstart-comment.png diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 280732f0..26d50f53 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -1,55 +1,135 @@ --- -title: Playing with CodeRabbit +title: Quickstart sidebar_label: Quickstart -description: Get started with CodeRabbit in less than 2 minutes +description: See CodeRabbit in action, using a live GitHub repository. sidebar_position: 1 --- -# Quickstart Guide +# Quickstart + +This tutorial gives you a hands-on demonstration of CodeRabbit, using a real, GitHub-based repository. It guides you through the following tasks: + +1. Integrate CodeRabbit into a GitHub-based repository that you own. +1. Observe CodeRabbit perform a code review of a pull request that you initiate. +1. Converse with CodeRabbit about the code review. +1. Prompt CodeRabbit to generate its own improvements to the pull request. + +When you complete this tutorial, you'll have seen CodeRabbit's code-review feature in action, and glimpsed a few of its other AI-driven abilities as well. + +For a more general overview of CodeRabbit, see [Introduction](/). :::note -Get started with CodeRabbit in three simple steps. No complex configuration needed. +While this tutorial focuses on GitHub, CodeRabbit also works with GitLab, Azure DevOps, and Bitbucket. For more information, see [Supported Git Platforms](/platforms/). ::: -## Steps to Enable CodeRabbit +## Before you begin -### Sign In with GitHub +Create a new, private repository on GitHub. Name the new repository `coderabbit-test`, and let it have otherwise default GitHub settings. -- Visit [coderabbit.ai](https://coderabbit.ai) -- Click "Sign in with GitHub" -- Authorize CodeRabbit +## Integrate CodeRabbit with your GitHub account -![CodeRabbit Login](/img/integrations/login-self-hosted-github.png) +To integrate CodeRabbit with your GitHub account, follow these steps: -### Add Your Repository +1. Visit [the CodeRabbit login page](https://app.coderabbit.ai/login). +1. Click **Login with GitHub**. +1. Click **Authorize coderabbitai**. -- Go to your [Dashboard](https://app.coderabbit.ai/dashboard) -- Click "Add Repositories" -- Select the repositories you want to enable +CodeRabbit takes a moment to set up the integration. After it finishes, the CodeRabbit dashboard appears. -![CodeRabbit Dashboard](/img/getting-started/dashboard-coderabbit.png) +## Add CodeRabbit to your repository -### You're Done 🎉 +To add CodeRabbit to your test repository, follow these steps: -- CodeRabbit will automatically start reviewing your Pull Requests -- Default configuration works out of the box -- No additional setup needed +1. On the CodeRabbit dashboard, click **Add Repositories**. A GitHub repository-access dialog appears. +1. Select the **Only select repositories** radio button. +1. From the **Select repositories** menu, select the `coderabbit-test` repository that you created earlier in this Quickstart. +1. Click **Install & Authorize**. +1. If a CodeRabbit **Complete your signup** dialog appears, then fill it out with the requested information before continuing. -## What's Next? +CodeRabbit is now ready to use with your test repository. The next steps demonstrate its core code-review features. -- Watch CodeRabbit -- Here's an example of CodeRabbit in action: - ![CodeRabbit PR Review Example](/img/getting-started/pr-examples.png) -- [View live example PR](https://github.com/tyaga001/devtoolsacademy/pull/39) -- [Configure CodeRabbit](/getting-started/configure-coderabbit) (optional) -- [Add custom review instructions](/guides/review-instructions) (optional) +## Let CodeRabbit perform a code review -## Need Help? +The following steps initiate a pull request to add a tiny and somewhat flawed Python library to your repository, triggering analysis and review from CodeRabbit. -- Join our [Discord community](https://discord.gg/coderabbit) for support -- Check out our [FAQ](/faq) -- Contact [support@coderabbit.ai](mailto:support@coderabbit.ai) +Use your usual Git workflow to perform the following steps in the `coderabbit-test` repository: -:::tip -CodeRabbit starts working immediately. You can customize its behavior later when needed. -::: +1. Create a branch named `add-utils`. + +1. In that new `add-utils` branch, create a new file called `simple_utils.py`, with the following content: + + ```python + # simple_utils.py - A tiny utility library + + def reverse_string(text): + """Reverses the characters in a string.""" + return text[::-1] + + def count_words(sentence): + return len(sentence.split()) + + def celsius_to_fahrenheit(celsius): + return (celsius * 9/5) + 32 + ``` + +1. Commit the added file to the `add-utils` branch. Use any text you want for the commit message. + +1. Create a pull request that proposes to merge the `add-utils` branch into the `main` branch. Use any text you want for the pull request message. + +After a few moments, CodeRabbit responds to the pull request using the `@coderabbitai` GitHub account. It performs the following actions, all of which are visible on the pull request's page on GitHub: + +- If you didn't write a pull request summary, then CodeRabbit adds a new summary to the pull request. +- CodeRabbit posts a comment titled **Walkthrough** containing analysis and commentary about the content of the pull request. +- CodeRabbit attaches a detailed code review to the pull request as another comment. + +Part of the review resembles the following screenshot: + +![An example code review comment](/img/getting-started/quickstart-comment.png) + +This shows that CodeRabbit has noticed some flaws with this Python library, including a lack of docstrings and input validation. The review comment identifies these flaws, and suggests how you might improve them. + +## Ask CodeRabbit for more information + +After CodeRabbit reviews a pull request, you can converse with it about its review. You can also give CodeRabbit special commands to request it to perform specific functions, such as generating appropriate code changes for you. + +1. Post the following as a new GitHub comment attached to the pull request: + + ```text + @coderabbitai Why do all of these functions need docstrings? Isn't it obvious enough what they do? + ``` + + After a few moments, CodeRabbit posts its reply, explaining its motivations for its recommendation. The reply might resemble the following: + + > You're right that these functions are quite self-explanatory from their names alone. Docstrings aren't strictly necessary for every function, especially in smaller projects with clear function names. + > + > While docstrings do provide benefits (IDE tooltips, documentation generation, help for future developers), they can sometimes feel redundant for very straightforward functions. It's ultimately a matter of coding style and project requirements. + > + > If you prefer to skip docstrings for obvious utility functions in this project, that's perfectly reasonable. Would you like me to adjust my review approach regarding documentation for this repository? + + In this case, CodeRabbit is offering to adjust its future behavior when reviewing changes to this repository. Instead, follow the next step to ask CodeRabbit to implement part of its suggestions. + +1. Post the following as another new comment: + + ```text + @coderabbitai generate docstrings + ``` + + After a few moments, CodeRabbit does the following: + + - CodeRabbit creates a new branch, based on `add-utils`. + - CodeRabbit commits changes to the branch that adds suggested docstrings to `add-utils`. + - CodeRabbit opens a new pull request between the new branch and `add-utils`. + +## Clean up + +Continue experimenting with CodeRabbit in your test repository for as long as you like. When you're finished, you can delete the repository. + +You are now ready to add CodeRabbit to other repositories that you own, and let it review some real pull requests. + +## What's next + +- [Integrate CodeRabbit](/platforms/) with your repositories on GitHub, GitLab, Azure DevOps, or Bitbucket. +- [Configure CodeRabbit](/getting-started/configure-coderabbit) beyond its default settings. +- [Add custom review instructions](/guides/review-instructions). +- [Get support for CodeRabbit](/getting-started/support). +- [Learn more about how CodeRabbit works](/overview/why-coderabbit). diff --git a/static/img/getting-started/quickstart-comment.png b/static/img/getting-started/quickstart-comment.png new file mode 100644 index 0000000000000000000000000000000000000000..9813172b9ef33dfc7833efb242a6a79076bc5241 GIT binary patch literal 180404 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%0Df_XeMQ87^=b zCwvGDQXdn-vRElY);Hc2iz0s2xY=O+OF^CtZSCM~v{6SKW&dE&>$xww?dd}5g}o8oD9_R?rQMY-;4bUc$!%{;EWV^Oz=`0{H)%NY z_~aOE=t^p>RrPF29WNaKVeox|CS-k5xWC-9WTnb*YJyY}1Dau64c*GCOvm|;Py-)I zPlUDO9tyI0W7^MH=OGC^)T}&&7>a6GF0q=ku`RLhB1D#`oDoVIUKel-WqjR-(LpEJ8kzf)~9u7?9I; zbHRBQGf(@Dh<~yjZS-pdCDr-cC&MCbF?~2FA8M^gLotbKVdZwI2LnoX(LA_VZ=h2v zvP~q}uBjKnOgcSDwIoGS^k>+y7z)qpR^~hW_|fG20T+AaDD5&;K{Y5kZ~E>70Tu7A z1wJf(qAA^wktGSO1oLOE$(3*U8TTWC68PyXhYyQtK3!63WqW&v<8Jw$`#aYO_qF_h zrw1AtvyS&rSP!)ND!G1>7?pOS-8y{(L&0}sfdXFVh=fbYYPg+5?(~$ZB zYy1g3o(2}xu7X6_TuHYNQs>kYJ8fxB#Sk^mS`oZdc1ZO+9QvzvIp?y)Gm(e$A+_f?PV?;KsnpM5 zhd|?`9k=<8;pP@YJmBLGz#FH@h}!rpcGKcR;RH_$zIi zMD}}rR!fLoOUF}dPB#&pLYj|Aac1LC`4I$N;Y#8PIrqJ?uGll>TB1$bC*)*{iVP2? zei@^WOo*3h?+fu?Gek?&`9RBIe#k?#SDQdKQc?1kY(L`q;a}*xNJc0*uS=eYmLF z?4BQCzZI|7;<6P%|8j!$sU0DTv?vzSAWD(qCn#OSBicbB1I8XpB=Cz?5$9pv3sl%a zJ%%I*pT`wiL@a>6GA-Zdmk-y_s4Xtq0*%UVjYdr;x@pFl?5Cun?KlzTSNEXNiU#M9 z)X*@|i$Z)F+vSYhTnfn6E9;jUiSyX(kBdp9)?u_yhm)u{S5V5+q3>TZ%U9sN6BBV_ zs3fJ){$k>gR|CF@1u9`st!&k5R|}Fgd4n*CBzbWC5%l^IP(BJVVSa54msv^hSj}u) zK@R^6__lg`iX!pY%6aNeALu&SutH5fI-oOrMa@V+I|fgQUmH0|Dbh>=k>hmh?%m=I zRSBj;WRB}^5amf?yeAEKN_`nfi%^@)n_T*$s3>EoWZxI+Sj^hc)4aziUv7KtD2K4_ z-XRC8wqEG2pZ(tk`k%c_{e(7r3|$2Hx?o_f6{$KnMo?5kG44M)35I{jKRZFrw9N5Bjs0l`qAo#7yp?`Y_n&@*RpmM;)u> zrr@?VphOBgtzu4)$2&QKBtBZyURa7gyR`ww#RiNl$`}f1@2bMsPPPQYpAyppMlY%G zh&7sC<01%AES7X{)YflzQflS?N}SQ4+QTjHB4ghfXb-)f+|I<;0Zae@HL>YE3V? zN8kWRP(S|yT@Hglb`+b~saB@h-Ryp&j2%%s&=I^yJ^pDCl1~vqhp)qeDI6rjC1GM> zlE|Pyi=mdu`T2>=F#-yo;$VBbl&{Y90R=)`cX$&46QD@3#r}n5_3RY=AIX?MZvtxW z@1>7^tA5)$e7dHVP>h_$l6QG79~4&f!_!8bzkEPvb*y#OH zf7y{rOWW{-y9XKE*R%B0>N}cTy8Q#HAA|}hLknrrSy(h~Ma9JYb}(a2;`w;X+txwr zbLd|u>$8jWt=JT*T2D)KgjlJrI(`TCFIr@yyVLJken#@uWs+((=i3_{25FC^gp#fu7)F21hpS6 z)Y=MTjm49Q?oSp@4l32snC5(c99vpgJ;o*GImZbBXJ!+MJ6U~dduH4&gV|#x*V#(h zRu*hb80`hUga%2(5t!O-izg7&54S{McT6FvdA%I)a>ub6AyT-;p=}f}|CV-RICbUE zBjqc|9gOjW=w-eYES2?z_jHmf2{J{S!E0;BL>Q1$yhQ#IOpuM`Ms>-CW>6f`27fec z_<*1&L5Pt|MnlDwj4rX?D`6v%2OE2cujc74KqbVg4P?NKYGq3fp$8a+FRE0_mas`u z{M=Mw?~kh-NeeDF>!eVgV^{1G%zNRxqVsS;`72QYd1e=<4;Nh<+3k-XKX^k$S(UTs zT!>?dViabVwLtb-U^Ph9h5q=~nZ`e@>0bgAzRK;pA5}IrrZ}Ud6DTCn zg`wZG6iU9@y*?sIuU{|P|41R1pg9#Ti5bfjJ@fhBEyN$m!;hHI)`s4q$11)IwN^{M zFs%QNy|)aDvhCJ@6#=C~kPfA!1*BWLbLbE$>F!cgKw6M4rMtUBx?|{WX6R;yf$w(j zcfb4H`+a=AoP4J@IzlJFYap#7W=DnTLjJ~TpT5j=yw7~`Pov#iJ{g?_G zV)&fifqcG921@m&`~Ahb{C8Y(Nd2xMo>U_9(&}$2JH9$BcrnBA)2lFZ`YS&DlrFdQ z2L^frqO!k)mj5|R{kV(PeDd(wCvi?W+AJwfxxlE%HUw^zWW6^==?5bGH6?-j(qY|6)3 zYFtYsmWnl#W75A}Re}%-B+T+(kvqSNvj1w;|2ejyMn!woj{k`gmHo^A%afnCKTz2B zRBo34L*V{nQQk#Ac*Mf7YjUjqx6A+kzb`1Q*!VppfRG`bcu&P>np54e54P zAQZ!A{o%^K9A>)m0N3r8J~ z+QDFVvYEeKK@Nit595jNJ{a|G$vJMV=P1m!+OT6&h(^64Vy9J%LHdecBqs06{>#Nl z{2HOUh}Ik#d}U7)>_DnnV1RdcXb*Gl>g;qJUZL{2q-g)x#qjO5A+~43mn`KAb=hd@ z4ro1HdhFkY#H!{)RGriT68PiT)q!s`GUYD!CW~%zAHFY(Fm?RGvbR5Eg8w39!!tQ{ zM3eEIdF&W2n8zp?vm*GMdBD6q9N9l0`oJ>d15pQp4v%hl_?^6rS)I&5?bRhcibmG^RU@v;JLH zH{svJcgXPXQ?;G9^UDSY9lf*mKoHmY{`tBW{jcElmb+$@`I$fAlGU@(QfkyNP<&ji=P!Og~ z`K-Qk+TX1EyV~F93x3mFS)|`&pT_o%YK0k%&GulHYD}y#y(heq_i5edj zTIJN)HEv|Sjm9sA6ZxOoAD*~zz-{gxKGFUH0jC;y5?nl2 z35s|R#E{}1x@armZ11fVRO-ArHtMdFP2h=0M`fX-9<@sEi#Ko%bIdRBHW zubjaj79n`~{J8Zon_=rmPAQk?meb+0jdnPt>B5f)bw8$9`qtMs(D=!-(}qz+)}&mn z!bK3|MmuX=!4<9-(s2!B{ z_m^%8#abPNP^|`alyEA+0q>^?jJP%^JcS=@5$vQXGxt0DBrh{7r)K{UWw=Br#BaZb zsTeMug|F=V(3uN$)X-(Z(8?c*{fzdF%?Y`d#W>u@mjJWv(^bku(x=}zLn z*{eVPPO+G!XbP%-`;bsfF7TpBWv%_A>5~@62l~@&!P=R$j%rfSSbBM64-b_^Omxi} zPz>~~Y{4mLig!9pl2i?efZ8v{kytt?m1OKTYL`D?G9D` zG5`bdoC52{3s-OXarcRFU$wNW5XS3{t5;Hin;YbAR9WZF$&iA+RT*h z37|7_nf0U_!kuhKu@@V?@bX3t#U?FSsXM|R!7umpUTA}iGc^0hf2au?;CO|gZwb62;vi3^tZpeOf%O8+_)2qy=h}yh z?61vdl53!2^?Nfg0m#%Hu_zYlTNkCCfq6IR_;pbkm0>W3yZyrF&HfmYCgbZXJWy1o zUPRP6Ukn|W`FcGO>T9l*o(NVx8an&k58`dz8e4xZP$; z+Qs??ZyEv+5ufzyGOcSMeY%g(TT9c&}=Q}<<#=9NE@;H20v@_b>F9DB! z;bv_%5`$%A4dJlDW1`t^Ed*ZVN&4{}B;^PNgD^1fQ$dgG&ilJ-^VuhuR2+I&lw)PQ z5HRBP08N|S5_Z@#b}(Ef>Xr~(sO2=v3(%mj^Wk3krFCL=zADYqNo;bQrguqg4_e^o zGaGIPiw`sWU|)?Qsa7V}G!1y;pyOG+xRlQ#$@wd3+#s6RW!>XFxaOW(;K~N)3#N%e zYVFH?2Pu;5#;ja#pZq|5{1EGf)-1|WrK0%vx8_|8Mj89xeB@ z?uYYO4i|I%cfi}NGKxN})qnj%!eIY>StlryyQtunRx0omuYCCWlz!cQR+v^Pw^9=l z5b10_n9R;ehfBjA8jML9$egE~C5^}p$)H7Peqo>0JYaTmb=7-kniu^#jmq7AG2}y7 zp5x)MIJu}hK{_O-y3Cm8B9P}fexU%CZspBS%_Ppg=;spO#Xnk(TTfjx7wg|=h?tFc zwtW-SE`5nZbvpPeoSa+h=xFMvu%0g>PHClJ(sDgYbZ2$8;;BIW3&EwOCAA-7BCbah zXg8qp?#BMG6(JOKXfZMLV0tj3?G{P6$%C60!C}efPr-u^Kr-BQ{ci@oGrEptNu8A` zdZb`mZ-t{5hEobs-Vf>jFmen|Y1%S(J$Wa^;V5RDt#M%&PX91i=mulqocofbEhS$} zA?naD9JE;P^a!CDK~Vs9zJPGM_=FPlyRjyXP_$`iw43wP>9fl|u)GTl0Ec<--WKJ` z!fTa$2#NWu+^znD69MZ1Fsjb_lc&!|yXNJL&Mik$Nm_i|Wac0+B9^?33K8`E{RKB5%O+ku*UETP<-;kK3aSy?ICwI%%Am zTR?V=?Kn9_tBuWNEQ)2g(^{w01-XCwC552VnZ*x&|3+7<6aNeA-HC!vFt{3{3HI-q z$XJez%D$Gk2AU_yumYH(Q0qeY{9x%R8WoDL`O27au<5Tp4r$)twyT3>3sl|kg5%p; z-wN;U7+D0}ET7%HVjP7B^3_rB9wMe8UeJThS2ar@ncI$hk9h7a;_CeCfOJt#E(3gP z25+{;C+dbIe$=E3^&$(w@9g=){trFpho```?)1XKmR!Dduhr+uKFvy18b!47`i9@P zKL7!9JKrCF^i>%D$GOY}cyK}0O!g4_zMcA)$~Q{wk&LdKr;nXB*7=c*nnE#|pg-Tl zF$pBD1Jd9;g4mT2+am&|pmzN_SNh?PErRL9)mCHWXm<i0T6Uo4VicXiqb#|a!@%#&m6!ZRaVqxny>*9xzn?696wjt_QUi8ZLt+I2AlRYR-l8gN!Uyc6j`Cn@(Z}81 z?V2QhRiXhsekeze$}i;Sr-0YJPwKs%mMr)ON09NREbJ4VZVi5tHlC7!W5@rP+Wpq$ zI@Y%o;E`4SE9pqkMuqTzZY$dTAmrN*!VHZ|ucGx8mhE&Fg0j1lRC z+u`0x#zrku30n1z;zKuxx|hMxd!+;4i?Z9)*jI8B95x5*uIU7K0^A^l4)7yzulxgX zqaST>dpzXAp^sh|&)xwg?nSHQS9}Q3FaTDMK{>%wCfwc0%{q6@9SPnkW>V)z@D`(Z zDt>UIV#I6HZI*M$l8QqD%jfA8|4%|*%RSv;2~!vdrNpxtQHc4eVN1ZzfxEslcl#C= zQQDO3JE91;XzA%NA|GvYq~GiF6H}^uA@Vg=%y~gYQDcg*x z8sxyr!h%dx#M`6+Mc81q{yKFMzMH7S`*aB;VK?w=%jE%yN>zUf5%tF^o5T%wIbqLs z#e#|zVyP35o5Ht&32D(!PS#~$Kvd0CBz+6b7mIb<{yaVdyE-K-8f)&Z^NvME@^*&? z`re#E+9w7;MbC9*0YFb6%j_(`#zY7MEoRFnFC@LR#H@ckk>9TJqI~-_5O5TFAj5Nh z*BU$!bZu}HySHlXdtKq5UMbE=XGY51;D6IxY*d9EORoY>QsPWYX}fpxTg<(mPSlkc zA(qH>ws}z#I92U3k!_?5W{Lx!8;Q&oAia(0FiX`(Qlt>9u5$G~uWBrOM4KUp_J;eW z63@Cw5f|v@`Erm{B;uBGhxOf5phG!N8B_|x)AbX%;W%j&bQF#5dm({G1Y>@&h3#pI zD)dT$qDq>6^j3g$Kzgz#;=J;<9D6ETJ`UfwKr!yc7mU5pi&H{o4kdG1k}GhD4TCTE z*D0?lCbh1@Cx6m+#gI{5#3(dV_Ge&y9;XStQhFv*1lhU&jqkx+1$dk5J!RitQR091 zHb9rRgH_%)xMyh%k4%q@zMp+p*S2x4~CyGOi>jc<1CHTi$7ZyKRDdxWjKs>%9-ns#RrDtlHu3l9~yeqXF@IuCtp#!Ez zG;frK0Xikh#e@*R5U;h!pi@X#*iVRCYPw2<`&>evTD94}G%m1~EEPJEBw$fDm`jbC zl4)7w=_Tgz{oWu-OZ)l_O3;v>9~>uKb?()+zpg6K3HaW1Cs3hgfUCLP4GMd}<@Y8xWW2es$V)kt`@Pv)FAzg~Ncze_=k8>&tECT##7 zV9zH^T(mi+ose@%FaA)vzpywh{(GL>mgcIF9MVVF3n6i2Ba5?QD{dIc}mtLa%R zMKZ*TOixQb9p2YCKqPNh^mNX!>Zib&^V<>>5^OU*8r%zh2}|`jR zo%e9B%agrCjN0wmsDdAZfeciKbt6MS<7a?mc&5F ztlj&&rQ*FyV7-~S&28m~yp4ae0}$Eu9V*KTUXbMtUk|f5Iw+#$3W|0`bp=QLfIY4` z$HM}lMof`>qj!^qPfooyk4#q7zT6m%ceoF@w4#_&OTv)WV80u0u)%48 zb+!9nE9&a<7Vu6SHYs~+JdE>ty%V)^{@Qrj&&;cIpb`)erYy50VZ?O2tzM&%-bgT^ zIk(OVx;XJu8N48aXTjkbaaLJIi_k*_B6cxskil}RoE?c301R#u=mI_=7!t+W5PQO-6GNroy&T4BKtj-L(|J*{|MYKjFa7b`a^+UrnBm`K?$H&>yHUFlo@Jtu*vy@upm;< zH9xo$0?@%42nAzWwSXR88G}xa$;&p?MYS%Z!V6k5T{`PP-wpt3*K76ZHJwr(3HLrfp>2A&u^tB4Zhk|Q*iJWP8N?GUsm}`PAQ-r1 z!o>!zgqwb;&T zchAsJz%O`vm?eYCGTa1F9FW0H;RPmej+_rsGkxWrN;k&icIx?^RYT7sc5hogt_GRM zEVLXzV`lvQ{ad~7WBm=9wxcrX26oxhP%LTFOF3m-?GhIooZpRi2Dske-z|JbjYt+c z(b-tU?~DDA{u*jiClavS>{Y&+!Qb*2sq{L$!^^AyQ9(cnahGZYLS=%2B7CnpV z-oXH%;nq*Vt4S!(cNS7FU4LV+ zg{NLDjAf<9=F>Z=m6|>4G_QA68)(eZ}GsNcV_Zr)^7)tM=Yo@ZoE(6{cGjY3pkT!Acxp2t0> z8I`QWHZa_nBUk^Ss)m>_xKz*z4r@;H7~7oN@#%f{o(h;dPbq<_=mC~iv0=?n$N2by zD`d*5xy6WtTS#o{#ef$SR05dYP9do#j+v4tQe839Ko-= zBM&D%!6?)&f*gC!@i~r-CcYY1Uy%x=mI9SfT8$8Iq;+e4ei+qa3(QfmL#;yv6_W%cjw-Rsbu!wzJnY6RrCel!p_o)OI`ujzp3Vhg zIAni-lZ^5JIH^oS^jVsI?%aH%9U12i+vm8!_>HMnLq5NKYU~X4FNdFwI)|4YEf=V- z4@zT=<*U&IPb%_5-LDQrKP1;ccGqa(+4?iRlc4?{sj&FBL-lChZ3Zf3l<@^6=Rq>S zi;O0zCV@I zJ%ZC)_cjYO^3RvyjbQ|78L#ZC{jTy#gM*gAA73)I-`Ribyf&@f+NyP01!{iP`h2?g z&rz1{)8S1O%o9fxg?-*>DxxzBC0xRqEm+?fjddLoY-52|A>4Jp%9hXjJkkFfn}*jM zFWR$kP4VcV!ri9v;wq{_Ek7JnX>2a{x!d@H9J5eHD~aIS5It_usln-tPkH7muN_WU zFJd3fes+J<0+^PHLEvr24Ojz8oJ&cI#15bJgw1>xRwa;%|zmv&|G>xlxlvn2xv&3 z4^Stbmy~gS;VBG%Zbdd-D%lfGa(=q{yzLzz>GSsLsqTLXnyBcW4E*B#;IAbU1V7rD zfw|EZ;k({x4LP3fbU*kvMj4S}qXyKxslhF>o!^2=)z3bSrfmb(4J5?KI5;X76R(B! z@*Ua(&c|igS^Hjm#Pcd(E%9rbeh;qvf>mM`@?BLIOP#Jy(9PO*xt>Se;;SMK{p4r4 z*uA=a8}(Vt>-SRD(!?6!{kg3Abw3Yxur8L%l6j=-*eIwjs&8Wova;>JAoFF*eaOv3 zkH5aLke;BGi+-i{!hAc@nXqsd;Wbqa;HSfY1dE$nr0j|jc6CrvCps8)P?+A&P+0o4 z+QOJydS;|{#tED)bZxne)Y9nP zjemV}1KDCvdEGVdMs|J*6!FxC^VQyScfpF^Kw2ml{?>?Kfn8}EmIGqK;27hnSq`RzP*0hLJB&-$~w{>ZtEBT*_=bN z(M-YBhUOQQZiX@Wp|ND9LPrk$>AL_C92t3WNjZ>~6sJ05TrEY9nTK>)ivg&&jrX5#mVgz+is z9JzNF#vQGM_@7Hd7Cqw#IJpJRo(2=m8dNdh;@tmiu5l0&Pb4~0M znx4}a9_gB0JF7pt@_*(A#9A0yN+Gd3`+M=IB%?dPBh#)ot6(rsnGVI4PojUA7#)WK z(2`g8YQ>i8={h$x^@9XN8O&(^RkQ#-2E+L}uty37B^hZIOot2f&I_BQ37(2DQEw69Z(|1i4Q!1wWO z$E;Sl)6M>JnS^%Q#hM`=HiegJ1+=C|!i`z~z6v1_Ktrw!fB;x9AoiEjm&pwgz zxG}ccEh$@a_I-d(vjnT;Dtg;)1e-kq?ssHPM2Z->8x| zT#rqfS^<4r0V^SoFuRUQe|j`cG^&azgh8p&GloGSH=!gT9B3jXg7k9lVXfL8uVJ01 zm459wq9*IvjEy#$;>G`venCWX6ykoJ7d##QS#rc$sQCOw@LConlh#Kn`GP>V@-EX< z7B^dxQK9{%)dX!h_JjUw=~$M?u`%41WJz@9FKX%OsA)BOu;$u-j>k(Y-V+QTlvKAyr`;KPAfTryfoHcYqW$ zSGYKOH3UetoVPeZdEQXfug`wl;B&ctU~k+MzMx&!&gJxG%3&GvOBlg8?@Pqaa7tco zA`EY)bVW=^oA*M=gB?VbNv-Ew0wZK2w+b!YiTlPFgifIDrt;!Po>$CXI(ZFXPLZWK zhu&z+dC}<)kH^}^u-a<_`q^q*urgILeFU$?aAGJ+VPdlz{6B^#CIx=)?%x@~;+XXD z0QcuNnh(EoZZRdXZ&8?gC~AuTco-EZ#3Sab>=KR*$jC672rGGK;Y}n@t|@ z8#*UY#V7vO_^d!(n9b}?eE5FtLvpLqeCC$`8jn%~V5x%L48s9U$WI^M1#g}hIhqUm z@Xj+0`Ur`JO7nAE{2%>5Ek5sob91)UEyN9;Kdb(&crIP?*^{8tw}gHF`b~sAt;w}F z!{vV3FIy{oD*PLdIm8ttgm~OyP-<(Xm}FK!m&uz?Wiws+3Ar;I>TqF)QSGoWKU?xi z(0s5hZ)T%AELi*ze9nyY0HjN{Qf-ZKBSd1CG;rEiilihR`(QjQQmw%nE0xbl9cS;Q z#6}?cq3`7l5$udUEgZ&-|0Hg74e+8qCon$ckEafCiyeKxcN*tf@`E!+;a&16_k1DP zW~_RS*Sp3!2c1~d{d>jWtzFvQRI~0=*S)EZMN7jJnLyqc3ezbq4gt5_DMCOvu2S|) z^&z#FzclJM+XTb}?DFs{>IHPq98NXe(Rn{z@+Js#@1V)?Ph5<$-}D=8Wy&)ZPsq6y z@=8oNasV!oGI@6z*C?V{F;)FP~o)z=(RnEaz%n z=g=>l+amlq*q~eBY6HMwcXF~+F5+2%=!=I8R+sFp<|&H8^cvA}u^)cr0fHt#HwEg- zEMKM{Kj@-(<<7M`JiQhki&jR7C=CY^Za0Mz(#vn z*5yJfu_s{!%y#KAM(5gPT7)Q5+{T~_*Sl+%Qe9Cg>s4EWwt1o9pIyNxcaP%>@@U0g z^lFuAstMYIxSj7{maU}=CgiWIZixZm)`$+cEkIo(JVH$)f`m0JgMA`bA#9RKLH;qD zfh&IOGV7=uH}7|%I?Y$hE=o|~Iog`91ccS`}_8Pe1$mHpYM8kcp;ofIGpiynuna?@Tm;mEwa z-~s<6d(>VtQ}#IB*AnK$a{50YIJ)-{dl6Co#2tzaZ3p@+;xbT#LGB;$awslP*}CQT zuDVcau@`rNQ03nzGP^r01ljB;(`;%{zp+Q9mPOI!+#dO=EbN{CK`c|&T~y4V@WkCxURaW;X>Co8;B@ zkDns3XBIYd9Em{W%ZV`qyDyXQB2xTIv=6FYgp2foq<{OpI00n`pLGN1)eiZ4pp|_f z_CQWjTyt!V##{UAy3|R^fJnJRThZ#9x)>j{ttTf5A=8TvF2J9!L=<_5>oP2tP1!M7ShW56VH>{KI<)pilxGXO&DXa@? zzB5u;-VmqxoI^?ucW_L>w+Cx$k#~MRMezLy_*Iu`rXf{#+D06lI0+LBW-&q2iszTk2M;IaGWWFLikK$h~WPNM2sv9IFnB_yDLFe~(MR zWbvh@I`{YNnxnBfOh-GI1J*>2k_{z0#;M17!$3Bt$RLj(RmpY!-dRsLB_(4RTTP2*WIDuxc?xhKwN$740m z0aJj2+AGybD>@HPTUTEB+U~Y6mdQZ=WcNYu)UzG-ABr~v-Wr-UtN@wC^{03L6Aq)! z!H10Mv@#!WZ^m0}@?L3!^R*emJOq&LfUscMj_g+ax?$5bxhx(m(Z>XY)C~9fE zFVQh6n0%q(Ed{ca%vDSQhAm7BZ}ZqZ*-T}5-rV`#{FW;U_;eG`TrU-Qhz=$4E0mS$ zwa)&G9p@EjqoW4rtvpC`doDE-5f1=XacCgPnQKP^@^A1MQf6nIx~Xb+Y3A(8SB-_M zvp}l}S(T6`TwN%)ˤ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%0DMg!n&ShU-(J&23qTY$6 zSF)=)44=t1$RITiy4koG*#2%^@+ zntNUZbh+<(8)D()`dArMEx4o{ZOyl_YzdrwwBdT#nZ+=&#j)C0BK@u9Ky1LyabONo zTP`u7 zlr2V5L38;l?5Qa;EO%MV5Y(^hz?F!1h)H-UL@9a z-5w=y%&U`DPAwHtzE~EMI|E?&E>FaLhk9#s0Lf;Y1Y84h~oqs0G{@VH96-8jm;in-WMsB zYl}pz_1)}BmMFGP_be#~^36CPPDa~RR#UoeWK7)j>l|R??1B@h?>$ZZJHRI(Q-oFA z5R`^J3hBJU@ztDfJ72mQx6tHHYtG;jcgv|0zOWoxwBP14@Reu_bHnG3^+cX@)T(o+ zdbsts#yGB4_B#>V&N2|dd*VwY;oIqPeye)KPl=zs+tV4zm6oA?Z-r~Bf1ZNgL4reotq*7*J&j=OSt{mawF zaM0TZv_$(7$EXI~*K*!xX&ioTT=S6x#8{A5S5Qv(tbqlyKq7=C*zB2I!&N1ibCjAt zG4WlPd5;}tLN5$F<3jD68t>tH*j?JbGE^dj%(fX)jYgjaBCXS#v37g)k~(lf+F32hwHf=MxdqaI9k9{rVi31h3slzqK#!dUADZ%AIh zkQ!N`K~;E=Y0N8-o2ijOEYR5!0J$ z74GL<>dK85$I&7N!e^HeBB60@np5?zAwmnqa`eW1W5YX}R8_o-CRRE-b%=+XI|^%U z@03ImcD)1dRpFBD?|j0aCr+bQbe#Cc1kE$dd(s&|Dbt zE8OPm8{ri`x512QJa;RrusE(@E*MbG&}WtQr?8Jqt8?jstt@mgwI|Cgk*!~xu5Pjx z^*m*MaNE}uUKYPGza-&qUzt^4f1X9cV#S=*(iUJgf2K`PgGEBjN%hPa4wSON@2og_ zZzIJeo>3M`gfvA(h@6e4JE2Z-K~b<`l_psSxjJewN8Ae%Gtsyy5=~bX zdL+aKswU5XHh21itn)k+8V2N{VjIPUE34OM7jthBY(3 zw3>PoMNj!VTT`H11e&Q$p(wzE57q-#NS2NFID26Qb1$pa9%E#m!>o#+QDEPfILG(s zQvYc1c>ryg9`t;P()x>@q_J+1c3EqWe~SCPXS!v7eqJHySg3-xcxq> zb7;3VsC}J_2X8Ng#MAh2p4*^BgA;F3F?jc!72f>7CUVcP``Du_!lB{#Bk`fWm!;2W z?ZAwf++6pZ>wu>V8**HyuxFX4L*RzdO^_9s&3%pSGjcOlKo;V z;c^^cxoZC##8ayc934z05!xR)t%hf*VR;lVdY#I>QO~lpem(b2f!%gZ>^^sMIG~nR zxN-(RB%}PNy+hzO$sCddgz{xhFKv!lU2R%!x$xSnT>|`{5hFyX3+)}sF!e<~+_lBt= z^=Ltk;vCKj)rg`(qv`BG2`-0yBU^uukdfTERa0nzuX055 zdz$f?7a75~<(Qgmn#97>SRdzxQ$;s%Uox*pWJGfp&q$-#O<&lZ%s4H?mCPAHCn_z* zN83wo)DTQy9aDK|dYzwr2oO&SL=sF3?yae1^#JAs~k6ZA@iFf!tu;Qg2S}z8%9<-Ss zW;^FAE5@Z4*Y*^?QBm7u+?Y>BbWRSHy7ueY1P9_Q$WM^Hf zjTo!g_q~{d93w1<^zAeV&DG!oG}(vBE?F+wK(g2S*JV?Ya4S^mHis zBzBEX^Nc(!19?Z0x{xN6ZZI+PM(Tl$RD|c;lD@)PY(F!>kFk}-6}DQ6+mZ`lgz{33 zWA*E^p2S+IF$rkhvsE)3A_JL+Zk8B$U-oI6eP472(yp_d*N3CKFEX@Y79J#E9J41Z znhq_i6E#`Z!z_$jQx?1gXqtAJsAuq3B9Gh0 z28m5eV|V6i+iAsZHXPcBRR4dzqE+XTk zZrsGLXf8tBG4th*b=2m5Ib3?SNsa)L-B1C<_a@L~?JA?p;j`LHBuO^9Y*?}pDZGpu zZgR$cMVDvpT{g2*mcZpjqB+W5*sC@%XZ4Zj>72tv18jd+LAgTu^_kgFi)dT@ z!JPUd?WXq9nt>Y+`J9&b7}wnI<~J{rY>$HDYX=V!R3Fu#+Ec`rh%5n(!J}Sa#LPQd zIR&$CI)T*mIqA3pEuf^Q&b7bgxx?s_x#8-f8{^MPhbE4-aPTW4$ak^*9G|%vX zEqo2UbS=e!PtsDYP4$`TCSO9WY8Ey{lF>oVZ{aaQ6BB`j3c8C03wS>Xrv*v?5kr#b z*tB~k%>>)kAe=i}3C5C!L*4)_V?*gmT3x9#0pGkjXSl>F$jo6H)LhV+DJCAe2`x8s z*H_FKprOY{u~=4xM?J8F$mBfGq6OE=M>E>GQJ0v+a?mSvj^7pt4JjjpA>U}9Ip}yz zRnz;;dLrhAt6zmmNacOHIL>Svt~U)$c^GE?%xQZ0W#L||20~h`V9qRJY-MzIibH74 z12Stcy!m9eb3*@^$bsY)7mGi3?TG?V6cyz#G`di2b)W#)5A+dSZY^dw1e%M5Ugi#y zl*{v$8SYW8=c6*${2L5=){Rig)O3~?_+be!`vqY>lSPjQ+-OBIJVtuU`bbfXtMvCs zJH2#BaQpPhw#dsI`Lx%EbLuj_K#Ny@<(iG+bT>|6nGef%j!;VorbQx|iic_D5rV+i zL&k&J5337ov})FKf|cvWJ<}(-caW06U2!-6T^3!KloL=mUss5j_AYv*qSg4M-3TbT zfZH!TRx9kd;pde^rSkEsOEh*`aaI5J{v5Zzr}+$3n)Bp62|*bWW56dJl(D_gtY@CVNahv zO1AeWW~v~IYqN<+m!|EwbHSkHaw|rcJX|^_b&5u>%6Uy&-wEB==j;?)i1*XV&I^S|9GfQ?;c97qU}2 z#*+QXzYerv#-lvlwKQC>vBdGvD@6JFy`LQUqVL*;=@LP{B#IH@{t&ZZ!~pf~Y_}&) z1AA>%QG$f{CW*&+&An*F)`Al8pv8mXW>h9dLCh0k%~_1kIJ5I&*3Ht6+Ws!h{W)3Jqy3zdL1w6UNHH#DOpZKZ@c>V@QikF~j}MJUn}0&1OEj z@wMol&gfjk4waCDBK)#a?BGH`hGoE0d3deY?swu!T^agl7C+#~7-rDZkLwWW+;++R zJ>Nc=hgL@$D4Nv+1v!l}B|ug^5wkX^h{fXN<^eI2I|if_Wfue_^wSsB&SuJ-QIsS= z*7|WZBLo!vOUVc)o-mSt*fc4~NiD1zGG&UTW?ogVp_3M#> z?~TJGIM%0tPY7jup{zg@;E3$5hDl0k!~IGanTTCQhPE+GF}Wt~v!<&hP+S{q(jUvP zDjw+#MtPl$J<+PMiUaAv#kg&!w`$lw1^ID)(KMOUL}90p7B#b*PTyLevH#FucF?*H z)SYa&c(3Y|10}(p+o-R;mq1ZB#iZwg$ho`$@N2?0UsW@KE!;Yc;)}h4AjL|qx&ggXfe%H@PVJ$K>(Vh>|HnDWC(vpM z!muVsxyk~4a2@`v(+qQa>#^M+|6R>lnyG*v<#v3#2SBd~9asY+nXklk6$p-IqX^o5oam4 z1=DppJ?^qIQX*m^Ikn!a=AS8Qi-B3}SHU%*EZ`%&w|bc4N7W7^$Ko-P>d$J$jG<%@ zbFEM&&ajDlPisgExrBpj_Z^jWL-KBbjKu3d(e-!qwKHynny_cKMz`S=Ll>Vp!>wLr zspFEC8xHx~>FwQ#ePDeH{N;FaKqL`qS|M@$CWxD4U<|lMBUugfuk2qttOAkbv#VIi z>n~E>_#!BiLbZG1ZFd!r3LaS$OzLGw$O1S3lfVlbpPbQNKGCEHxF!w8i{fgJjm6_a zYEB(H&_lAb7;=Z|N<9+>9XFVKXG7QP#PmXoIqh0Ffrn2`3O&sFyma0-ad!*%xY-l? zj#hq*d2&zleFL|$WY|OV!UOQk+UTwgfL)l ztTu3uwkd>_4yp@Q(^|L1m|9THH@a}?4Wws;K6r&kQr={ZcnH8>RY&p=jN2C87pD$R zMW43@u4-t)bfdLT?2*r54?GNTP3LHnoXlz-m5^=5sn9ES?Gz(zdgBgPlV5c7cOrBS zyMjV_5;X~VWY&jiw>;UCu}*;A#E^MUC4R{E>#022)|P=)gVA7#rJm91OFJZOV|$za z>6Aa&&D&JAG==JIH<(oDl_CM7Bcx4NB8N_?g46eV!juzWIjB2-o|bW7&dee5H3i~L zbn|Tuid7Bp9e*3|mD!Na`!;%hB}lre$}fQTg!qdva+#VzmlwWQy^`Ubwdx7po>kjS z^rw6HJ_h5e?chgr6=cCdd3@qw$H2+Fp;oZ7B>{059plp**B)ySHjsc?@6&Ene#j%+ zy5A6Qp=vXf(waBPm1zOOB$nem(ZmS$zcb^WWQ#~$U|;Hm)p6*UcU%fK8k(iAAu15% z2OS=Wi~gaGE}&Rz`F-Qw?1D*x9^G3A-rLFo`jkZ`ZaR3|AiO zo5@?1*uAZ!#7ctaw?9g)z!6t)Ga{3Q!s2cY%wO_c; zPx7LD+JqtPaAoxEf^m^o_Ycghp3Nv5Bg+Sb4B|!55P>*#=f zoEzoB&kw^zrrrl0zjSq8_bX``DBeSEHXuYIYdScOV`0KPB;u|KhG=eJcr=gL?a+pf zHR5ZScSV6lQ-A*NgN%<)cElx31rgN5)U>g$DvrG zdQze4Yh;jx9+<*guAES>F@_UECw=rFmr;UelgbOudhmWPcsTEd=GjFEdQ!^r;c^8r zRIuXcUd>i;PWL@L0vjtfwCoLm^kX!itRGoQyw&O6>x1*|1Y2;5oQzEV*6~PJNy`&~ zx+XznZwxz7yyxS2(e%OIs}FVUE1_GH`!4Zh-S?Um)=oY=lJoF2D(Gal=>SUt)|$b0 zxQ@iYk>$v;&-EN>H|^xf3J7ZxObiz{8ROCJ^NZ^w?kr9b>1!O7FMA3sPZBw0w$`Rw ze7zeFS$9izDqWk0$#pifjfKEAe1}J8j^D7>Y7i)I*W5MO-chj{6Hr|Lxv}rF7mKZ- z^|g>ofpT;Oxm`Cu1rNGHWw|OO8MIx_?CN^v*vX2YFk3H(sBz7fgL+fg&|{EDbr{@u zxfW!f@m9aTqICONsa~c@dCn6Ve;h6VnOP+NNys8F`Z}N-?cd z9j&n#r6H^k*>av{8qGb98fx8VciAH28B6R~T6bYgl1; zcp*nU13accPYi9}h?C}@sQC=fkRhyHN#@LNs;m%b1Cb1Bq|(&D@z9j( zkp-(Sw>`e_j*lfr+xf*LyIRvS`Yd&d-D*^tR9Eowh~t1NEwjH46HgQ9@8DoOS3Ygp zf;k7NtUo%yH6T3t_T_yy`)!V*jn8!ee@zbfViC{F-oPVReZVQlRO*%aP1W6t>&IdnU7!LuB^c-ecBYQ(ESfQxAu+H-oPKc{i>Rjqh`m)cYXN_zKDy6 z(|pGI6i#1k-A;AirNA2Yrom^FEz|)Mq|dB>@4xlbZ@%GpccIR+EKd+(-movf{q{6n zM*O+z5jIHWsAr>xRS&ep>GOTP4GVOhGC=~>91A|yodW8cHWS#aMxWj$BG5aQmA9$D zeg=-7KCKMhZc-Q~s5B2DvaD7vow2T5lWim-8JBtSNxdX?tV_qhTt@5Ytu0WY8Tyb* z48~qwK|rTf#UpD=iUl$=^<+{^^L|f6>?zXl%KAN!q!B5QaPgdO2i9}v1xS@&23h-- z0=oN5RAbT}z2LM)fS5t{RpB5BxT3FjMzqdl{TEjX5(Mbe#q>G z;~=X(x8H>(VgMB||E+8W`L1Ea_n%43&X42_IED@5Cv$PwOxRtMOMlNuOWS7G&4g4& z&g?dhu)Z}m8SRWJS$N)Xq8t<+9<}(6d06vQiF}gvmHSk#v~yeC@XJO?M?6904`-6b zFVbRT-Ip^KZb#O}3YoSa<+HnlzL$Izrfe`V+R^4#Giqf|io~er5YoK(%xypa#Jhf1 zX$Q}2lYGRZEN6uyhbqq?&|u42aLyyt6Hd2PwV`ULv_U%7MoW9`#a0NKV<3@g5Ypz| zoJEBmRqNWS+ErTl7J%Al>T0NJq(myFug+(@xe%<`2$qA89hQ1Guu4%u>UF%&vYX;! zl=wgMlLO9?8fI2qs+V>C%>Pv3ZA;t%8n2&EC%3#-RNwvb_GKo&zPdLmXvWUFSobXXLi-D+j$J)Ud&+*nbGdfY zKAP0Pi*FCl`!dr#>g4`e*9q>usxK!^$y7^u)cA;nt$Cfw5nH*PyPJng#U8NRBtG)f zo{();#~hR(mrxI-i=DCmrH9r_s8L&?_Tv*z+CcwA!ipwYosLSgoeg>qQpA z3XPGKgw6>A@1>O0ozF-#4RTkcrj4l#y|6v2!v!i&m*pl-R?C=lJjicyh>Nj6C~ec2yFx34NLWpg@fUuKAmp2vuJ~|77FY>WrhGq8egM!=Q#? zy1oN0`{^=QK3;8xX8*Wp^`)0#m)wkE^Ru*`v*Gd8m1WGBg310>o^?U=e&~%o!@lpugN($ zL;=EG3cvM`U0k+;F{=W=@z{5Wl+qLlkNO1IIZZ>da%g1qj8kJtJy>Wdgd^KEw}%$< zqoapqT_JjKRm&GhOa99d&9s(|`^qzXHf0*5P>VJ>N5|k>RBSE9y9G_%-Q6aYifpDM z$C_OIKsDx^eff;4@V3^*=B8fddoH?&Ay(8jo-W!lXWFTVYFe}Kh+*PGbGos*S&n-n z^PKV1r2=Q|8vDje^&$-8<-l*(glx6>&8#=Kco)17#ri6rZjlR0pC4~dOb@ygSGhwA zD3N^9qw8yu76Zh1FKUg-8bLtfUL?`&`^B(s3di3aZ8l9+KB_T)oGnzaHRFcUw9SdVEx6yXb?@8s1Vf+u9HJImEf+5eep2$k^ zXjb#gl-U_|9#) z9mh>2bYDK~dy9V~8|wCkEk87Xs@6N;S#N=nm+SYalA$^^YR`+$0>#*Djn@yc|BBTA z3EX{Ih#ncPi^<<1PWHjmtnjToHUxSW*;gjWL~+~qI|#9FRUPB3+ZWB)_j+G+HJLiQ z1Z{D#NflUIW#?sydHdC?%Q8_^mU%|mOshW{VpuZWZSXFLWBN2l3U#sB9VUWW%w|3g z0Y*lA0h%?`r?>+CUOR$njobm`0)^LZczRYGZ@F22q!8WqPJvbtRSyTyM3Bm3FKWh4 z<+?BcoTrQ0dL{?UmnMig7qIVoZiXidzQ{qIV%fwfrdO?E z#>pCTXMcNu;xAUoA4ZCs7+{^y$MQ+}`0yAqJnc+SNa5~j_T`JtR}qhG+;s__XIr6uVuEIBwYgokg)Ay zs`tkV`z$B(ITx<0Q!6mp6!~0hbX@AzEt!GN*xn+WF7im~scG@~##9AGMaKpj-DjV0 z_C&%d2Pj}~ug4F4f}Etk2PXV(=4+neuK)1uoBX27bL%qUC-6!1F3{`aUZE`CVef)P zM$)%peg9*lnr}HNZ8`UJo4ouszZm;DVc&`j5}B3&T2V66KM*M$yPW!g06p>%h2R2! zE0?9i?o~70{&aJ zj1hIamRWosU%lwv3Q`!PpvFc5&C1H@u69_`si#wa;v$(vyAvw)2Lt@YRPDjKp;?<6dmYaB;d!7Ar%c)UXI#9B09oe>JgM0V zeXnaF3P;(;^d+ov6(<(Z)nj;d&hd`Ih=EJ1&)iWA7MDUU>`hzv@Y7>3IJ)3kkK&7f zsc_KWAjZFm;VcU=RK5{7B>d3n_^jTHV&{}*iJMmp)5bXOf9 zJM=)Ry^ErPCOZ?R%~(*74J&Ae3<3X2?$fexOKy3FqJqY)h}|o*8$Uk3UsTYhf2?Gy z*MMib)c}!El#Ptd5|@!tjI}7xt_RgW`OnyY{prXNm`NYy)8gq$QV^@5YFRx@RHPYc zG)AxPN>DoD2{zgP9&4n2(^&1T2Fz3 zY!6emJX#Yg1dB=C)M$)OZ%m}^yjs)8c#MstLK90)+X|MoNmUs9`uR^q{zKK(c;obh z?VGTT=xCVicBPRT)2sVMG}79#jtN*yefE7AsRzNbx3#xC!lqMbpR*4~uMZ4A2>v=#@v!U=|m$ckEydZ8|wIWfX(7anOB7QQFtgBmk zY=c}Ze!O1urvu)72pr5_HKMj$dqwu6Khv~3twf<@5xy)h=_XqF;{;J*gXXzqrx>jq zZwB_-Pc@hY3!p4@v+%v(=}cH{rgqv;nr-jsr1WVfqF}icMlG9KC@RVF$Yh;Z$v@<8 zo`gSC+%sS;!YHSgg~Uu)64@mmJw0?&k9uS$;3o~nW$P`tA#z-&`QWf!TdEcuwz=NyC_3U7=hiPRFAwm$*K{)KSzrPO~n0N0^^)r+1 z_t}a(DSJM~^^k#)VPucK+h3I7{w(wtlB)=i>di*L{%jaOdK~`FD8Hz{p+P}xyH2@q z1kCJ?qSY#Mj2oSpfPBAWWMpKr8k+C;{c}03VlFM7>HdlFmE`(fa?mmsRLPr=bdPcT z5ZYdy%hv!p(dL5}?wOD0m9!+{3iZoAJdwJNm+}NO2}lQI0iiLKr{a6Y>gR~v`7p*M zE{L$*5@;S;#M&+$ZO5*fdq-fYg78IwSs6o%BiCJ+ zVP_7zoSY0UFA3G3(Zyc{^}7tPI zrnUl2Y*X_}?$G0(=$R|yr4CTGRfLE}LRIyN&hh#u8kI(4OrLXRVBK*PcKVBW8aBbD zpCWiw@1*kceQ)gBoo9ThuX79+JQ-zQATlO_fwbSc49b$sOcZDqC7TZVfMgWqExg_e z|NJH&qy~6NsAaZJQTe4V9jz&GiDMh1=CpRvS~r+yE@$MOt;3h-%ITHf5yj~JrS^(S zok3gcMqMVz9HdFrN-da~TW@j^Z{X&14Deb}G%Yo=#JPD6mJt5+U(omtK;xa4+ie{c zjFEjc{>n@Fao4mP2nxrZ+A?!zPso+lZ@kxB>2~E$(=h)+yn6;RIrCE#P&Y8xRqspZ znp5Cgotq!FP7CiFVT}L%l$Shuq;!s$lbJFG{Bzn?XaFj*!RVfF<3BF2>PgM6akG73 zKCa1?iP`UXqTwm-)$$qK*~NO(4clWA3()~o-qYLW*ZRj2^oX1bpcgF!`Nf4!*W`@E zJn9Cz?)-czXLVqz@^|;(-a(3GYA;pq4<8xggFJQT-y-!O0po+H=nxWT*S0{lQC;_? z;>LCaj{LloVj@qKg4!&xwt=xw5!=3vu=z|v2W_26c85Hw`)YnHo(UzCUuAvU&$n8 z0Y1Fq$G_5YLd<~H9a(%WybxaxD6tdF?WTiy9ICDcZ?8_h?GLHffR8jM$_ar2?ZgbfW2NEzQFXLGralr>rY1(#RpKs(X+SJN~9Y^uRmkNmo!F%V}j)G zjgKk$E2M1(vwg+gkJH${!i7&G!w81{jwWW zO|+#i3krnTKX~V~wzpQe@qA96t*SM~;i<^&@&sVZGBJ^yvQho5hl8bl<|aHpKLP$L zbm34JILpzLrwSlFS|(}*WI=0{8$Q19#qULKo0L_a{YC4Jt*-+rcu(3i^yAjhs9<>^ zLlM3MsDZSq>Q`vHWE4I6B(?seea3MwHR-^h+?#~g5Sg2suEpX4(#cVr(g+vX$=lX( z@yIXPm%b9eTsk=y_4DxSn!kXcJXdIppFtoyJmI(nI8Y@%Z3UC+I!S>#&4 z?CNtMx{}PqV(0MPKcqB%F`58qBL2GryZQJna&DWzKx_bn*g1aeA}wrkp5b60UO`Og z4J|sb)NQy;C8w;x`$SeW4q_TkY#dUHK_l)@ON*jW_e)GF9Po=D`us|6l>x4e@ri=h zsd?M<|DX1*G@Q+J4Wl?(hZ?ojPD>H%%)u#IO0|U1&Z%s*Q+05Jl$i;-QKJnqmI`BQ zQOh7ih%M;UC_(5Dqt=*Or*^e7#d&j8=W%KN>~{oc?0+|Qfu)k@^> z>U?t7^n^qA=68}V>hiG+B4&?>)dN+S`ywSyz!J`=YcCKnVJck zuDF7pfv}W&Z{QrUs*S!X!`?cix^UuDdzy@H^X|Q>UAXzpbU}2gOYAOs_<*$P1kx&7 zWiUF{;ayrimw%Yq!AxdSYPuxTWewK@QqKCpqrXjZxvaK}UlrQKZu9rk^-*v}*GCFzsP?>|QFRZ@%o@Y+3)owct$)Iw- z7q=g%-mrO&F<{4b4w-G6mhMkQjTc(q*z%gcOd7q@f5~TgGr7|6aTV8i9gr*=IFGmY zgEqEPb$Z(r=Bs-pU$sBdclzFBHVzr<)uUa**Tl*k>B!{9B&7Fk{ms2tKH?x~gaJC0 zRJ<^%R5>YW?TH}z2KfsuI5_zD`cBZ(un&o8mDNhEMr%M?Ob4~NkF+_hvvo)VpaE4Crc$2g$u1kvs#YaRG&{W+kwWZN zV{%jPDCK+N%>rSMsMSaU7zc&f!{-qj2L25i znE9s*6eFj;$-B6H3cBX{+VPYrY^XJ^KukiM!wrexA1=0)laqY2UftmtxB-G6vZPOV zuVBzfQ$y7!BqT}&$ex9+89KW;ic)Ks`2zJ0`q(Jlw2-3Wf}dwu#iy8Mzq=%e!%&-f z8$JtK{bC+pc-fLHjy_^v|3%ywTW=?nM7fgEFXndKTb*V4MR9$;hY55ZbK(&8L{9wI z&j#or>S`J!c*bp*vrPLs6Q2B|2)3aR<9stXx9*Rfi=%Jw=6x0?f%;kN551HU*cp?F zfPG_@(PVq1;z;w8EW0v0kC!eKEo}qUoIpK+|GAh1PFJoPfE^9Mqp;dWzx6Mo=Uq6v zJu3)~zAgS&XF=oAvS2PeU%p($I)AC{#r&zpAdS+)V~iGTt=+HQEuwF~^9T7chl zBo{eSo%IedU{?4+T!$CMLK^fFQAley>zZG^Ep6by?ao)dzgoyKB+M!5NEmX~7Tf@*a?b16I9JVlp0qdlC*2UCYh78Me}xm6hH zlAK(TlAsLTi{?;>e|>~QyO-Z`%Qb3XqHJJ8L2gtk6;$New=TJdjtl$FOb^w}tn}pZ zl?Ps_VVzh>=Y^Wv%nX2=Io=t;#^R8i95PG)sia@< zk`T!c1h0x78+H1c@a0%feA5+&-$Tguy?Dn`cZQWUJkB1tJlw(u1;>dK9Mdf4fLq80 zcZ8}$r9JlO)!8y~p^DPk7l^dJKcu#g$#t*z49-+&_dnqlK!6Y56y<1e?DU&ZaFId z5NGpIZ=VCK2d)4_0=MywM$k)LAOf_4R7~d6Kem_cJvx=q;4|S0^2y&r8e3dEBcB1! zCf3*sn#H-o1c0wYcy*tV3!UNbn&H7@{yg>q1I@{1is8TlSKb)GO+lhmKyl9-3q(RI z(@#?b5VBbPX^Q?Nw-5022}S>>g%&1%6s_DB1x;5Ry~o4*jf~;vuL4Vtenq77%8dWS zP8;8#jGZ}vz!XJVdCo|b#vG?!IcbcW`yhb(s^hz4r>a(UkjCk Ax&QzG literal 0 HcmV?d00001 From 66544ec8ce5aaaa561dc2211052bb1a43a7723c9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 24 Apr 2025 21:35:20 +0000 Subject: [PATCH 10/81] Update schema.v2.json --- static/schema/schema.v2.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 2a779542..5573134e 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -285,6 +285,11 @@ "default": true, "description": "Abort the in-progress review if the pull request is closed or merged." }, + "disable_cache": { + "type": "boolean", + "default": false, + "description": "Disable caching of code and dependencies. This will force CodeRabbit to download the code and dependencies fresh from the repository each time." + }, "auto_review": { "type": "object", "properties": { From a45ee8c941d7765719b726aea56b9006f2471e0d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 24 Apr 2025 21:56:22 +0000 Subject: [PATCH 11/81] Update schema.v2.json --- static/schema/schema.v2.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 5573134e..755a12e0 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -116,11 +116,6 @@ "default": true, "description": "Enable free tier features for users not on a paid plan." }, - "auto_resolve_threads": { - "type": "boolean", - "default": true, - "description": "Automatically resolve threads when code changes address the feedback. When disabled, metrics are still tracked but threads won't be marked as resolved." - }, "reviews": { "type": "object", "properties": { @@ -1136,7 +1131,7 @@ "default": {} } }, - "additionalProperties": false + "additionalProperties": true } }, "$schema": "http://json-schema.org/draft-07/schema#" From 5c3a7fdb32c11a9f83234ad13dbc9c58f80fcec0 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Tue, 29 Apr 2025 12:28:29 -0400 Subject: [PATCH 12/81] Reorganize and expand the Introduction page (#297) * Reorganize and expand the Introduction page, putting more emphasis on the ease of using CodeRabbit with quick integration and friendly chat, as well as tools and learnings. This change de-emphasizes how CodeRabbit works, removing an operational diagram and information about its use of web hooks. That material is better suited for deep-dive docs, or blog posts and such. --------- Co-authored-by: Aravind Putrevu --- docs/overview/introduction.md | 90 +++++++++++++++++++++++------------ 1 file changed, 59 insertions(+), 31 deletions(-) diff --git a/docs/overview/introduction.md b/docs/overview/introduction.md index 6f2e2e5b..9c4fee30 100644 --- a/docs/overview/introduction.md +++ b/docs/overview/introduction.md @@ -9,56 +9,84 @@ description: slug: "/" --- -## What is CodeRabbit? +# Introduction -> **CodeRabbit** is an AI-powered code reviewer that delivers context-aware feedback on pull requests within minutes, reducing the time and effort needed for manual code reviews. It provides a fresh perspective and catches issues that are often missed, enhancing the overall review quality. +This page provides a conceptual introduction to CodeRabbit. For a hands-on tutorial, see [Quickstart](/getting-started/quickstart/). -Developers can interact directly with the bot within the code, offering additional context, asking questions, or even having the bot generate code. Over time, **CodeRabbit** learns from user input and improves its suggestions. +**CodeRabbit** is an AI-powered code reviewer that delivers context-aware feedback on pull requests within minutes, reducing the time and effort needed for manual code reviews. It complements manual reviews by providing a fresh perspective and catching issues that manual reviews often miss, enhancing the overall review quality. -:::tip -See CodeRabbit in action and watch the demo video below to see how it delivers real-time, context-aware feedback on your pull requests in just a few minutes. -::: +Developers can interact directly with the CodeRabbit bot within their existing Git platform's pull request interface to add context, ask questions, or even have the bot generate code. Over time, CodeRabbit learns from user input and improves its suggestions.
-## Integration with GitHub, GitLab and Azure DevOps +## Core features -> **CodeRabbit** integrates with GitHub, GitLab and Azure DevOps repositories to deliver continuous and incremental reviews for each commit in a pull request (PR) or merge request (MR). Review feedback is automatically sent back to the PR/MR and can be committed directly. +Core CodeRabbit features include the following: -It works via a webhook, monitoring Pull Request (PR) and Merge Request (MR) events. A comprehensive review is performed when a PR or MR is created, and for -incremental commits and comments addressed to the bot. The feedback is then sent directly back to the Pull Request or Merge Request. +- Integrates rapidly with popular Git platforms and workflows. +- Applies dozens of open-source, industry-standard code analyzers to every commit. +- Implements code reviews as familiar pull-request comments. +- Works with contributors through natural-language conversation in comments. +- Learns and adapts to your team's code style and review preferences. +- Provides an observability dashboard of code-contribution activity. +- Practices strong privacy and security, with no retention of analyzed code. +- Offers free use for public repositories, and flexible pricing for private codebases. -![CodeRabbit Code Review Flow showing how AI integrates with GitHub and GitLab for continuous pull request feedback.](/img/about/coderabbit-flow.png "CodeRabbit Code Review Flow") +## Seamless workflow integration -## Data Privacy and Security +CodeRabbit shares its reviews as comments attached to pull requests, using the same Git platform that your team already uses. Further commits in the same pull review prompt CodeRabbit to make further reviews, using the earlier reviews as context. -> **CodeRabbit** does not use data collected from code reviews to train or influence its models. All queries to Large Language Models (LLMs) are ephemeral, with zero retention. No data is shared with third parties. +Each time that it performs a code review, CodeRabbit runs the relevant code changes through [an array of industry-standard code linters, security analyzers, and other tools](/tools/). CodeRabbit synthesizes the output of these tools into its reviews, offering a high-level analysis that can suggest areas for further focus and improvement. -- **Temporary Storage**: Code is temporarily stored in memory during the review process and deleted afterward. -- **Stored Embeddings**: While the code itself isn’t stored, **CodeRabbit** stores embeddings based on chat conversations and workflow systems (Linear, Jira, GitHub/GitLab issues) to improve future reviews. -- **Compliance**: All data is kept confidential, isolated by organization, and complies with **SOC2 Type II** and **GDPR** standards. +Your team can have conversations with CodeRabbit about its reviews by replying to it with follow-up comments on pull requests, asking it questions or making observations about the review using natural language. CodeRabbit continues the conversation appropriately, offering further insights about the code changes, or adjusting its own review style based on feedback. -### Opting Out +### Customizable review preferences -You can opt out of data storage at any time without affecting your access to **CodeRabbit**. -:::warning -However, opting out may reduce the level of personalized review feedback. -::: +As you interact with CodeRabbit through chat, it learns the review preferences of your team, and applies them to all future reviews on a given repository. -## Try CodeRabbit Now +For example, if CodeRabbit uses a linter to suggest that your pull request use four-space indentations, but your team uses a two-space indentation style, then you can reply to CodeRabbit's pull-request comment to tell it exactly that. CodeRabbit acknowledges your feedback and adjusts all of its subsequent reviews with that repository appropriately. -> Ready to experience **CodeRabbit** in action? +For a video introduction to this feature, see [CodeRabbit Learnings](https://www.youtube.com/watch?v=Yu0cmmOYA-U). -:::tip -For open source projects CodeRabbit Pro is **_FREE_**, forever. +If you need to fine-tune CodeRabbit's behavior beyond this, then you can [add a CodeRabbit-specific configuration file](/getting-started/configure-coderabbit) to your repository, or use the CodeRabbit web UI to set further preferences. This file can include [path-based instructions](/guides/review-instructions) for how CodeRabbit should review different files within your codebase. -- No credit card required -- Unlimited public repositories +No matter how you tune and customize CodeRabbit, its default settings make it useful out of the box, able to meaningfully review pull requests within minutes of its introduction to a repository. -::: +### Platform integration options - +CodeRabbit integrates in just a few clicks with many popular Git platforms: + +- GitHub, including GitHub Enterprise Server +- GitLab, including self-managed GitLab +- Azure DevOps +- Bitbucket Cloud + +In addition, CodeRabbit can integrate with a number of popular workflow systems: + +- Jira +- Linear +- CircleCI + +## Data privacy and security + +CodeRabbit does not use data collected from code reviews to train or influence its models. All queries to large language models (LLMs) are ephemeral, with zero retention. No data is shared with third parties. + +- **Temporary Storage**: CodeRabbit temporarily stores your code in memory during the review process, and deletes it afterward. +- **Stored Embeddings**: While CodeRabbit doesn't store your code, it does store embeddings based on chat conversations and workflow systems (Linear, Jira, GitHub/GitLab issues) to improve future reviews. +- **Compliance**: All data is kept confidential, isolated by organization, and complies with SOC2 Type II and GDPR standards. + +You can opt out of data storage at any time without affecting your access to CodeRabbit. Opting out might reduce the level of personalized review feedback that CodeRabbit can provide you. + +## Flexible pricing, free for public use + +Public repositories can use the Pro tier of CodeRabbit at no charge, including all of the code-review features described on this page. Rate limits might apply. + +For private repositories, a number of pricing tiers are available. These range from a Free tier that offers unlimited code-change summaries, to an Enterprise tier with access to advanced features and SLA support. For more information, see [Pricing](https://www.coderabbit.ai/pricing). + +## What's next + +- [Quickstart](/getting-started/quickstart/) lets you experience your first CodeRabbit code review first-hand. + +- [Why CodeRabbit?](/overview/why-coderabbit) dives further into the philosophies and technologies that drive CodeRabbit. From bd7aeff563b500139c300a7415371f27bb559c6b Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Tue, 29 Apr 2025 14:11:01 -0400 Subject: [PATCH 13/81] Clarify that CodeRabbit is free for public repositories, specifically. (#300) --- docs/overview/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/overview/introduction.md b/docs/overview/introduction.md index 9c4fee30..56161eba 100644 --- a/docs/overview/introduction.md +++ b/docs/overview/introduction.md @@ -79,7 +79,7 @@ CodeRabbit does not use data collected from code reviews to train or influence i You can opt out of data storage at any time without affecting your access to CodeRabbit. Opting out might reduce the level of personalized review feedback that CodeRabbit can provide you. -## Flexible pricing, free for public use +## Flexible pricing, free for public repositories Public repositories can use the Pro tier of CodeRabbit at no charge, including all of the code-review features described on this page. Rate limits might apply. From fe08df394745074dcef3303c00e71d1f08cb75f8 Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Wed, 30 Apr 2025 11:11:19 -0400 Subject: [PATCH 14/81] fix oxlint (#288) --- docs/changelog.md | 6 +++++- docs/tools/oxc.md | 46 -------------------------------------------- docs/tools/oxlint.md | 46 ++++++++++++++++++++++++++++++++++++++++++++ docs/tools/tools.md | 10 +++++----- 4 files changed, 56 insertions(+), 52 deletions(-) delete mode 100644 docs/tools/oxc.md create mode 100644 docs/tools/oxlint.md diff --git a/docs/changelog.md b/docs/changelog.md index bf13d57c..656a0b5f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -66,7 +66,7 @@ We're thrilled to introduce agentic planning on GitHub for CodeRabbit chat as Ge We've expanded our static analysis capabilities with two new tools: -- **OXC**: A high-performance JavaScript/TypeScript linter written in Rust. +- **oxlint**: A high-performance JavaScript/TypeScript linter written in Rust. - **Prisma Lint**: A dedicated linter for Prisma schema files to help enforce consistent conventions and best practices. Both tools can be configured through their respective config files or through CodeRabbit's settings page. See our [tools documentation](https://docs.coderabbit.ai/tools/) for more details. @@ -124,6 +124,10 @@ We're thrilled to introduce agentic planning on GitHub for CodeRabbit chat as an We are continually expanding our support for static analysis tools. We've recently added support for: - SQLFluff +- Added oxlint for faster linting + - oxlint is a blazingly fast JavaScript/TypeScript linter written in Rust + - Replaces ESLint for basic linting while maintaining ESLint for more complex rules + - Up to 50-100x faster than traditional ESLint ## February 25, 2025 diff --git a/docs/tools/oxc.md b/docs/tools/oxc.md deleted file mode 100644 index ac01dfe0..00000000 --- a/docs/tools/oxc.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: OXC -sidebar_label: OXC -description: CodeRabbit's guide to OXC (Oxidation Compiler). ---- - -```mdx-code-block -import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; - - -``` - -[OXC](https://github.com/oxc-project/oxc) is a collection of high-performance JavaScript/TypeScript tools written in Rust, including a linter that is 50-100x faster than ESLint. - -## Files - -OXC will run on files with the following extensions: - -- `.js` -- `.jsx` -- `.ts` -- `.tsx` - -## Configuration - -OXC supports the following config files: - -- `oxlint.json` -- `.oxlintrc` -- `.oxlintrc.json` -- `oxlint.config.json` - -:::note - -OXC does not require configuration to run. If no OXC config file is found and Biome is enabled, CodeRabbit will use Biome instead as OXC functionality is included within Biome. If Biome is not enabled or an OXC config file is found, CodeRabbit will use the default OXC config. - -::: - -## Rule Configuration - -While OXC embraces convention over configuration, you can customize rules in your config file if needed. The config file should be in JSON format. See the [OXC documentation](https://oxc-project.github.io) for more details on available rules and configuration options. - -## Links - -- [OXC GitHub Repository](https://github.com/oxc-project/oxc) -- [OXC Website](https://oxc.rust-server.org) diff --git a/docs/tools/oxlint.md b/docs/tools/oxlint.md new file mode 100644 index 00000000..8a93cbd2 --- /dev/null +++ b/docs/tools/oxlint.md @@ -0,0 +1,46 @@ +--- +title: oxlint +sidebar_label: oxlint +description: CodeRabbit's guide to oxlint. +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +[oxlint](https://github.com/oxc-project/oxc) is a blazingly fast JavaScript/TypeScript linter written in Rust that is 50-100x faster than ESLint. + +## Files + +oxlint will run on files with the following extensions: + +- `.js` +- `.jsx` +- `.ts` +- `.tsx` + +## Configuration + +oxlint supports the following config files: + +- `oxlint.json` +- `.oxlintrc` +- `.oxlintrc.json` +- `oxlint.config.json` + +:::note + +oxlint does not require configuration to run. If no oxlint config file is found and Biome is enabled, CodeRabbit will use Biome instead as oxlint functionality is included within Biome. If Biome is not enabled or an oxlint config file is found, CodeRabbit will use the default oxlint config. + +::: + +## Rule Configuration + +While oxlint embraces convention over configuration, you can customize rules in your config file if needed. The config file should be in JSON format. See the [oxlint documentation](https://oxc-project.github.io) for more details on available rules and configuration options. + +## Links + +- [oxlint GitHub Repository](https://github.com/oxc-project/oxc) +- [oxlint Website](https://oxc.rust-server.org) diff --git a/docs/tools/tools.md b/docs/tools/tools.md index 98bdc403..cb0a01a8 100644 --- a/docs/tools/tools.md +++ b/docs/tools/tools.md @@ -57,9 +57,9 @@ Remove extraneous f prefix | GitLab Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation | | Go | [golangci-lint][golangci-lint] | Code Quality | | Helm | [Checkov][Checkov] | Code Security | -| Javascript | [Biome][Biome], [OXC][OXC] | Code Quality | +| Javascript | [Biome][Biome], [oxlint][oxlint] | Code Quality | | JSON, JSONC | [Biome][Biome] | Code Quality | -| JSX | [Biome][Biome], [OXC][OXC] | Code Quality | +| JSX | [Biome][Biome], [oxlint][oxlint] | Code Quality | | Kotlin | [detekt][detekt] | Code Quality | | Kubernetes | [Checkov][Checkov] | Code Security | | Markdown | [markdownlint][markdownlint], [LanguageTool][LanguageTool] | Code Quality, Grammar Checking | @@ -76,8 +76,8 @@ Remove extraneous f prefix | SQL | [SQLFluff][SQLFluff] | Code Quality | | Swift | [SwiftLint][SwiftLint] | Code Quality | | Terraform | [Checkov][Checkov] | Code Security | -| TSX | [Biome][Biome], [OXC][OXC] | Code Quality | -| Typescript | [Biome][Biome], [OXC][OXC] | Code Quality | +| TSX | [Biome][Biome], [oxlint][oxlint] | Code Quality | +| Typescript | [Biome][Biome], [oxlint][oxlint] | Code Quality | | YAML | [YAMLlint][YAMLlint] | Code Quality | | Prisma | [Prisma Lint][PrismaLint] | Code Quality | @@ -105,5 +105,5 @@ Remove extraneous f prefix [Semgrep]: ./semgrep.md [Pipeline]: ./pipeline-remediation.md [PrismaLint]: ./prisma-lint.md -[OXC]: ./oxc.md +[oxlint]: ./oxlint.md [ShopifyCLI]: ./shopify-cli.md From e3c987d6aa1c45a168011cb4d65b4959f6824534 Mon Sep 17 00:00:00 2001 From: Harjot Gill Date: Sun, 4 May 2025 11:04:16 -0700 Subject: [PATCH 15/81] update rate limits --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 794ecfc3..1cb42735 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -128,7 +128,7 @@ The following limits enforced _per developer_: | ---------------- | ------------------------------------------ | ----------------------------- | ----------------------------- | ----------------------------- | | Files per hour | 200/hour | 200/hour | 200/hour | 400/hour | | Files per PR | 100 | 100 | 100 | 200 | -| Reviews per hour | 4 back-to-back, then 3/hour (Summary only) | 4 back-to-back, then 3/hour | 3 back-to-back, then 2/hour | 5 back-to-back, then 4/hour | +| Reviews per hour | 3 back-to-back, then 3/hour (Summary only) | 4 back-to-back, then 4/hour | 3 back-to-back, then 3/hour | 5 back-to-back, then 5/hour | | Chat | N/A | 25 back-to-back, then 50/hour | 10 back-to-back, then 25/hour | 25 back-to-back, then 50/hour | ## Integration Guide {#integration-guide} From 4ec4d46670c7dbb95af9eb2368c7f8bdb4485dd4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 23:11:59 +0000 Subject: [PATCH 16/81] Update schema.v2.json --- static/schema/schema.v2.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 755a12e0..1442d1f0 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -849,11 +849,6 @@ "default": true, "description": "Enable the bot to reply automatically without requiring the user to tag it." }, - "create_issues": { - "type": "boolean", - "default": true, - "description": "Enable Issue creation by CodeRabbit from PR comments." - }, "integrations": { "type": "object", "properties": { From db5b5224410e70f772ccfefc3fe758afab322e2c Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Tue, 6 May 2025 10:51:14 -0400 Subject: [PATCH 17/81] Clarify Data privacy & security (#318) * Rewrite the "Data privacy and security" section to center around one bullet list, and end with a link to the Trust Center page for more information. * Typo --------- Co-authored-by: Aravind Putrevu --- docs/overview/introduction.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/overview/introduction.md b/docs/overview/introduction.md index 56161eba..adba404e 100644 --- a/docs/overview/introduction.md +++ b/docs/overview/introduction.md @@ -71,13 +71,16 @@ In addition, CodeRabbit can integrate with a number of popular workflow systems: ## Data privacy and security -CodeRabbit does not use data collected from code reviews to train or influence its models. All queries to large language models (LLMs) are ephemeral, with zero retention. No data is shared with third parties. +CodeRabbit collects only the minimum amount of information needed to provide you with our code review services. Our privacy and security posture centers around protecting your data through ephemerality: -- **Temporary Storage**: CodeRabbit temporarily stores your code in memory during the review process, and deletes it afterward. -- **Stored Embeddings**: While CodeRabbit doesn't store your code, it does store embeddings based on chat conversations and workflow systems (Linear, Jira, GitHub/GitLab issues) to improve future reviews. -- **Compliance**: All data is kept confidential, isolated by organization, and complies with SOC2 Type II and GDPR standards. +- All queries to large language models (LLMs) exist in-memory only, with zero retention after each query completes. +- We don't store a copy of your code. +- We don't use your code, code reviews, or other collected data to train LLMs. +- CodeRabbit doesn't share any collected customer data with third parties. +- We keep all customer data confidential, and isolated by organization. +- Our data collection and storage practices comply with SOC 2 and GDPR standards. -You can opt out of data storage at any time without affecting your access to CodeRabbit. Opting out might reduce the level of personalized review feedback that CodeRabbit can provide you. +For more information about how we protect your data, see [the CodeRabbit Trust Center](https://trust.coderabbit.ai). ## Flexible pricing, free for public repositories From 717bfc2b441cbb27a78140ed39e9b309794e1e18 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Tue, 6 May 2025 10:54:35 -0400 Subject: [PATCH 18/81] Clarify the "workflow integrations" section (#319) * Clarify that the "workflow integrations" are specifically about ticket management (except for CircleCI), and expand the discussion of ticket-management features. Add appropriate links. * Split the platform integration section into Git platforms and Issue plaforms. (On the bot's advice.) --------- Co-authored-by: Aravind Putrevu --- docs/overview/introduction.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/overview/introduction.md b/docs/overview/introduction.md index adba404e..e215f574 100644 --- a/docs/overview/introduction.md +++ b/docs/overview/introduction.md @@ -54,7 +54,7 @@ If you need to fine-tune CodeRabbit's behavior beyond this, then you can [add a No matter how you tune and customize CodeRabbit, its default settings make it useful out of the box, able to meaningfully review pull requests within minutes of its introduction to a repository. -### Platform integration options +### Git platform integration CodeRabbit integrates in just a few clicks with many popular Git platforms: @@ -63,11 +63,18 @@ CodeRabbit integrates in just a few clicks with many popular Git platforms: - Azure DevOps - Bitbucket Cloud -In addition, CodeRabbit can integrate with a number of popular workflow systems: +For more information, see [Supported Git Platforms](/platforms/). +### Issue-management integration + +You can integrate CodeRabbit with issue-management platforms. This lets you ask CodeRabbit to create tickets during code reviews, or chat with CodeRabbit about your code from within issue comments. Compatible platforms include the following: + +- GitHub Issues +- GitLab Issues - Jira - Linear -- CircleCI + +For more information, see [Issue Creation](/guides/issue-creation) and [Issue Chat](/guides/issue-chat). ## Data privacy and security From eb25e102ff603d42cd610a9cc0275e958ec79e3f Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Tue, 6 May 2025 10:58:18 -0400 Subject: [PATCH 19/81] Add a note explaining why CodeRabbit requests read-write access. (#320) * Add a note explaining why CodeRabbit requests read-write access to your repository, and linking to the Trust Center. * Make it a bit shorter. --------- Co-authored-by: Aravind Putrevu --- docs/getting-started/quickstart.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 26d50f53..096f94c6 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -44,6 +44,9 @@ To add CodeRabbit to your test repository, follow these steps: 1. Select the **Only select repositories** radio button. 1. From the **Select repositories** menu, select the `coderabbit-test` repository that you created earlier in this Quickstart. 1. Click **Install & Authorize**. + :::note + CodeRabbit requests read and write access to your repository in order for its code review, issue management, and pull request generation features to work. CodeRabbit never stores your code. For more information, see [the CodeRabbit Trust Center](https://trust.coderabbit.ai). + ::: 1. If a CodeRabbit **Complete your signup** dialog appears, then fill it out with the requested information before continuing. CodeRabbit is now ready to use with your test repository. The next steps demonstrate its core code-review features. From 8831f9b57616a57a2088378ed54121685f410ddc Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Tue, 6 May 2025 11:13:02 -0400 Subject: [PATCH 20/81] Initial ToC overhaul (#301) * Replace the autogenerated table of contents with a manually arranged ToC defined in sidebars.ts. Remove material related to ToC autogeneration from various pages' front matter. Reorder, reorganize, and retitle pages according to the new information architecture plan. Standardize page titles to use sentence case. * Fix a bad search-and-replace * Prettier-ized. --------- Co-authored-by: Aravind Putrevu --- docs/finishing-touches/docstrings.md | 3 +- docs/getting-started/adding-organizations.md | 4 +- docs/getting-started/configure-coderabbit.md | 4 +- docs/getting-started/quickstart.md | 2 +- .../subscription-management.md | 4 +- docs/getting-started/support.md | 4 +- docs/getting-started/upgrading-permissions.md | 4 +- docs/guides/agent_chat.md | 4 +- docs/guides/commands.md | 4 +- docs/guides/custom-reports.md | 4 +- docs/guides/issue-chat.md | 4 +- docs/guides/issue-creation.md | 4 +- docs/guides/linked-issues.md | 4 +- docs/guides/ondemand-reports.md | 4 +- docs/guides/scheduled-reports.md | 4 +- docs/integrations/code-graph-analysis.md | 4 +- docs/integrations/issue-integrations.md | 4 +- docs/integrations/knowledge-base.md | 4 +- docs/platforms/platforms.md | 4 +- docs/tools/tools.md | 4 +- sidebars.ts | 149 +++++++++++++++++- 21 files changed, 164 insertions(+), 62 deletions(-) diff --git a/docs/finishing-touches/docstrings.md b/docs/finishing-touches/docstrings.md index f57ecd65..5d78366e 100644 --- a/docs/finishing-touches/docstrings.md +++ b/docs/finishing-touches/docstrings.md @@ -1,6 +1,5 @@ --- -title: Docstrings generation with CodeRabbit -sidebar_label: Docstrings +title: Generate docstrings description: Automated docstrings pull requests with CodeRabbit --- diff --git a/docs/getting-started/adding-organizations.md b/docs/getting-started/adding-organizations.md index 81fa8cf6..5f4b635b 100644 --- a/docs/getting-started/adding-organizations.md +++ b/docs/getting-started/adding-organizations.md @@ -1,8 +1,6 @@ --- -title: Adding Organizations +title: Add organizations description: Learn how to add new organizations to CodeRabbit -sidebar_label: Adding Organizations -sidebar_position: 5 --- To add new organizations to CodeRabbit, follow these steps: diff --git a/docs/getting-started/configure-coderabbit.md b/docs/getting-started/configure-coderabbit.md index 09bcb8b3..e8ee2e06 100644 --- a/docs/getting-started/configure-coderabbit.md +++ b/docs/getting-started/configure-coderabbit.md @@ -1,11 +1,9 @@ --- -title: Configure CodeRabbit -sidebar_label: Configure +title: Add a configuration file description: CodeRabbit offers various configuration options to tailor the reviews to your specific requirements. Configuration can be made using one of the below options. -sidebar_position: 2 --- ```mdx-code-block diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 096f94c6..17cc091c 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -19,7 +19,7 @@ When you complete this tutorial, you'll have seen CodeRabbit's code-review featu For a more general overview of CodeRabbit, see [Introduction](/). :::note -While this tutorial focuses on GitHub, CodeRabbit also works with GitLab, Azure DevOps, and Bitbucket. For more information, see [Supported Git Platforms](/platforms/). +While this tutorial focuses on GitHub, CodeRabbit also works with GitLab, Azure DevOps, and Bitbucket. For more information, see [Integrate with Git platforms](/platforms/). ::: ## Before you begin diff --git a/docs/getting-started/subscription-management.md b/docs/getting-started/subscription-management.md index 31fb9ffe..4483ce78 100644 --- a/docs/getting-started/subscription-management.md +++ b/docs/getting-started/subscription-management.md @@ -1,8 +1,6 @@ --- -title: Subscription Management +title: Manage your subscription description: Learn how to manage your CodeRabbit subscription, including billing, plan changes, and seat management -sidebar_label: Subscription Management -sidebar_position: 7 --- This guide covers how to manage your subscription, including accessing billing information, changing plans, and adjusting your seat count. diff --git a/docs/getting-started/support.md b/docs/getting-started/support.md index 2014965c..9b1ef18b 100644 --- a/docs/getting-started/support.md +++ b/docs/getting-started/support.md @@ -1,8 +1,6 @@ --- -title: Support -sidebar_label: Support +title: Get support description: Get help with CodeRabbit and find answers to common questions. -sidebar_position: 3 --- Welcome to CodeRabbit Support. Please refer to the following sections for diff --git a/docs/getting-started/upgrading-permissions.md b/docs/getting-started/upgrading-permissions.md index 7980bd09..c5553abe 100644 --- a/docs/getting-started/upgrading-permissions.md +++ b/docs/getting-started/upgrading-permissions.md @@ -1,8 +1,6 @@ --- -title: Upgrading App Permissions +title: Set permissions description: Learn how to upgrade CodeRabbit's GitHub App permissions when new features are added -sidebar_label: Upgrading Permissions -sidebar_position: 6 --- Sometimes when we add new features to CodeRabbit, we need to request additional GitHub permissions. If you see a warning about permissions or resources not being accessible, you'll need to approve the new permissions. Here's how to do it: diff --git a/docs/guides/agent_chat.md b/docs/guides/agent_chat.md index f76c4931..4073951a 100644 --- a/docs/guides/agent_chat.md +++ b/docs/guides/agent_chat.md @@ -1,8 +1,6 @@ --- -title: Chat and Agentic Chat -sidebar_label: Chat and Agentic Chat +title: Discuss code reviews with CodeRabbit description: Learn about CodeRabbit Pro's chat and agentic chat system -sidebar_position: 3 --- # CodeRabbit Chat diff --git a/docs/guides/commands.md b/docs/guides/commands.md index a2a2f70b..f7cbe002 100644 --- a/docs/guides/commands.md +++ b/docs/guides/commands.md @@ -1,8 +1,6 @@ --- -title: Commands -sidebar_label: Commands +title: Control and manage code reviews description: Learn how to control CodeRabbit using commands in pull request comments -sidebar_position: 1 --- # CodeRabbit Commands diff --git a/docs/guides/custom-reports.md b/docs/guides/custom-reports.md index 30655bfb..c006207a 100644 --- a/docs/guides/custom-reports.md +++ b/docs/guides/custom-reports.md @@ -1,8 +1,6 @@ --- -title: Custom Reports -sidebar_label: Custom Reports +title: Customize reports description: Learn how to create custom reports with CodeRabbit Pro's flexible reporting system -sidebar_position: 8 --- ```mdx-code-block diff --git a/docs/guides/issue-chat.md b/docs/guides/issue-chat.md index 22de8959..ee4f83a7 100644 --- a/docs/guides/issue-chat.md +++ b/docs/guides/issue-chat.md @@ -1,8 +1,6 @@ --- -title: Issue Chat -sidebar_label: Issue Chat +title: Discuss issues and plan solutions description: Learn how to use CodeRabbit's chat capabilities within issues -sidebar_position: 4 --- ```mdx-code-block diff --git a/docs/guides/issue-creation.md b/docs/guides/issue-creation.md index 7c461477..f6228b57 100644 --- a/docs/guides/issue-creation.md +++ b/docs/guides/issue-creation.md @@ -1,8 +1,6 @@ --- -title: Issue Creation -sidebar_label: Issue Creation +title: Create issues description: Learn how to create issues directly through CodeRabbit -sidebar_position: 5 --- ```mdx-code-block diff --git a/docs/guides/linked-issues.md b/docs/guides/linked-issues.md index 3528f0a9..b8768c3d 100644 --- a/docs/guides/linked-issues.md +++ b/docs/guides/linked-issues.md @@ -1,8 +1,6 @@ --- -title: Linked Issues -sidebar_label: Linked Issues +title: Work with linked Issues description: Learn how to effectively use linked issues with CodeRabbit for better pull request assessments -sidebar_position: 6 --- # Linked Issues diff --git a/docs/guides/ondemand-reports.md b/docs/guides/ondemand-reports.md index 471dc04c..41dbe9bb 100644 --- a/docs/guides/ondemand-reports.md +++ b/docs/guides/ondemand-reports.md @@ -1,8 +1,6 @@ --- -title: On-demand Reports -sidebar_label: On-demand Reports +title: Generate reports description: CodeRabbit offers a way to generate on-demand reports using a simple API request -sidebar_position: 9 --- ```mdx-code-block diff --git a/docs/guides/scheduled-reports.md b/docs/guides/scheduled-reports.md index 8c56b465..44a11f56 100644 --- a/docs/guides/scheduled-reports.md +++ b/docs/guides/scheduled-reports.md @@ -1,8 +1,6 @@ --- -title: Scheduled Reports -sidebar_label: Scheduled Reports +title: Schedule reports description: Learn how to set up automated recurring reports with CodeRabbit Pro -sidebar_position: 7 --- ```mdx-code-block diff --git a/docs/integrations/code-graph-analysis.md b/docs/integrations/code-graph-analysis.md index dd0bd582..5958640a 100644 --- a/docs/integrations/code-graph-analysis.md +++ b/docs/integrations/code-graph-analysis.md @@ -1,8 +1,6 @@ --- -title: Code Graph Analysis +title: Analyze your code changes description: Learn about CodeRabbit's intelligent graph-based code analysis. -sidebar_label: Code Graph Analysis -sidebar_position: 6 --- # CodeRabbit Code Graph Analysis diff --git a/docs/integrations/issue-integrations.md b/docs/integrations/issue-integrations.md index a153839b..0ad69f54 100644 --- a/docs/integrations/issue-integrations.md +++ b/docs/integrations/issue-integrations.md @@ -1,8 +1,6 @@ --- -title: Issue Integrations +title: Integrate issue tracking description: Learn about CodeRabbit's integrations with issue tracking systems like Jira and Linear. -sidebar_label: Issue Integrations -sidebar_position: 5 --- CodeRabbit integrates with popular issue tracking systems to provide context from linked and related issues while reviewing code. diff --git a/docs/integrations/knowledge-base.md b/docs/integrations/knowledge-base.md index c15f2f9f..61ff141e 100644 --- a/docs/integrations/knowledge-base.md +++ b/docs/integrations/knowledge-base.md @@ -1,8 +1,6 @@ --- -title: Knowledge Base +title: Apply your code review preferences description: Learn about CodeRabbit's internal knowledge base and its integrations with external services. -sidebar_label: Knowledge Base -sidebar_position: 4 --- CodeRabbit utilizes an internal knowledge base that integrates with several external services to provide a seamless review and issue management experience. diff --git a/docs/platforms/platforms.md b/docs/platforms/platforms.md index 8114c500..996089fc 100644 --- a/docs/platforms/platforms.md +++ b/docs/platforms/platforms.md @@ -1,8 +1,6 @@ --- -title: Supported Git Platforms -sidebar_label: Supported Git Platforms +title: Integrate with Git platforms description: Overview of CodeRabbit's supported Git platforms. -sidebar_position: 1 --- CodeRabbit supports various Git platforms to provide code review for your repositories. For the cloud-hosted Git platforms, you can [login][login] to CodeRabbit and add your repositories. The following platforms are supported: diff --git a/docs/tools/tools.md b/docs/tools/tools.md index cb0a01a8..113c2fee 100644 --- a/docs/tools/tools.md +++ b/docs/tools/tools.md @@ -1,8 +1,6 @@ --- -title: Supported Tools -sidebar_label: Supported Tools +title: Configure third-party tool use description: Overview of CodeRabbit's supported linters and security analysis tools. -sidebar_position: 1 --- ```mdx-code-block diff --git a/sidebars.ts b/sidebars.ts index 5f41290e..8e701fc2 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -29,13 +29,152 @@ import type { SidebarsConfig } from "@docusaurus/plugin-content-docs" const sidebars: SidebarsConfig = { docsSidebar: [ { - type: "autogenerated", - dirName: ".", + type: "category", + collapsed: false, + label: "Get started with CodeRabbit", + items: ["overview/introduction", "getting-started/quickstart"], }, { - type: "link", - label: "API Reference", - href: "https://api.coderabbit.ai/api/swagger/", + type: "category", + collapsed: false, + label: "Add CodeRabbit to your repository", + items: [ + "platforms/platforms", + { + type: "category", + collapsed: true, + label: "Supported Git platforms", + items: [ + "platforms/github-com", + "platforms/github-enterprise-server", + "platforms/gitlab-com", + "platforms/self-hosted-gitlab", + "platforms/azure-devops", + "platforms/bitbucket-cloud", + ], + }, + "getting-started/adding-organizations", + "getting-started/upgrading-permissions", + { + type: "category", + collapsed: true, + label: "Self-host CodeRabbit", + items: [ + "self-hosted/github", + "self-hosted/gitlab", + "self-hosted/azure-devops", + "self-hosted/bitbucket", + ], + }, + ], + }, + { + type: "category", + collapsed: false, + label: "Configure CodeRabbit", + items: [ + "getting-started/configure-coderabbit", + "integrations/knowledge-base", + "tools/tools", + ], + }, + { + type: "category", + collapsed: false, + label: "Review pull requests", + items: [ + "guides/commands", + "guides/agent_chat", + { + type: "category", + collapsed: false, + label: "Analyze and improve your code", + items: [ + "integrations/code-graph-analysis", + "finishing-touches/docstrings", + ], + }, + ], + }, + { + type: "category", + collapsed: false, + label: "Create and resolve issues", + items: [ + "integrations/issue-integrations", + "guides/issue-chat", + "guides/issue-creation", + "guides/linked-issues", + ], + }, + { + type: "category", + collapsed: false, + label: "Generate reports", + items: [ + "guides/ondemand-reports", + "guides/custom-reports", + "guides/scheduled-reports", + ], + }, + { + type: "category", + collapsed: false, + label: "Reference", + items: [ + { + type: "link", + label: "CodeRabbit API", + href: "https://api.coderabbit.ai/api/swagger/", + }, + { + type: "category", + label: "Supported tools", + collapsed: true, + items: [ + "tools/actionlint", + "tools/biome", + "tools/buf", + "tools/checkov", + "tools/circleci", + "tools/cppcheck", + "tools/detekt", + "tools/eslint", + "tools/gitleaks", + "tools/golangci-lint", + "tools/hadolint", + "tools/languagetool", + "tools/markdownlint", + "tools/oxlint", + "tools/phpstan", + "tools/pipeline-remediation", + "tools/pmd", + "tools/prisma-lint", + "tools/regal", + "tools/rubocop", + "tools/ruff", + "tools/semgrep", + "tools/shellcheck", + "tools/sqlfluff", + "tools/swiftlint", + "tools/yamllint", + ], + }, + ], + }, + { + type: "category", + collapsed: false, + label: "Resources", + items: [ + "getting-started/support", + "getting-started/subscription-management", + "overview/why-coderabbit", + "faq", + "early-access", + "future-development", + "changelog", + ], }, ], } From 12c7d8aff454262e11f6ee26733882657c7d78e1 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Wed, 7 May 2025 13:32:28 -0400 Subject: [PATCH 21/81] Add the review-instructions guide back to the ToC. (#322) * Add the Review instructions page back to the ToC. It was accidentally dropped in #301. * Style tweaks --- docs/faq.md | 4 ++-- docs/guides/linked-issues.md | 2 +- docs/guides/review-instructions.md | 4 +--- docs/platforms/github-com.md | 2 +- sidebars.ts | 1 + 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 1cb42735..dce43242 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -92,7 +92,7 @@ Email field and click Update to save your changes. ### Usage and Configuration - **Language Settings**: Configure review language in repository settings -- **Review Rules**: Customize via [Review Instructions](/guides/review-instructions) +- **Review Rules**: Customize via [review instructions](/guides/review-instructions) - **Branch Selection**: Default branch reviews enabled by default (configurable) ### Access & Permissions @@ -108,7 +108,7 @@ Interact with CodeRabbit by: 1. Replying directly to CodeRabbit comments 2. Tagging `@coderabbitai` in PR discussions 3. Adding review comments for specific lines -4. Customize via [Review Instructions](/guides/review-instructions) +4. Customize via [review instructions](/guides/review-instructions) :::tip Collaboration Mode When team members are active in PRs, use `@coderabbitai` to engage the bot. diff --git a/docs/guides/linked-issues.md b/docs/guides/linked-issues.md index b8768c3d..b802cb3b 100644 --- a/docs/guides/linked-issues.md +++ b/docs/guides/linked-issues.md @@ -168,6 +168,6 @@ Only the issue title and description are considered in the assessment. Comments ## Related Resources -- [Review Instructions](./review-instructions.md) +- [Add review instructions](/guides/review-instructions) - [Issue Chat](./issue-chat.md) - [Issue Creation](./issue-creation.md) diff --git a/docs/guides/review-instructions.md b/docs/guides/review-instructions.md index d756e938..c44b862c 100644 --- a/docs/guides/review-instructions.md +++ b/docs/guides/review-instructions.md @@ -1,11 +1,9 @@ --- -title: Review Instructions -sidebar_label: Review Instructions +title: Add review instructions description: CodeRabbit offers various customization options to tailor the reviews to your specific requirements. Customizations can be made using one of the below options. -sidebar_position: 2 --- The guide explains how to add custom review instructions for the entire project. diff --git a/docs/platforms/github-com.md b/docs/platforms/github-com.md index 4866fd00..ecc07272 100644 --- a/docs/platforms/github-com.md +++ b/docs/platforms/github-com.md @@ -109,7 +109,7 @@ CodeRabbit generates detailed statistics and test plans for each pull request. ![Test Plan by CodeRabbit](/img/integrations/test-plan.png) -> CodeRabbit also allows you to configure **custom review instructions** based on your organization's needs, in case you want it to follow specific guidelines beyond the standard review, to learn more on [adding custom review instructions](https://docs.coderabbit.ai/guides/review-instructions/) +> CodeRabbit also allows you to configure **custom review instructions** based on your organization's needs, in case you want it to follow specific guidelines beyond the standard review, to learn more on [adding custom review instructions](/guides/review-instructions) Whether you manage a popular repository or are working on a smaller project, whether it's hosted on **GitLab, GitHub, or self-hosted GitHub or GitLab**, CodeRabbit can help streamline your development process. This AI Code Review assistant is designed to save you time by automating code reviews and offering insightful feedback. diff --git a/sidebars.ts b/sidebars.ts index 8e701fc2..c6502d8b 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -75,6 +75,7 @@ const sidebars: SidebarsConfig = { items: [ "getting-started/configure-coderabbit", "integrations/knowledge-base", + "guides/review-instructions", "tools/tools", ], }, From 1fb70956cef615235f9b17916de88e218cdb253d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 7 May 2025 23:28:25 +0000 Subject: [PATCH 22/81] Update schema.v2.json --- static/schema/schema.v2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 1442d1f0..73e19c22 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -892,7 +892,7 @@ "opt_out": { "type": "boolean", "default": false, - "description": "Opt out | Opt out of all knowledge base features that require data retention." + "description": "Disable Knowledge Base | Opt out of all knowledge base features that require data retention. If you opt out after opting in, all of your existing knowledge base data will be removed from the system." }, "web_search": { "type": "object", From ddb5840f30cf61863c090419d6c833449ae1a4f3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 8 May 2025 15:45:16 +0000 Subject: [PATCH 23/81] Update schema.v2.json --- static/schema/schema.v2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 73e19c22..bc5d71ea 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -892,7 +892,7 @@ "opt_out": { "type": "boolean", "default": false, - "description": "Disable Knowledge Base | Opt out of all knowledge base features that require data retention. If you opt out after opting in, all of your existing knowledge base data will be removed from the system." + "description": "Opt Out | Disable all knowledge base features that require data retention. If you opt out after opting in, all of your existing knowledge base data will be removed from the system." }, "web_search": { "type": "object", From 3bd6ed922180d5aaa467f2b2b38c398b5eacfea9 Mon Sep 17 00:00:00 2001 From: Nick Busey Date: Thu, 8 May 2025 10:38:10 -0600 Subject: [PATCH 24/81] Updated docs for new caching and code indexing features (#323) --- docs/faq.md | 6 +++--- docs/overview/introduction.md | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index dce43242..f4158154 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -31,10 +31,10 @@ CodeRabbit works with all programming languages, with varying proficiency based - - No persistent code storage - - Temporary cloning during review only - Complete data isolation - - Immediate disposal post-review + - Caching of encrypted code and dependency archives for faster reviews + - Code indexing in which we store vector representations of code for efficient code base context + - Both caching and code indexing can be disabled which means we store nothing post-review - Uses only public datasets diff --git a/docs/overview/introduction.md b/docs/overview/introduction.md index e215f574..ed73a156 100644 --- a/docs/overview/introduction.md +++ b/docs/overview/introduction.md @@ -81,7 +81,6 @@ For more information, see [Issue Creation](/guides/issue-creation) and [Issue Ch CodeRabbit collects only the minimum amount of information needed to provide you with our code review services. Our privacy and security posture centers around protecting your data through ephemerality: - All queries to large language models (LLMs) exist in-memory only, with zero retention after each query completes. -- We don't store a copy of your code. - We don't use your code, code reviews, or other collected data to train LLMs. - CodeRabbit doesn't share any collected customer data with third parties. - We keep all customer data confidential, and isolated by organization. From 50a9d8f08519b71ce34a697d14cf6cd55d075a77 Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Fri, 9 May 2025 10:05:29 -0700 Subject: [PATCH 25/81] Fix/oxlint2 (#324) * fix capitalization * update oxlint docs * fix links * link and note fixes --- docs/changelog.md | 6 +++--- docs/tools/oxlint.md | 36 ++++++++++++++++++++---------------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 656a0b5f..24e903ff 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -66,7 +66,7 @@ We're thrilled to introduce agentic planning on GitHub for CodeRabbit chat as Ge We've expanded our static analysis capabilities with two new tools: -- **oxlint**: A high-performance JavaScript/TypeScript linter written in Rust. +- **Oxlint**: A high-performance JavaScript/TypeScript linter written in Rust. - **Prisma Lint**: A dedicated linter for Prisma schema files to help enforce consistent conventions and best practices. Both tools can be configured through their respective config files or through CodeRabbit's settings page. See our [tools documentation](https://docs.coderabbit.ai/tools/) for more details. @@ -124,8 +124,8 @@ We're thrilled to introduce agentic planning on GitHub for CodeRabbit chat as an We are continually expanding our support for static analysis tools. We've recently added support for: - SQLFluff -- Added oxlint for faster linting - - oxlint is a blazingly fast JavaScript/TypeScript linter written in Rust +- Added Oxlint for faster linting + - Oxlint is a blazingly fast JavaScript/TypeScript linter written in Rust - Replaces ESLint for basic linting while maintaining ESLint for more complex rules - Up to 50-100x faster than traditional ESLint diff --git a/docs/tools/oxlint.md b/docs/tools/oxlint.md index 8a93cbd2..fd5e7e2c 100644 --- a/docs/tools/oxlint.md +++ b/docs/tools/oxlint.md @@ -1,7 +1,7 @@ --- -title: oxlint -sidebar_label: oxlint -description: CodeRabbit's guide to oxlint. +title: Oxlint +sidebar_label: Oxlint +description: CodeRabbit's guide to Oxlint. --- ```mdx-code-block @@ -10,37 +10,41 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; ``` -[oxlint](https://github.com/oxc-project/oxc) is a blazingly fast JavaScript/TypeScript linter written in Rust that is 50-100x faster than ESLint. +[Oxlint](https://oxc.rs/docs/guide/usage/linter) is a blazingly fast JavaScript/TypeScript linter written in Rust that is 50-100x faster than ESLint. -## Files +## Supported Files -oxlint will run on files with the following extensions: +Oxlint will run on files with the following extensions: - `.js` +- `.mjs` +- `.cjs` - `.jsx` - `.ts` +- `.mts` +- `.cts` - `.tsx` +- `.vue` +- `.astro` +- `.svelte` ## Configuration -oxlint supports the following config files: +Oxlint supports the following configuration file: -- `oxlint.json` -- `.oxlintrc` - `.oxlintrc.json` -- `oxlint.config.json` :::note -oxlint does not require configuration to run. If no oxlint config file is found and Biome is enabled, CodeRabbit will use Biome instead as oxlint functionality is included within Biome. If Biome is not enabled or an oxlint config file is found, CodeRabbit will use the default oxlint config. +If no Oxlint config file is found and Biome is enabled, CodeRabbit will use Biome instead as Oxlint functionality is included within Biome. -::: +If Biome is not enabled or an Oxlint config file is found, CodeRabbit will use the `.oxlintrc.json` Oxlint config to run. -## Rule Configuration +Oxlint does not require configuration to run if Biome is disabled and Oxlint is enabled. -While oxlint embraces convention over configuration, you can customize rules in your config file if needed. The config file should be in JSON format. See the [oxlint documentation](https://oxc-project.github.io) for more details on available rules and configuration options. +::: ## Links -- [oxlint GitHub Repository](https://github.com/oxc-project/oxc) -- [oxlint Website](https://oxc.rust-server.org) +- [Oxlint GitHub Repository](https://github.com/oxc-project/oxc/releases/) +- [Oxlint Website](https://oxc.rs/docs/guide/usage/linter) From 6fdc21be1bf612da4255ab023701f26ed6d7cb41 Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Fri, 9 May 2025 12:29:55 -0700 Subject: [PATCH 26/81] fix missing pipeline terms for azure devops (#326) * fix missing pipeline terms for azure devops * fix duplicates --- docs/tools/pipeline-remediation.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/tools/pipeline-remediation.md b/docs/tools/pipeline-remediation.md index d03ad33d..2beb0213 100644 --- a/docs/tools/pipeline-remediation.md +++ b/docs/tools/pipeline-remediation.md @@ -94,7 +94,7 @@ With CodeRabbit CI/CD Pipeline Remediation, you have coderabbit automatically re ### GitLab CI/CD -- Pipeline failure analysis +- GitLab CI/CD Pipeline failure analysis - Integration with GitLab Advanced Security - Support for DAST (Dynamic Application Security Testing) findings - Remediation for SAST (Static Application Security Testing) issues @@ -105,16 +105,16 @@ With CodeRabbit CI/CD Pipeline Remediation, you have coderabbit automatically re ### CircleCI -- Workflow failure detection +- CircleCI Pipeline failure analysis - Job-level error analysis - Configuration validation - Dependency resolution CircleCI Integration -### Azure DevOps +### Azure DevOps Pipelines -- Pipeline failure detection +- Azure DevOps CI/CD Pipeline failure analysis - Integration with Azure DevOps Checks - Support for custom tasks and pipelines - Remediation for build issues @@ -174,4 +174,4 @@ Our tool handles a wide range of pipeline failures including: - [GitHub Actions Configuration](https://docs.github.com/en/actions) - [GitLab CI/CD Documentation](https://docs.gitlab.com/ee/ci/) - [CircleCI Documentation](https://circleci.com/docs/) -- [Azure DevOps Documentation](https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/pipelines-get-started?view=azure-devops) +- [Azure DevOps Pipeline Documentation](https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/pipelines-get-started?view=azure-devops) From 41703ce7be1f2688c03664e24c6a110448c33c86 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 21:08:27 +0000 Subject: [PATCH 27/81] Update schema.v2.json --- static/schema/schema.v2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index bc5d71ea..198014dd 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -440,7 +440,7 @@ }, "timeout_ms": { "type": "number", - "maximum": 300000, + "maximum": 900000, "minimum": 0, "default": 90000, "description": "Time in milliseconds to wait for all GitHub Checks to conclude." From 6a8ef6780a20058fa318f292c47351e20f93c8fd Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Tue, 13 May 2025 15:06:29 -0400 Subject: [PATCH 28/81] update docs with PR Stage and others (#336) --- docs/guides/custom-reports.md | 56 +++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/docs/guides/custom-reports.md b/docs/guides/custom-reports.md index c006207a..7ed5a08e 100644 --- a/docs/guides/custom-reports.md +++ b/docs/guides/custom-reports.md @@ -76,6 +76,11 @@ Contained within the `` tag. - `State`: string ("open"/"closed") - Current state of the PR - `Mergeable`: boolean (true/false) - Whether the PR can be merged - `Is stale`: boolean - Whether PR has been inactive for over 168 hours +- `PR Stage`: string - The current stage of open PRs in Open or Draft state, can be one of: + - "Needs Author Action" - PR requires author attention due to merge conflicts, draft status, or requested changes + - "Waiting for Author to Merge" - PR has approvals and is ready for author to merge + - "Waiting for Code Reviews" - PR is waiting for reviewers to approve + - undefined - PR is not in an open state (is merged or closed) #### Basic Information @@ -124,60 +129,65 @@ Generate a summary of each pull request in the following bullet point format: - If 'Merged: true' set 'PR State: 🔀 Merged' - Else If 'Draft: true' set 'PR State: 📝 Draft' - Else If 'State: open' or 'State: active' set 'PR State: 💬 Open' - - Else If 'State: closed' and 'Merged: false' set 'PR State: 🔒 Closed' + - Else If 'State: closed' or 'State: DECLINED' and 'Merged: false' set 'PR State: 🔒 Closed' - Else set 'PR State: ❓ Unknown' - If the PR is stale, add '⚠️ Stale' at the end of the PR State. -- Mergeable (if PR State if not 'Merged'): Provide the mergeable status of the PR as 'Mergeable' or 'Not Mergeable'. +- Mergeable (if PR State is not 'Merged'): Provide the mergeable status of the PR as 'Mergeable' or 'Not Mergeable' based on the "Mergeable: " value. +- PR Stage (if PR State is not 'Merged'): Provide the stage of the PR based on the "PR Stage: " value. - Summary: In under 50 words provide a short summary of the PR. - Comments: In under 50 words provide a short summary of all comments found within , including each comments author username from . If there are no comments available, output 'No comments'. - **PR Link:** [#3001](https://github.com/mygithuborg/myrepo/pull/3001) -- **Title:** [PR Title] +- **Title:** PR Title - **PR State:** 💬 Open - **Mergeable:** Mergeable -- **Summary:** [Summary of the PR]. -- **Comments:** [Summary of the PR comments]. +- **PR Stage:** Waiting for Code Reviews +- **Summary:** Summary of the PR. + **Comments:** Summary of PR comments or No comments. - **PR Link:** [#302](https://github.com/mygithuborg/thatrepo/pull/302) -- **Title:** [PR Title] +- **Title:** PR Title - **PR State:** 💬 Open - **Mergeable:** Mergeable -- **Summary:** [Summary of the PR]. -- **Comments:** [Summary of the PR comments]. +- **PR Stage:** Waiting for Author to Merge +- **Summary:** Summary of the PR. +- **Comments:** Summary of the PR comments or No comments. - **PR Link:** [#3](https://github.com/mygithuborg/myotherrepo/pull/3) -- **Title:** [PR Title] +- **Title:** PR Title - **PR State:** 🔀 Merged -- **Summary:** [Summary of the PR]. -- **Comments:** [Summary of the PR comments]. +- **Summary:** Summary of the PR. +- **Comments:** Summary of the PR comments or No comments. - **PR Link:** [#14](https://github.com/mygithuborg/frontend/pull/14) -- **Title:** [PR Title] +- **Title:** PR Title - **PR State:** 💬 Open +- **PR Stage:** Needs Author Action - **Mergeable:** Mergeable -- **Summary:** [Summary of the PR]. -- **Comments:** [Summary of the PR comments]. +- **Summary:** Summary of the PR. +- **Comments:** Summary of the PR comments or No comments. - **PR Link:** [#13005](https://github.com/mygithuborg/backend/pull/13005) -- **Title:** [PR Title] +- **Title:** PR Title - **PR State:** 🔀 Merged -- **Summary:** [Summary of the PR]. -- **Comments:** [Summary of the PR comments]. +- **Summary:** Summary of the PR. +- **Comments:** Summary of the PR comments or No comments. - **PR Link:** [#3006](https://github.com/mygithuborg/myrepo/pull/3006) -- **Title:** [PR Title] +- **Title:** PR Title - **PR State:** 🔀 Merged -- **Summary:** [Summary of the PR]. -- **Comments:** [Summary of the PR comments]. +- **Summary:** Summary of the PR. +- **Comments:** Summary of the PR comments or No comments. - **PR Link:** [#3007](https://github.com/mygithuborg/myrepo/pull/3007) -- **Title:** [PR Title] +- **Title:** PR Title - **PR State:** 📝 Draft - **Mergeable:** Not Mergeable -- **Summary:** [Summary of the PR]. -- **Comments:** [Summary of the PR comments]. + **PR Stage:** Needs Author Action + + **Comments:** Summary of PR comments or No comments. ``` From b6101740ebcd9d39e08bdad47f0ead6a2ab58f4d Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Tue, 13 May 2025 15:38:09 -0400 Subject: [PATCH 29/81] Update/custom reporting data (#337) * update docs with PR Stage and others * cleanup example * fix cursor mistakes * fix order --- docs/guides/custom-reports.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/guides/custom-reports.md b/docs/guides/custom-reports.md index 7ed5a08e..dbc04280 100644 --- a/docs/guides/custom-reports.md +++ b/docs/guides/custom-reports.md @@ -145,7 +145,7 @@ Generate a summary of each pull request in the following bullet point format: - **Mergeable:** Mergeable - **PR Stage:** Waiting for Code Reviews - **Summary:** Summary of the PR. - **Comments:** Summary of PR comments or No comments. +- **Comments:** Summary of the PR comments or No comments. - **PR Link:** [#302](https://github.com/mygithuborg/thatrepo/pull/302) - **Title:** PR Title @@ -164,8 +164,8 @@ Generate a summary of each pull request in the following bullet point format: - **PR Link:** [#14](https://github.com/mygithuborg/frontend/pull/14) - **Title:** PR Title - **PR State:** 💬 Open -- **PR Stage:** Needs Author Action - **Mergeable:** Mergeable +- **PR Stage:** Needs Author Action - **Summary:** Summary of the PR. - **Comments:** Summary of the PR comments or No comments. @@ -185,9 +185,9 @@ Generate a summary of each pull request in the following bullet point format: - **Title:** PR Title - **PR State:** 📝 Draft - **Mergeable:** Not Mergeable - **PR Stage:** Needs Author Action - - **Comments:** Summary of PR comments or No comments. +- **PR Stage:** Needs Author Action +- **Summary:** Summary of the PR. +- **Comments:** Summary of the PR comments or No comments. ``` From 1f02175554bb66126bdf6e93bab6e88d1860c34d Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Tue, 13 May 2025 21:52:26 -0400 Subject: [PATCH 30/81] Add documentation for the VSCode extension (#335) --- docs/guides/about-vscode.md | 35 +++++++++++++ docs/guides/install-vscode.md | 47 +++++++++++++++++ docs/guides/uninstall-vscode.md | 25 +++++++++ docs/guides/use-vscode.md | 93 +++++++++++++++++++++++++++++++++ docs/overview/introduction.md | 8 +++ sidebars.ts | 11 ++++ 6 files changed, 219 insertions(+) create mode 100644 docs/guides/about-vscode.md create mode 100644 docs/guides/install-vscode.md create mode 100644 docs/guides/uninstall-vscode.md create mode 100644 docs/guides/use-vscode.md diff --git a/docs/guides/about-vscode.md b/docs/guides/about-vscode.md new file mode 100644 index 00000000..5e6307fd --- /dev/null +++ b/docs/guides/about-vscode.md @@ -0,0 +1,35 @@ +--- +title: Review local changes +description: How to review your code with the VSCode extension. +slug: /code-editors +sidebar_label: Overview +--- + +This page is about the CodeRabbit VSCode extension. For a broader overview of CodeRabbit, see [Introduction](/). + +## About the VSCode extension + +The CodeRabbit VSCode extension lets you apply a limited subset of CodeRabbit’s code-review features to your local development environment, directly from the VSCode IDE. It also works with other text editors that are able to install and use VSCode extensions, such as Cursor and Windsurf. + +You can use the extension on its own, or you can use it to complement your local development on a repository whose remote has CodeRabbit installed. + +The extension is intended to let you use the power of CodeRabbit to rapidly tune and tidy your code changes locally, before you publish your changes to your team's remote repository and start a more thorough code review. + +## Features + +The extension includes the following features: + +- Automatic code reviews on every local Git commit +- Manually requested reviews of local code changes +- Full compatibility with text editors derived from VSCode, including Cursor and Windsurf + +## Price and limitations + +This extension is free to install and use, and works with any tier of CodeRabbit account. Rate limits apply to the number of local reviews that you can request per hour. + +The extension makes only basic CodeRabbit review features available, with default settings applied. Advanced CodeRabbit features, such as interactive chat and project learnings, aren't available through the VSCode extension. These features are available only by [integrating CodeRabbit on your remote repository](/platforms), and then allowing CodeRabbit to review pull requests. + +## What's next + +- [Install the VSCode extension](/guides/install-vscode) +- [Use the VSCode extension](/guides/use-vscode) diff --git a/docs/guides/install-vscode.md b/docs/guides/install-vscode.md new file mode 100644 index 00000000..85e3e5e0 --- /dev/null +++ b/docs/guides/install-vscode.md @@ -0,0 +1,47 @@ +--- +title: Install the VSCode extension +description: How to install the CodeRabbit VSCode extension +--- + +This page is about installing the CodeRabbit VSCode extension. For more information about the extension, see +[Review local changes](/code-editors). + +:::note +The instructions on this page are specific to using the extension with VSCode. If you are instead using a VSCode-compatible editor such as Cursor or Windsurf, then the steps that you need to follow are similar, but might require some adaptation. +::: + +## Before you begin + +Before you can use the CodeRabbit VSCode extension, you need a CodeRabbit account. + +If you don't already have an account, you can create one by visiting [the CodeRabbit login page](https://app.coderabbit.ai/login). + +## Install the extension + +To install the CodeRabbit VSCode extension, follow these steps: + +1. Visit [the extension's page on the Visual Studio Marketplace](https://coderabbit.link/vscode-docs). + +1. Click **Install**. + +1. If your browser asks you for permission to open VSCode, then click **Allow** or its equivalent control. + +1. A summary of the CodeRabbit VSCode extension appears in your VSCode window. If you would like VSCode to automatically check for and apply future updates to the extension, then keep the **Auto Update** checkbox selected. + +1. In VSCode, click **Install**. + +1. A **Log in to CodeRabbit to get started** dialog appears. Click **Login**. If the dialog gets dismissed or times out first, then you can follow these alternate steps: + + 1. Click the CodeRabbit icon in the VSCode activity bar. + + 1. Click the **Use CodeRabbit for Free** button. + +1. Grant VSCode permission to open your browser, if asked. + +1. In your web browser, log into your CodeRabbit account. + +This connects your CodeRabbit account with the CodeRabbit VSCode extension. + +## What's next + +- [Use the VSCode extension](/guides/use-vscode) diff --git a/docs/guides/uninstall-vscode.md b/docs/guides/uninstall-vscode.md new file mode 100644 index 00000000..27266d47 --- /dev/null +++ b/docs/guides/uninstall-vscode.md @@ -0,0 +1,25 @@ +--- +title: Uninstall the VSCode extension +description: How to uninstall the CodeRabbit VSCode extension +--- + +This page is about uninstalling the CodeRabbit VSCode extension. For more information about the extension, see +[Review local changes](/code-editors). + +:::note +The instructions on this page are specific to using the extension with VSCode. If you are instead using a VSCode-compatible editor such as Cursor or Windsurf, then the steps that you need to follow are similar, but might require some adaptation. +::: + +## Uninstall the extension + +To uninstall the VSCode extension, follow these steps: + +1. In the VSCode activity bar, click the CodeRabbit icon. + +1. In the CodeRabbit sidebar, click the door-shaped **Logout** icon. + +1. In the VSCode activity bar, click the **Extensions** icon. + +1. In the Extensions sidebar, click the gear-shaped **Manage** icon next to CodeRabbit in the list of installed extensions. + +1. Select **Uninstall**. diff --git a/docs/guides/use-vscode.md b/docs/guides/use-vscode.md new file mode 100644 index 00000000..06c8aba1 --- /dev/null +++ b/docs/guides/use-vscode.md @@ -0,0 +1,93 @@ +--- +title: Use the VSCode extension +description: How to review your code with the VSCode extension. +--- + +This page is about performing local code reviews using the CodeRabbit VSCode extension. For more information about the extension, see +[Review local changes](/code-editors). To learn how to install the extension, see [Install the VSCode extension](/guides/install-vscode). + +The CodeRabbit VSCode extension works by comparing changes in your current, checked-out Git branch against another branch in your local repository. You can use the extension to automatically perform full-branch changes after every commit, or make different kinds of comparisons by manually requesting a review. + +:::note +The instructions on this page are specific to using the extension with VSCode. If you are instead using a VSCode-compatible editor such as Cursor or Windsurf, then the steps that you need to follow are similar, but might require some adaptation. +::: + +## Automatically review local commits + +You can let CodeRabbit automatically review commits that you make to your local Git repository. These automatic reviews compare all committed changes against the branch that your working branch is based on. + +To perform an automatic review, follow these steps: + +1. Perform a Git commit using VSCode. After you do this, a dialog appears in your VSCode window, asking **Would you like to start a review?** + +1. Click **Yes.** The CodeRabbit sidebar appears in your VSCode window. + +1. Wait for the review to complete. This might take a few minutes. To cancel a review in progress, click **Stop the review**. + +After the review completes, you can browse and respond to review comments as described in [Work with code reviews](#work-with-code-reviews). + +For more options and control of code reviews performed using the CodeRabbit VSCode extension, you can manually request a review, as detailed in the following section. + +## Manually request code reviews + +To manually review changes in a local Git branch using the CodeRabbit VSCode extension, follow these steps: + +1. Click the CodeRabbit icon in the VSCode activity bar. The CodeRabbit sidebar appears. + +1. If you want to compare your code changes to a branch other than its base branch, then follow these steps: + + 1. In the sidebar, under **Branch**, click the name of the base branch. A **Select a base branch** dialog appears, listing other branches in your local Git repository. + + 1. Select the name of a base branch to compare against. + +1. Select one of the review-action options from the menu at the bottom of the CodeRabbit sidebar: + + - To review all changes between the base branch and your current branch, including both committed and uncommitted changes, select **Review all changes**. This is the default selection. + + - To limit the review to only changes on your branch that you have committed, select **Review committed changes**. This includes commits that you have pushed to your remote repository, if any, as well as any local commits. + + - To limit the review to only uncommitted changes on your branch, select **Review uncommitted changes**. This includes both staged and unstaged changes. + +1. Refer to the list of **Files to review** in the sidebar. This list represents all of the files that the selected review action includes. To change this list of files, repeat the previous step to choose a different review action, or use Git features like `git stash` to selectively remove changes. + +1. To perform the review, click the button part of the menu. The CodeRabbit sidebar displays a **Review** section with the review's progress. + +1. Wait for the review to complete. This might take a few minutes. To cancel a review in progress, click **Stop the review**. + +After the review completes, you can browse and respond to review comments as described in the following section. + +## Work with code reviews + +The CodeRabbit VSCode extension presents code reviews as a series of actionable comments, connected to specific files and lines. It gives you tools to apply its suggestions quickly, when possible. + +### Browse comments + +After the extension finishes its review, it adds any comments to the CodeRabbit sidebar under the **Files** heading in the **Reviews** section. + +Each item in **Files** is a comment referring to one or more lines in that file. Click the comment to see a detailed, inline comment in the editor, attached to the appropriate file and lines. + +You can react to these comments however you want: you can apply their advice literally, or let them guide you to find alternate solutions, or ignore them entirely. CodeRabbit comments are metadata stored with VSCode, and are not part of your files. The presence of comments doesn't block your use of version control. + +### Apply suggested changes + +Whenever possible, the CodeRabbit VSCode extension attaches discrete change suggestion to comments in the form of code diffs. For example, if it detects a typo in a new function name, the extension might attach a diff with a suggested correction. + +If you agree with CodeRabbit about the suggested fix and want to apply to exactly as it proposes, click the checkmark-shaped **Apply suggested change** icon in the inline comment. The extension makes the change for you in the editor. + +### Ignore or collapse comments + +To remove a comment from the editor, click its **Ignore** icon. + +To remove a comment but keep an icon in the editor noting its presence, click its **Collapse** icon. + +To see an ignored or collapsed comment in the editor again, click its summary in the CodeRabbit sidebar. + +### Browse previous reviews + +If you have performed reviews prior to the most recent review in the current VSCode window, then you can browse the comments from these reviews under the **Previous reviews** heading in the CodeRabbit sidebar. + +If a past review comment no longer applies to the current state of your code, then clicking that comment won't display a detailed comment or suggestion in the editor. + +## What's next + +- [Uninstall the VSCode extension](/guides/uninstall-vscode) diff --git a/docs/overview/introduction.md b/docs/overview/introduction.md index ed73a156..06150977 100644 --- a/docs/overview/introduction.md +++ b/docs/overview/introduction.md @@ -94,8 +94,16 @@ Public repositories can use the Pro tier of CodeRabbit at no charge, including a For private repositories, a number of pricing tiers are available. These range from a Free tier that offers unlimited code-change summaries, to an Enterprise tier with access to advanced features and SLA support. For more information, see [Pricing](https://www.coderabbit.ai/pricing). +## Review local changes from within VSCode + +As a separate, free product, CodeRabbit offers a VSCode extension that brings a subset of core CodeRabbit features to VSCode. This lets you use the power of CodeRabbit to tune and tidy your code changes locally before pushing your changes into a formal pull request for more thorough reviews. + +For more information, see [Review local changes](/code-editors). + ## What's next - [Quickstart](/getting-started/quickstart/) lets you experience your first CodeRabbit code review first-hand. +- [Review local changes](/code-editors) guides you through installing and using a subset of CodeRabbit features directly from your code editor. + - [Why CodeRabbit?](/overview/why-coderabbit) dives further into the philosophies and technologies that drive CodeRabbit. diff --git a/sidebars.ts b/sidebars.ts index c6502d8b..5c9cd912 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -108,6 +108,17 @@ const sidebars: SidebarsConfig = { "guides/linked-issues", ], }, + { + type: "category", + collapsed: false, + label: "Review local changes", + items: [ + "guides/about-vscode", + "guides/install-vscode", + "guides/use-vscode", + "guides/uninstall-vscode", + ], + }, { type: "category", collapsed: false, From 53941093a1ca6823bfb87af08d8dcceda0d9ddf3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 06:38:06 +0000 Subject: [PATCH 31/81] Update schema.v2.json --- static/schema/schema.v2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 198014dd..7a180370 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -630,7 +630,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Checkov | Checkov is a static code analysis tool for infrastructure-as-code files. | v3.2.334" + "description": "Enable Checkov | Checkov is a static code analysis tool for infrastructure-as-code files. | v3.2.420" } }, "additionalProperties": false, From bd8a5f86016c4cea7cb8192acb60366a0ab8d2ff Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 07:08:24 +0000 Subject: [PATCH 32/81] Update schema.v2.json --- static/schema/schema.v2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 7a180370..198014dd 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -630,7 +630,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Checkov | Checkov is a static code analysis tool for infrastructure-as-code files. | v3.2.420" + "description": "Enable Checkov | Checkov is a static code analysis tool for infrastructure-as-code files. | v3.2.334" } }, "additionalProperties": false, From cfaef41ac9f5d00ed085bab7af3ad9a31715671e Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Thu, 15 May 2025 16:57:38 -0400 Subject: [PATCH 33/81] Document the "Fix with AI" feature (#342) --- docs/guides/config-vscode.md | 61 +++++++++++++++++++++++++++++++++++ docs/guides/install-vscode.md | 2 ++ docs/guides/use-vscode.md | 38 +++++++++++++++------- sidebars.ts | 1 + 4 files changed, 91 insertions(+), 11 deletions(-) create mode 100644 docs/guides/config-vscode.md diff --git a/docs/guides/config-vscode.md b/docs/guides/config-vscode.md new file mode 100644 index 00000000..7a1fb8bd --- /dev/null +++ b/docs/guides/config-vscode.md @@ -0,0 +1,61 @@ +--- +title: Configure the VSCode extension +description: How to configure the CodeRabbit VSCode extension +--- + +This page is about configuring the CodeRabbit VSCode extension. For more information about the extension, see +[Review local changes](/code-editors). + +:::note +The instructions on this page are specific to using the extension with VSCode. If you are instead using a VSCode-compatible editor such as Cursor or Windsurf, then the steps that you need to follow are similar, but might require some adaptation. +::: + +## Find the settings screen {#find} + +To navigate to the settings screen for the CodeRabbit VSCode extension, follow these steps: + +1. In the activity bar, click the Extensions icon. + +1. In the sidebar, under **Installed**, click the gear-shaped **Manage** icon in the CodeRabbit row. + +1. In the menu that appears, select **Settings**. + +The settings screen contains the following configuration controls. + +## Configure AI agent integration {#agent} + +The **Agent Type** setting lets you choose the extension's response to using the **Fix with AI** feature during code reviews. Your options are the following: + +- **Native**: The extension prompts the AI agent associated with your IDE to apply the suggested fix. + + This works only with VSCode, using Copilot. If you have this option selected when using a different IDE, then the extension instead copies the prompt to your clipboard. + +- **Claude Code**: The extension opens the Terminal pane of your IDE and tries to use the `claude` command-line program to apply the suggested fix to your code. You need to have Claude Code installed for this option to be effective. + +- **Clipboard**: The extension copies prompt text describing the suggested fix to your clipboard. From there, you can manually paste the prompt into the coding AI agent that you use with your IDE. + +For more information about the **Fix with AI** feature, see [Request help from your AI coding agent](/guides/use-vscode#agent). + +## Configure automatic review behavior {#auto-reviews} + +The **Auto Review Mode** setting lets you control the behavior of the automatic code reviews that the extension can perform after you make commits to your local Git repository. Your options are the following: + +- **Disabled**: The extension doesn't perform automatic code reviews. + +- **Prompt**: After every commit, the extension displays a dialog asking if you'd like it to perform a code review. + +- **Auto**: The extension always performs a review after every commit. + +For more information about this feature, see [Automatically review local commits](/guides/use-vscode#auto-reviews). + +## Set a review timeout {#timeout} + +The **Review Timeout** setting lets you specify how long the extension waits for a response from CodeRabbit remote servers before timing out a code review. The default value is `20`. + +To turn off timeouts, set this value to `0`. + +## What's next {#whats-next} + +- [Use the VSCode extension](/guides/use-vscode) + +- [Uninstall the VSCode extension](/guides/uninstall-vscode) diff --git a/docs/guides/install-vscode.md b/docs/guides/install-vscode.md index 85e3e5e0..abdd5d1f 100644 --- a/docs/guides/install-vscode.md +++ b/docs/guides/install-vscode.md @@ -45,3 +45,5 @@ This connects your CodeRabbit account with the CodeRabbit VSCode extension. ## What's next - [Use the VSCode extension](/guides/use-vscode) + +- [Configure the VSCode extension](/guides/config-vscode) diff --git a/docs/guides/use-vscode.md b/docs/guides/use-vscode.md index 06c8aba1..bfacd87b 100644 --- a/docs/guides/use-vscode.md +++ b/docs/guides/use-vscode.md @@ -12,7 +12,7 @@ The CodeRabbit VSCode extension works by comparing changes in your current, chec The instructions on this page are specific to using the extension with VSCode. If you are instead using a VSCode-compatible editor such as Cursor or Windsurf, then the steps that you need to follow are similar, but might require some adaptation. ::: -## Automatically review local commits +## Automatically review local commits {#auto-reviews} You can let CodeRabbit automatically review commits that you make to your local Git repository. These automatic reviews compare all committed changes against the branch that your working branch is based on. @@ -20,15 +20,17 @@ To perform an automatic review, follow these steps: 1. Perform a Git commit using VSCode. After you do this, a dialog appears in your VSCode window, asking **Would you like to start a review?** -1. Click **Yes.** The CodeRabbit sidebar appears in your VSCode window. +1. Click **Yes**. The CodeRabbit sidebar appears in your VSCode window. 1. Wait for the review to complete. This might take a few minutes. To cancel a review in progress, click **Stop the review**. -After the review completes, you can browse and respond to review comments as described in [Work with code reviews](#work-with-code-reviews). +After the review completes, you can browse and respond to review comments as described in [Work with code reviews](#work). -For more options and control of code reviews performed using the CodeRabbit VSCode extension, you can manually request a review, as detailed in the following section. +You can optionally configure the extension to either always or never perform automatic code reviews on commit, instead of displaying this yes-or-no dialog. For more information, see [Configure automatic review behavior](/guides/config-vscode#auto-reviews). -## Manually request code reviews +For more control of code reviews performed using the CodeRabbit VSCode extension, you can manually request a review, as detailed in the following section. + +## Manually request code reviews {#manual-reviews} To manually review changes in a local Git branch using the CodeRabbit VSCode extension, follow these steps: @@ -56,11 +58,11 @@ To manually review changes in a local Git branch using the CodeRabbit VSCode ext After the review completes, you can browse and respond to review comments as described in the following section. -## Work with code reviews +## Work with code reviews {#work} The CodeRabbit VSCode extension presents code reviews as a series of actionable comments, connected to specific files and lines. It gives you tools to apply its suggestions quickly, when possible. -### Browse comments +### Browse comments {#browse} After the extension finishes its review, it adds any comments to the CodeRabbit sidebar under the **Files** heading in the **Reviews** section. @@ -68,13 +70,25 @@ Each item in **Files** is a comment referring to one or more lines in that file. You can react to these comments however you want: you can apply their advice literally, or let them guide you to find alternate solutions, or ignore them entirely. CodeRabbit comments are metadata stored with VSCode, and are not part of your files. The presence of comments doesn't block your use of version control. -### Apply suggested changes +### Apply suggested changes {#apply} Whenever possible, the CodeRabbit VSCode extension attaches discrete change suggestion to comments in the form of code diffs. For example, if it detects a typo in a new function name, the extension might attach a diff with a suggested correction. If you agree with CodeRabbit about the suggested fix and want to apply to exactly as it proposes, click the checkmark-shaped **Apply suggested change** icon in the inline comment. The extension makes the change for you in the editor. -### Ignore or collapse comments +### Request help from your AI coding agent {#agent} + +If CodeRabbit determines that an AI coding agent could help with resolving one of its comments, then it adds a star-shaped **Fix with AI** icon to the inline display of that comment. To have the extension generate a request for an AI agent to address the comment, click this icon. + +Depending upon your IDE and the current extension settings, the extension performs one of the following actions: + +- If you are using VSCode with Copilot installed, then the extension can send the request directly to Copilot. +- If you have Claude Code installed, then the extension can send the request to the `claude` command-line program. +- As a fallback, the extension can copy the request, phrased as an AI prompt, to your clipboard. You can then manually paste this prompt into the coding AI of your IDE. + +For more information about configuring this behavior, see [Configure AI agent integration](/guides/config-vscode#agent). + +### Ignore or collapse comments {#ignore} To remove a comment from the editor, click its **Ignore** icon. @@ -82,12 +96,14 @@ To remove a comment but keep an icon in the editor noting its presence, click it To see an ignored or collapsed comment in the editor again, click its summary in the CodeRabbit sidebar. -### Browse previous reviews +### Browse previous reviews {#previous} If you have performed reviews prior to the most recent review in the current VSCode window, then you can browse the comments from these reviews under the **Previous reviews** heading in the CodeRabbit sidebar. If a past review comment no longer applies to the current state of your code, then clicking that comment won't display a detailed comment or suggestion in the editor. -## What's next +## What's next {#whats-next} + +- [Configure the VSCode extension](/guides/config-vscode) - [Uninstall the VSCode extension](/guides/uninstall-vscode) diff --git a/sidebars.ts b/sidebars.ts index 5c9cd912..1869c24c 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -116,6 +116,7 @@ const sidebars: SidebarsConfig = { "guides/about-vscode", "guides/install-vscode", "guides/use-vscode", + "guides/config-vscode", "guides/uninstall-vscode", ], }, From 0389c04855dac4a670f2faeaa554f1234a2d08e2 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 16 May 2025 08:43:12 -0400 Subject: [PATCH 34/81] Modify the IDE installation instructions to prefer using the IDE's marketplace UI (#341) * Modify the installation instructions to prefer using the IDE's marketplace UI to insatll, rather than the website. * Apply suggestions from code review Co-authored-by: Ankit Jena --------- Co-authored-by: Ankit Jena --- docs/guides/install-vscode.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/guides/install-vscode.md b/docs/guides/install-vscode.md index abdd5d1f..ec71e213 100644 --- a/docs/guides/install-vscode.md +++ b/docs/guides/install-vscode.md @@ -18,17 +18,17 @@ If you don't already have an account, you can create one by visiting [the CodeRa ## Install the extension -To install the CodeRabbit VSCode extension, follow these steps: +To install the CodeRabbit extension, follow these steps: -1. Visit [the extension's page on the Visual Studio Marketplace](https://coderabbit.link/vscode-docs). +1. In the editor activity bar, click **Extensions**. -1. Click **Install**. +1. In sidebar, type `coderabbit` into the **Search Extensions in Marketplace** search bar. After a moment, **CodeRabbit** appears in the sidebar as a search result. -1. If your browser asks you for permission to open VSCode, then click **Allow** or its equivalent control. +1. Select **CodeRabbit**. A summary of the CodeRabbit VSCode extension appears in the window's main pane, along with installation controls. -1. A summary of the CodeRabbit VSCode extension appears in your VSCode window. If you would like VSCode to automatically check for and apply future updates to the extension, then keep the **Auto Update** checkbox selected. +1. If you would like your editor to automatically check for and apply future updates to the extension, then keep the **Auto Update** checkbox selected. Otherwise, clear the checkbox. -1. In VSCode, click **Install**. +1. Click **Install**. 1. A **Log in to CodeRabbit to get started** dialog appears. Click **Login**. If the dialog gets dismissed or times out first, then you can follow these alternate steps: @@ -42,6 +42,12 @@ To install the CodeRabbit VSCode extension, follow these steps: This connects your CodeRabbit account with the CodeRabbit VSCode extension. +## Install using the marketplace website + +If you are using the VSCode IDE, and not an IDE that derives from it such as Cursor or Windsurf, then you can alternatively obtain and install the CodeRabbit VSCode extension by visiting [the extension's page on the Visual Studio Marketplace](https://coderabbit.link/vscode-docs). + +If you do install the extension this way, then you still need to connect your CodeRabbit account to the extension after installing it, as described in the previous section. + ## What's next - [Use the VSCode extension](/guides/use-vscode) From 2a470c3d860ded2ae81183cc35d54f96e397fd56 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 16 May 2025 12:55:59 +0000 Subject: [PATCH 35/81] Update schema.v2.json --- static/schema/schema.v2.json | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 198014dd..1379587b 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -389,7 +389,7 @@ }, "additionalProperties": false, "default": {}, - "description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.31.1" + "description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.38.1" }, "shellcheck": { "type": "object", @@ -410,7 +410,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.8.2" + "description": "Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.11.9" } }, "additionalProperties": false, @@ -555,7 +555,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable PHPStan | PHPStan requires [config file](https://phpstan.org/config-reference#config-file) in your repository root. Please ensure that this file contains the `paths:` parameter. | v2.0.3" + "description": "Enable PHPStan | PHPStan requires [config file](https://phpstan.org/config-reference#config-file) in your repository root. Please ensure that this file contains the `paths:` parameter. | v2.1.15" }, "level": { "type": "string", @@ -604,7 +604,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.35.1" + "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.37.1" } }, "additionalProperties": false, @@ -617,7 +617,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.21.2" + "description": "Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.26.0" } }, "additionalProperties": false, @@ -643,7 +643,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.7" + "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.8" }, "config_file": { "type": "string", @@ -673,7 +673,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.73" + "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.75.5" } }, "additionalProperties": false, @@ -686,7 +686,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Buf | Buf offers linting for Protobuf files. | v1.47.2" + "description": "Enable Buf | Buf offers linting for Protobuf files. | v1.54.0" } }, "additionalProperties": false, @@ -699,7 +699,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Regal | Regal is a linter and language server for Rego. | v0.29.2" + "description": "Enable Regal | Regal is a linter and language server for Rego. | v0.33.1" } }, "additionalProperties": false, @@ -712,7 +712,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.4" + "description": "Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.7" } }, "additionalProperties": false, @@ -725,7 +725,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.8.0" + "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.13.0" }, "config_file": { "type": "string", @@ -742,7 +742,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.10-2" + "description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.17.1" } }, "additionalProperties": false, @@ -755,7 +755,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.99.0" + "description": "Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.122.0" }, "config_file": { "type": "string", @@ -772,7 +772,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.31151" + "description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.31687" } }, "additionalProperties": false, @@ -785,7 +785,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.3.0" + "description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.4.0" } }, "additionalProperties": false, @@ -798,7 +798,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.10.0" + "description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.10.1" } }, "additionalProperties": false, @@ -811,7 +811,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable OXC | OXC is a JavaScript/TypeScript linter written in Rust. | v0.16.5" + "description": "Enable OXC | OXC is a JavaScript/TypeScript linter written in Rust. | v0.16.10" } }, "additionalProperties": false, From 0a25653d31d4206af49008d9c0823e5caf42cf66 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 16 May 2025 11:38:27 -0400 Subject: [PATCH 36/81] Add a couple more features to the IDE feature bullet-list. (#345) --- docs/guides/about-vscode.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/guides/about-vscode.md b/docs/guides/about-vscode.md index 5e6307fd..3e484ffe 100644 --- a/docs/guides/about-vscode.md +++ b/docs/guides/about-vscode.md @@ -19,9 +19,11 @@ The extension is intended to let you use the power of CodeRabbit to rapidly tune The extension includes the following features: -- Automatic code reviews on every local Git commit -- Manually requested reviews of local code changes -- Full compatibility with text editors derived from VSCode, including Cursor and Windsurf +- Automatic code reviews on every local Git commit. +- Manually requested reviews of local code changes. +- One-click application of simpler suggested code fixes. +- Integration with AI coding agents, including Copilot and Claude Code, to help you resolve more complex suggestions. +- Full compatibility with text editors derived from VSCode, including Cursor and Windsurf. ## Price and limitations From d868ab6cff86cc74ed2d05aab841b63785ed3327 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 16 May 2025 15:30:28 -0400 Subject: [PATCH 37/81] Default ToC menus to collapsed rather than expanded. (#344) --- sidebars.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sidebars.ts b/sidebars.ts index 1869c24c..4e1e68d3 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -30,13 +30,13 @@ const sidebars: SidebarsConfig = { docsSidebar: [ { type: "category", - collapsed: false, + collapsed: true, label: "Get started with CodeRabbit", items: ["overview/introduction", "getting-started/quickstart"], }, { type: "category", - collapsed: false, + collapsed: true, label: "Add CodeRabbit to your repository", items: [ "platforms/platforms", @@ -70,7 +70,7 @@ const sidebars: SidebarsConfig = { }, { type: "category", - collapsed: false, + collapsed: true, label: "Configure CodeRabbit", items: [ "getting-started/configure-coderabbit", @@ -81,14 +81,14 @@ const sidebars: SidebarsConfig = { }, { type: "category", - collapsed: false, + collapsed: true, label: "Review pull requests", items: [ "guides/commands", "guides/agent_chat", { type: "category", - collapsed: false, + collapsed: true, label: "Analyze and improve your code", items: [ "integrations/code-graph-analysis", @@ -99,7 +99,7 @@ const sidebars: SidebarsConfig = { }, { type: "category", - collapsed: false, + collapsed: true, label: "Create and resolve issues", items: [ "integrations/issue-integrations", @@ -110,7 +110,7 @@ const sidebars: SidebarsConfig = { }, { type: "category", - collapsed: false, + collapsed: true, label: "Review local changes", items: [ "guides/about-vscode", @@ -122,7 +122,7 @@ const sidebars: SidebarsConfig = { }, { type: "category", - collapsed: false, + collapsed: true, label: "Generate reports", items: [ "guides/ondemand-reports", @@ -132,7 +132,7 @@ const sidebars: SidebarsConfig = { }, { type: "category", - collapsed: false, + collapsed: true, label: "Reference", items: [ { @@ -177,7 +177,7 @@ const sidebars: SidebarsConfig = { }, { type: "category", - collapsed: false, + collapsed: true, label: "Resources", items: [ "getting-started/support", From 7d8efae808d2ce505ed6f7b3a494c5a9dd9823b0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 16 May 2025 19:47:39 +0000 Subject: [PATCH 38/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 1379587b..8992fa7d 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -346,6 +346,19 @@ "additionalProperties": false, "default": {}, "description": "Docstrings | Options for generating Docstrings for your PRs/MRs." + }, + "unit_tests": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Unit Tests | Allow CodeRabbit to generate unit tests for PRs/MRs." + } + }, + "additionalProperties": false, + "default": {}, + "description": "Unit Tests | Options for generating unit tests for your PRs/MRs." } }, "additionalProperties": false, From a3f2a46fd67f01eea22843b63190eb44486c186c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 16 May 2025 21:36:20 +0000 Subject: [PATCH 39/81] Update schema.v2.json --- static/schema/schema.v2.json | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 8992fa7d..8dba06ac 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -1133,6 +1133,37 @@ "path_instructions": [] }, "description": "Settings related to the generation of docstrings." + }, + "unit_tests": { + "type": "object", + "properties": { + "path_instructions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "File path glob pattern. Example: **/*.js" + }, + "instructions": { + "type": "string", + "maxLength": 20000, + "description": "Provides additional guidelines for unit test generation based on file paths." + } + }, + "required": ["path", "instructions"], + "additionalProperties": false + }, + "default": [], + "description": "Unit Test Generation | Provide additional guidelines for unit test generation based on file paths." + } + }, + "additionalProperties": false, + "default": { + "path_instructions": [] + }, + "description": "Settings related to the generation of unit tests." } }, "additionalProperties": false, From 4282b9c8110df295dbf681201dba9446fb3dc88e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 06:37:52 +0000 Subject: [PATCH 40/81] Update schema.v2.json --- static/schema/schema.v2.json | 78 ++++++++---------------------------- 1 file changed, 17 insertions(+), 61 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 8dba06ac..198014dd 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -346,19 +346,6 @@ "additionalProperties": false, "default": {}, "description": "Docstrings | Options for generating Docstrings for your PRs/MRs." - }, - "unit_tests": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Unit Tests | Allow CodeRabbit to generate unit tests for PRs/MRs." - } - }, - "additionalProperties": false, - "default": {}, - "description": "Unit Tests | Options for generating unit tests for your PRs/MRs." } }, "additionalProperties": false, @@ -402,7 +389,7 @@ }, "additionalProperties": false, "default": {}, - "description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.38.1" + "description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.31.1" }, "shellcheck": { "type": "object", @@ -423,7 +410,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.11.9" + "description": "Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.8.2" } }, "additionalProperties": false, @@ -568,7 +555,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable PHPStan | PHPStan requires [config file](https://phpstan.org/config-reference#config-file) in your repository root. Please ensure that this file contains the `paths:` parameter. | v2.1.15" + "description": "Enable PHPStan | PHPStan requires [config file](https://phpstan.org/config-reference#config-file) in your repository root. Please ensure that this file contains the `paths:` parameter. | v2.0.3" }, "level": { "type": "string", @@ -617,7 +604,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.37.1" + "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.35.1" } }, "additionalProperties": false, @@ -630,7 +617,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.26.0" + "description": "Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.21.2" } }, "additionalProperties": false, @@ -656,7 +643,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.8" + "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.7" }, "config_file": { "type": "string", @@ -686,7 +673,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.75.5" + "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.73" } }, "additionalProperties": false, @@ -699,7 +686,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Buf | Buf offers linting for Protobuf files. | v1.54.0" + "description": "Enable Buf | Buf offers linting for Protobuf files. | v1.47.2" } }, "additionalProperties": false, @@ -712,7 +699,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Regal | Regal is a linter and language server for Rego. | v0.33.1" + "description": "Enable Regal | Regal is a linter and language server for Rego. | v0.29.2" } }, "additionalProperties": false, @@ -725,7 +712,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.7" + "description": "Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.4" } }, "additionalProperties": false, @@ -738,7 +725,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.13.0" + "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.8.0" }, "config_file": { "type": "string", @@ -755,7 +742,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.17.1" + "description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.10-2" } }, "additionalProperties": false, @@ -768,7 +755,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.122.0" + "description": "Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.99.0" }, "config_file": { "type": "string", @@ -785,7 +772,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.31687" + "description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.31151" } }, "additionalProperties": false, @@ -798,7 +785,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.4.0" + "description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.3.0" } }, "additionalProperties": false, @@ -811,7 +798,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.10.1" + "description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.10.0" } }, "additionalProperties": false, @@ -824,7 +811,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable OXC | OXC is a JavaScript/TypeScript linter written in Rust. | v0.16.10" + "description": "Enable OXC | OXC is a JavaScript/TypeScript linter written in Rust. | v0.16.5" } }, "additionalProperties": false, @@ -1133,37 +1120,6 @@ "path_instructions": [] }, "description": "Settings related to the generation of docstrings." - }, - "unit_tests": { - "type": "object", - "properties": { - "path_instructions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "File path glob pattern. Example: **/*.js" - }, - "instructions": { - "type": "string", - "maxLength": 20000, - "description": "Provides additional guidelines for unit test generation based on file paths." - } - }, - "required": ["path", "instructions"], - "additionalProperties": false - }, - "default": [], - "description": "Unit Test Generation | Provide additional guidelines for unit test generation based on file paths." - } - }, - "additionalProperties": false, - "default": { - "path_instructions": [] - }, - "description": "Settings related to the generation of unit tests." } }, "additionalProperties": false, From 81a641c19e019ea9ed7ea0f81df785a659704c2d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 08:13:30 +0000 Subject: [PATCH 41/81] Update schema.v2.json --- static/schema/schema.v2.json | 78 ++++++++++++++++++++++++++++-------- 1 file changed, 61 insertions(+), 17 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 198014dd..8dba06ac 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -346,6 +346,19 @@ "additionalProperties": false, "default": {}, "description": "Docstrings | Options for generating Docstrings for your PRs/MRs." + }, + "unit_tests": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Unit Tests | Allow CodeRabbit to generate unit tests for PRs/MRs." + } + }, + "additionalProperties": false, + "default": {}, + "description": "Unit Tests | Options for generating unit tests for your PRs/MRs." } }, "additionalProperties": false, @@ -389,7 +402,7 @@ }, "additionalProperties": false, "default": {}, - "description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.31.1" + "description": "Enable ast-grep | ast-grep is a code analysis tool that helps you to find patterns in your codebase using abstract syntax trees patterns. | v0.38.1" }, "shellcheck": { "type": "object", @@ -410,7 +423,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.8.2" + "description": "Enable Ruff | Ruff is a Python linter and code formatter. | Enable Ruff integration. | v0.11.9" } }, "additionalProperties": false, @@ -555,7 +568,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable PHPStan | PHPStan requires [config file](https://phpstan.org/config-reference#config-file) in your repository root. Please ensure that this file contains the `paths:` parameter. | v2.0.3" + "description": "Enable PHPStan | PHPStan requires [config file](https://phpstan.org/config-reference#config-file) in your repository root. Please ensure that this file contains the `paths:` parameter. | v2.1.15" }, "level": { "type": "string", @@ -604,7 +617,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.35.1" + "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.37.1" } }, "additionalProperties": false, @@ -617,7 +630,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.21.2" + "description": "Enable Gitleaks | Gitleaks is a secret scanner. | Enable Gitleaks integration. | v8.26.0" } }, "additionalProperties": false, @@ -643,7 +656,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.7" + "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.8" }, "config_file": { "type": "string", @@ -673,7 +686,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.73" + "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.75.5" } }, "additionalProperties": false, @@ -686,7 +699,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Buf | Buf offers linting for Protobuf files. | v1.47.2" + "description": "Enable Buf | Buf offers linting for Protobuf files. | v1.54.0" } }, "additionalProperties": false, @@ -699,7 +712,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Regal | Regal is a linter and language server for Rego. | v0.29.2" + "description": "Enable Regal | Regal is a linter and language server for Rego. | v0.33.1" } }, "additionalProperties": false, @@ -712,7 +725,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.4" + "description": "Enable actionlint | is a static checker for GitHub Actions workflow files. | v1.7.7" } }, "additionalProperties": false, @@ -725,7 +738,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.8.0" + "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.13.0" }, "config_file": { "type": "string", @@ -742,7 +755,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.10-2" + "description": "Enable Cppcheck | Cppcheck is a static code analysis tool for the C and C++ programming languages. | v2.17.1" } }, "additionalProperties": false, @@ -755,7 +768,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.99.0" + "description": "Enable Semgrep | Semgrep is a static analysis tool designed to scan code for security vulnerabilities and code quality issues. | Enable Semgrep integration. | v1.122.0" }, "config_file": { "type": "string", @@ -772,7 +785,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.31151" + "description": "Enable CircleCI | CircleCI tool is a static checker for CircleCI config files. | v0.1.31687" } }, "additionalProperties": false, @@ -785,7 +798,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.3.0" + "description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.4.0" } }, "additionalProperties": false, @@ -798,7 +811,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.10.0" + "description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.10.1" } }, "additionalProperties": false, @@ -811,7 +824,7 @@ "enabled": { "type": "boolean", "default": true, - "description": "Enable OXC | OXC is a JavaScript/TypeScript linter written in Rust. | v0.16.5" + "description": "Enable OXC | OXC is a JavaScript/TypeScript linter written in Rust. | v0.16.10" } }, "additionalProperties": false, @@ -1120,6 +1133,37 @@ "path_instructions": [] }, "description": "Settings related to the generation of docstrings." + }, + "unit_tests": { + "type": "object", + "properties": { + "path_instructions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "File path glob pattern. Example: **/*.js" + }, + "instructions": { + "type": "string", + "maxLength": 20000, + "description": "Provides additional guidelines for unit test generation based on file paths." + } + }, + "required": ["path", "instructions"], + "additionalProperties": false + }, + "default": [], + "description": "Unit Test Generation | Provide additional guidelines for unit test generation based on file paths." + } + }, + "additionalProperties": false, + "default": { + "path_instructions": [] + }, + "description": "Settings related to the generation of unit tests." } }, "additionalProperties": false, From 7042a8ad2faf2d0933c4278fb524058546a60237 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Mon, 19 May 2025 14:47:32 -0400 Subject: [PATCH 42/81] Split the tools page into explainer and reference pages (#325) Split the tools page into seaprate explainer and references pages. Fixes #305. --- docs/tools/list.md | 74 +++++++++++++++++++++++++++++++++++++++++++++ docs/tools/tools.md | 70 +++--------------------------------------- sidebars.ts | 1 + 3 files changed, 80 insertions(+), 65 deletions(-) create mode 100644 docs/tools/list.md diff --git a/docs/tools/list.md b/docs/tools/list.md new file mode 100644 index 00000000..65f9d12d --- /dev/null +++ b/docs/tools/list.md @@ -0,0 +1,74 @@ +--- +title: List of supported tools +description: Overview of CodeRabbit's supported linters and security analysis tools +--- + +This is a list of the third-party open-source linters and security analysis tools that CodeRabbit uses to generate code reviews. + +For more information about fine-tuning the CodeRabbit configuration of a tool, click that tool's name in the following list. + +For an overview of how CodeRabbit uses these tools when generating code reviews, as well as general information about controlling their use, see [Configure third-party tools](/tools/). + +| Technology | Tools | Category | +| :-------------------------- | :--------------------------------------------------------- | :-------------------------------------------------- | +| All | [Gitleaks][Gitleaks], [Pipeline Remediation][Pipeline] | Code Security, CI/CD | +| Azure DevOps Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation | +| CircleCI | [CircleCI][CircleCI], [Pipeline Remediation][Pipeline] | Configuration Validation, CI/CD Failure Remediation | +| CloudFormation | [Checkov][Checkov] | Code Security | +| Cppcheck | [Cppcheck][Cppcheck] | Code Quality | +| CSS | [Biome][Biome] | Code Quality | +| Docker | [Hadolint][Hadolint], [Checkov][Checkov] | Code Quality, Code Security | +| GitHub Actions | [actionlint][actionlint], [Pipeline Remediation][Pipeline] | Code Quality, CI/CD Failure Remediation | +| GitLab Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation | +| Go | [golangci-lint][golangci-lint] | Code Quality | +| Helm | [Checkov][Checkov] | Code Security | +| Javascript | [Biome][Biome], [oxlint][oxlint] | Code Quality | +| JSON, JSONC | [Biome][Biome] | Code Quality | +| JSX | [Biome][Biome], [oxlint][oxlint] | Code Quality | +| Kotlin | [detekt][detekt] | Code Quality | +| Kubernetes | [Checkov][Checkov] | Code Security | +| Markdown | [markdownlint][markdownlint], [LanguageTool][LanguageTool] | Code Quality, Grammar Checking | +| PHP | [PHPStan][PHPStan] | Code Quality | +| Plaintext | [LanguageTool][LanguageTool] | Grammar and Spell Checking | +| Java | [PMD][PMD] | Code Quality | +| Protobuf | [Buf][Buf] | Code Quality | +| Python | [Ruff][Ruff] | Code Quality | +| Regal | [Regal][Regal] | Code Quality | +| Ruby | [RuboCop][RuboCop] | Code Quality | +| Semgrep | [Semgrep][Semgrep] | Code Security | +| Shell (sh, bash, ksh, dash) | [ShellCheck][ShellCheck] | Code Quality | +| Shopify | [Shopify CLI][ShopifyCLI] | Code Quality | +| SQL | [SQLFluff][SQLFluff] | Code Quality | +| Swift | [SwiftLint][SwiftLint] | Code Quality | +| Terraform | [Checkov][Checkov] | Code Security | +| TSX | [Biome][Biome], [oxlint][oxlint] | Code Quality | +| Typescript | [Biome][Biome], [oxlint][oxlint] | Code Quality | +| YAML | [YAMLlint][YAMLlint] | Code Quality | +| Prisma | [Prisma Lint][PrismaLint] | Code Quality | + +[ShellCheck]: /tools/shellcheck.md +[SQLFluff]: /tools/sqlfluff.md +[Ruff]: /tools/ruff.md +[markdownlint]: /tools/markdownlint.md +[LanguageTool]: /tools/languagetool.md +[Biome]: /tools/biome.md +[Hadolint]: /tools/hadolint.md +[SwiftLint]: /tools/swiftlint.md +[PHPStan]: /tools/phpstan.md +[golangci-lint]: /tools/golangci-lint.md +[YAMLlint]: /tools/yamllint.md +[Gitleaks]: /tools/gitleaks.md +[Checkov]: /tools/checkov.md +[detekt]: /tools/detekt.md +[RuboCop]: /tools/rubocop.md +[Buf]: /tools/buf.md +[actionlint]: /tools/actionlint.md +[Regal]: /tools/regal.md +[PMD]: /tools/pmd.md +[Cppcheck]: /tools/cppcheck.md +[CircleCI]: /tools/circleci.md +[Semgrep]: /tools/semgrep.md +[Pipeline]: /tools/pipeline-remediation.md +[PrismaLint]: /tools/prisma-lint.md +[oxlint]: /tools/oxlint.md +[ShopifyCLI]: /tools/shopify-cli.md diff --git a/docs/tools/tools.md b/docs/tools/tools.md index 113c2fee..45b376c5 100644 --- a/docs/tools/tools.md +++ b/docs/tools/tools.md @@ -3,6 +3,8 @@ title: Configure third-party tool use description: Overview of CodeRabbit's supported linters and security analysis tools. --- +This page provides an overview of how CodeRabbit uses third-party open-source tools to deliver its multifaceted code reviews. For a complete list of supported tools, see [Supported tools](/tools/list). + ```mdx-code-block import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; @@ -40,68 +42,6 @@ Remove extraneous f prefix (F541) ``` -## Supported Tools - -| Technology | Tools | Category | -| :-------------------------- | :--------------------------------------------------------- | :-------------------------------------------------- | -| All | [Gitleaks][Gitleaks], [Pipeline Remediation][Pipeline] | Code Security, CI/CD | -| Azure DevOps Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation | -| CircleCI | [CircleCI][CircleCI], [Pipeline Remediation][Pipeline] | Configuration Validation, CI/CD Failure Remediation | -| CloudFormation | [Checkov][Checkov] | Code Security | -| Cppcheck | [Cppcheck][Cppcheck] | Code Quality | -| CSS | [Biome][Biome] | Code Quality | -| Docker | [Hadolint][Hadolint], [Checkov][Checkov] | Code Quality, Code Security | -| GitHub Actions | [actionlint][actionlint], [Pipeline Remediation][Pipeline] | Code Quality, CI/CD Failure Remediation | -| GitLab Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation | -| Go | [golangci-lint][golangci-lint] | Code Quality | -| Helm | [Checkov][Checkov] | Code Security | -| Javascript | [Biome][Biome], [oxlint][oxlint] | Code Quality | -| JSON, JSONC | [Biome][Biome] | Code Quality | -| JSX | [Biome][Biome], [oxlint][oxlint] | Code Quality | -| Kotlin | [detekt][detekt] | Code Quality | -| Kubernetes | [Checkov][Checkov] | Code Security | -| Markdown | [markdownlint][markdownlint], [LanguageTool][LanguageTool] | Code Quality, Grammar Checking | -| PHP | [PHPStan][PHPStan] | Code Quality | -| Plaintext | [LanguageTool][LanguageTool] | Grammar and Spell Checking | -| Java | [PMD][PMD] | Code Quality | -| Protobuf | [Buf][Buf] | Code Quality | -| Python | [Ruff][Ruff] | Code Quality | -| Regal | [Regal][Regal] | Code Quality | -| Ruby | [RuboCop][RuboCop] | Code Quality | -| Semgrep | [Semgrep][Semgrep] | Code Security | -| Shell (sh, bash, ksh, dash) | [ShellCheck][ShellCheck] | Code Quality | -| Shopify | [Shopify CLI][ShopifyCLI] | Code Quality | -| SQL | [SQLFluff][SQLFluff] | Code Quality | -| Swift | [SwiftLint][SwiftLint] | Code Quality | -| Terraform | [Checkov][Checkov] | Code Security | -| TSX | [Biome][Biome], [oxlint][oxlint] | Code Quality | -| Typescript | [Biome][Biome], [oxlint][oxlint] | Code Quality | -| YAML | [YAMLlint][YAMLlint] | Code Quality | -| Prisma | [Prisma Lint][PrismaLint] | Code Quality | - -[ShellCheck]: ./shellcheck.md -[SQLFluff]: ./sqlfluff.md -[Ruff]: ./ruff.md -[markdownlint]: ./markdownlint.md -[LanguageTool]: ./languagetool.md -[Biome]: ./biome.md -[Hadolint]: ./hadolint.md -[SwiftLint]: ./swiftlint.md -[PHPStan]: ./phpstan.md -[golangci-lint]: ./golangci-lint.md -[YAMLlint]: ./yamllint.md -[Gitleaks]: ./gitleaks.md -[Checkov]: ./checkov.md -[detekt]: ./detekt.md -[RuboCop]: ./rubocop.md -[Buf]: ./buf.md -[actionlint]: ./actionlint.md -[Regal]: ./regal.md -[PMD]: ./pmd.md -[Cppcheck]: ./cppcheck.md -[CircleCI]: ./circleci.md -[Semgrep]: ./semgrep.md -[Pipeline]: ./pipeline-remediation.md -[PrismaLint]: ./prisma-lint.md -[oxlint]: ./oxlint.md -[ShopifyCLI]: ./shopify-cli.md +## What's next + +- For a complete list of tools that CodeRabbit supports, see [Supported tools](/tools/list). diff --git a/sidebars.ts b/sidebars.ts index 4e1e68d3..801435c8 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -145,6 +145,7 @@ const sidebars: SidebarsConfig = { label: "Supported tools", collapsed: true, items: [ + "tools/list", "tools/actionlint", "tools/biome", "tools/buf", From 7ca9e0b8906ea769de342fdc6b66d85a0fc05024 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 19:37:16 +0000 Subject: [PATCH 43/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 8dba06ac..66ccd0a5 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -843,6 +843,19 @@ "additionalProperties": false, "default": {}, "description": "Configuration for Shopify Theme Check to ensure theme quality and best practices" + }, + "luacheck": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable Lua code linting | Luacheck helps maintain consistent and error-free Lua code | v1.2.0" + } + }, + "additionalProperties": false, + "default": {}, + "description": "Configuration for Lua code linting to ensure code quality" } }, "additionalProperties": false, From b0fdbf04656a7017d5519ce76b9b397bbbd9f64f Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Mon, 19 May 2025 16:36:58 -0400 Subject: [PATCH 44/81] Feat/luacheck (#349) * adding luacheck * update changelog * enhanced * add sidebar --- docs/changelog.md | 6 ++++++ docs/tools/list.md | 2 ++ docs/tools/luacheck.md | 49 ++++++++++++++++++++++++++++++++++++++++++ sidebars.ts | 1 + 4 files changed, 58 insertions(+) create mode 100644 docs/tools/luacheck.md diff --git a/docs/changelog.md b/docs/changelog.md index 24e903ff..9fe3847d 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,6 +5,12 @@ description: The latest updates and changes to CodeRabbit. sidebar_position: 13 --- +## May 19, 2025 + +### Lua Support with Luacheck + +We're excited to announce enhanced support for Lua code analysis with [Luacheck](https://github.com/mpeterv/luacheck), a powerful static analyzer and linter for Lua code. + ## April 19, 2025 ### Docstring Path Instructions diff --git a/docs/tools/list.md b/docs/tools/list.md index 65f9d12d..d85b4c78 100644 --- a/docs/tools/list.md +++ b/docs/tools/list.md @@ -27,6 +27,7 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, | JSX | [Biome][Biome], [oxlint][oxlint] | Code Quality | | Kotlin | [detekt][detekt] | Code Quality | | Kubernetes | [Checkov][Checkov] | Code Security | +| Lua | [Luacheck][Luacheck] | Code Quality | | Markdown | [markdownlint][markdownlint], [LanguageTool][LanguageTool] | Code Quality, Grammar Checking | | PHP | [PHPStan][PHPStan] | Code Quality | | Plaintext | [LanguageTool][LanguageTool] | Grammar and Spell Checking | @@ -72,3 +73,4 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, [PrismaLint]: /tools/prisma-lint.md [oxlint]: /tools/oxlint.md [ShopifyCLI]: /tools/shopify-cli.md +[Luacheck]: /tools/luacheck.md diff --git a/docs/tools/luacheck.md b/docs/tools/luacheck.md new file mode 100644 index 00000000..3a8414b6 --- /dev/null +++ b/docs/tools/luacheck.md @@ -0,0 +1,49 @@ +--- +title: Luacheck +sidebar_label: Luacheck +description: CodeRabbit's guide to Luacheck. +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +[Luacheck](https://github.com/mpeterv/luacheck) is a static analyzer and linter for Lua code that detects various issues such as undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code, and more. + +## Supported Files + +Luacheck will run on files with the following extensions: + +- `.lua` + +## Configuration + +Luacheck supports the following configuration files: + +- `.luacheckrc` +- `luacheckrc` +- `.luacheckrc.lua` +- `luacheckrc.lua` + +:::note + +Luacheck does not require configuration to run. If no configuration file is found, it will use default settings. + +::: + +## Features + +Luacheck can detect: + +- Usage of undefined global variables +- Unused variables and values +- Accessing uninitialized variables +- Unreachable code +- And many more issues + +## Links + +- [Luacheck GitHub Repository](https://github.com/mpeterv/luacheck) +- [Luacheck Documentation](https://luacheck.readthedocs.io/) diff --git a/sidebars.ts b/sidebars.ts index 801435c8..c61517d4 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -158,6 +158,7 @@ const sidebars: SidebarsConfig = { "tools/golangci-lint", "tools/hadolint", "tools/languagetool", + "tools/luacheck", "tools/markdownlint", "tools/oxlint", "tools/phpstan", From b35301746f778b7dbf99022247cebcbce29e7820 Mon Sep 17 00:00:00 2001 From: nimratcoderabbit Date: Tue, 20 May 2025 10:26:11 -0400 Subject: [PATCH 45/81] UPDATE CHANGELOG FOR VS CODE (#352) Co-authored-by: Nimrat Kaur --- docs/changelog.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 9fe3847d..6a21a8ab 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -11,6 +11,24 @@ sidebar_position: 13 We're excited to announce enhanced support for Lua code analysis with [Luacheck](https://github.com/mpeterv/luacheck), a powerful static analyzer and linter for Lua code. +## May 14, 2025 + +### CodeRabbit for VS Code, Cursor, and Windsurf Is Here 🎉 + +We're thrilled to announce that CodeRabbit's AI code reviews have officially landed inside **VS Code and all its forks, including Cursor and Windsurf!** No more review bottlenecks or context switches: now you can get _instant, inline feedback right in your editor, completely free._ + +**Why you'll love it:** + +- 📝 **Inline Code Reviews**: Senior-dev-level annotation on every line. CodeRabbit becomes your AI pair programmer, annotating staged & unstaged commits before you even open a PR. +- 🚀 **Built for Flow, Not Friction**: Code, review, commit—rise & repeat without breaking your flow state. Reviews run automatically on every commit so you ship faster. +- 🛠️ **Fix-with-AI**: One-Click Fix for quick tweaks; "Fix with AI" hands off more complex suggestions to your favorite coding agent, complete with full context. +- 🧩 **Compatible with Cursor, Windsurf & Language-Agnostic**: Works out of the box on VS Code, Cursor, Windsurf. Supports Java, JavaScript, PHP, Python, TypeScript, Go, Ruby, and more. + +Pair these IDE-embedded reviews with our deeper Git-platform reviews for a multi-layered approach that catches more bugs and cuts down overall review time. + +- [Join the launch discussion on Discord](https://discord.com/channels/1134356397673414807/1145813948193575023/1372210767838842950) +- [Install the CodeRabbit VSCode Extension](https://coderabbit.link/vscode) + ## April 19, 2025 ### Docstring Path Instructions From 57bdf564ff1c2af446ded9c5ae93b1c7df907431 Mon Sep 17 00:00:00 2001 From: Nick Busey Date: Tue, 20 May 2025 21:58:08 -0600 Subject: [PATCH 46/81] Add caching page (#353) --- docs/reference/caching.md | 20 ++++++++++++++++++++ sidebars.ts | 1 + 2 files changed, 21 insertions(+) create mode 100644 docs/reference/caching.md diff --git a/docs/reference/caching.md b/docs/reference/caching.md new file mode 100644 index 00000000..cea907c0 --- /dev/null +++ b/docs/reference/caching.md @@ -0,0 +1,20 @@ +# Caching + +CodeRabbit provides caching capabilities for code and dependencies to accelerate the review process. This feature enhances your development workflow by delivering faster feedback. + +## Security and Privacy + +- Cached data is encrypted (except for OSS projects) +- Cache expires after a maximum of one week +- Cached data is used exclusively for speeding up reviews + +## Configuration + +You can opt out of caching in two ways: + +1. **Disable Cache**: Configure `Review - Disable Cache` at either: + + - Organization level + - Repository level + +2. **Disable Data Retention**: Turn off the `Data Retention` setting in your Organization Settings to disable all data retention across your organization. diff --git a/sidebars.ts b/sidebars.ts index c61517d4..2668b5c1 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -175,6 +175,7 @@ const sidebars: SidebarsConfig = { "tools/yamllint", ], }, + "reference/caching", ], }, { From e2e308419dddcc575183abc92c05a5776765f0a1 Mon Sep 17 00:00:00 2001 From: Hasit Mistry Date: Wed, 21 May 2025 11:42:54 -0700 Subject: [PATCH 47/81] Update introduction.md to clarify Git platform integrations (#356) --- docs/overview/introduction.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/overview/introduction.md b/docs/overview/introduction.md index 06150977..f937ac67 100644 --- a/docs/overview/introduction.md +++ b/docs/overview/introduction.md @@ -58,8 +58,8 @@ No matter how you tune and customize CodeRabbit, its default settings make it us CodeRabbit integrates in just a few clicks with many popular Git platforms: -- GitHub, including GitHub Enterprise Server -- GitLab, including self-managed GitLab +- GitHub, GitHub Enterprise Cloud, GitHub Enterprise Server, +- GitLab, GitLab Self-Managed - Azure DevOps - Bitbucket Cloud From d01fee9c3e1e76497e382b75c4a8ae7d825c37c7 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 23 May 2025 17:51:56 -0400 Subject: [PATCH 48/81] Expand and refactor the code-review docs (#355) * Split the current chat commands page into three pages: a reference page, a troubleshooting guide, and a best practices guide. Replace the chat commands page with two task-orience how-to guides, one about controlling code reviews, and one about generating improvements. Add a new overview page for the code review process. --- docs/guides/code-review-best-practices.md | 42 +++++ docs/guides/code-review-overview.md | 89 ++++++++++ docs/guides/code-review-troubleshooting.md | 17 ++ docs/guides/commands.md | 180 ++++++++++++++------- docs/guides/generate-improvements.md | 102 ++++++++++++ docs/reference/review-commands.md | 47 ++++++ sidebars.ts | 5 + 7 files changed, 422 insertions(+), 60 deletions(-) create mode 100644 docs/guides/code-review-best-practices.md create mode 100644 docs/guides/code-review-overview.md create mode 100644 docs/guides/code-review-troubleshooting.md create mode 100644 docs/guides/generate-improvements.md create mode 100644 docs/reference/review-commands.md diff --git a/docs/guides/code-review-best-practices.md b/docs/guides/code-review-best-practices.md new file mode 100644 index 00000000..83bd8abb --- /dev/null +++ b/docs/guides/code-review-best-practices.md @@ -0,0 +1,42 @@ +--- +title: Code review best practices +description: Best practices for managing CodeRabbit code reviews. +sidebar_label: Best practices +--- + +This page lists best practices for performing code reviews with CodeRabbit. + +For more information about working with +CodeRabbit through chat, see [Control and manage code reviews](/guides/commands). + +For a CodeRabbit command reference, see [Code review command reference](/reference/review-commands). + +## Recommended code-review workflow + +- Start with `@coderabbitai review` for checking new changes. +- Use `@coderabbitai full review` when major changes require a fresh perspective. +- Generate summaries after significant updates using `@coderabbitai summary`. + +## Managing large changes + +- Use `@coderabbitai pause` before making multiple commits. +- Resume reviews with `@coderabbitai resume` when ready. +- Consider `@coderabbitai full review` after substantial changes. + +## Documentation flow + +- Run `@coderabbitai generate docstrings` after finalizing function implementations. +- Learn more about [docstring generation](/finishing-touches/docstrings). + +## Overall tips + +- Commands are case-insensitive (`@coderabbitai REVIEW` works the same as `@coderabbitai review`). +- Commands can be issued by anyone with write access to the repository. +- Multiple commands can be used in sequence as needed. +- Use `@coderabbitai configuration` to export your settings before making changes. + +## Command response time + +- Most commands (pause, resume, ignore) take effect immediately. +- Review commands typically complete within a few minutes, depending on PR size. +- Docstring generation time varies based on the number of functions. diff --git a/docs/guides/code-review-overview.md b/docs/guides/code-review-overview.md new file mode 100644 index 00000000..cd511c76 --- /dev/null +++ b/docs/guides/code-review-overview.md @@ -0,0 +1,89 @@ +--- +title: Review pull requests +description: An overview of CodeRabbit's core code review features. +sidebar_label: Overview +--- + +The central feature of CodeRabbit is its ability to proactively review +new pull requests on your code repository. + +CodeRabbit reviews take the form of pull request comments that +include summaries, analyses, and initial critiques of the proposed changes. +This information, usually added to pull requests within minutes, can help your team perform more rapid, better-informed code reviews. + +The following sections present an overview of this feature. For a hands-on example that lets you experience a CodeRabbit code review using +a real repository, see [Quickstart](/getting-started/quickstart). + +## Automatically review pull requests {#review} + +After you [integrate CodeRabbit with your repository](/platforms), CodeRabbit proceeds +to automatically review every subsequent pull request, as soon as each one is created. + +CodeRabbit performs code reviews by attaching comments to the pull request. +These comments contain detailed summaries and analyses of the changes, +as well as listing out problems or areas for potential improvement that it found. + +CodeRabbit uses [a variety of open-source linters and security tools](/tools) and a custom +code verification agent to provide this analysis. CodeRabbit +also consults several models to further analyze and critique the proposed changes, +using all of the content of your repository as context. The code-review comment that CodeRabbit attaches +to your pull request synthesizes and summarizes all of the information collected from these different sources. + +For more information about the graph analysis that CodeRabbit includes with its reviews +when available, see [CodeRabbit Code Graph Analysis](/integrations/code-graph-analysis). + +### Events that trigger automated reviews {#events} + +By default, the following activity in your repository triggers CodeRabbit to +perform a code review: + +- If CodeRabbit sees a new pull request, then it immediately performs a full review + of the proposed code changes. +- If an open pull request that CodeRabbit has already reviewed gets modified with another + commit, then CodeRabbit performs an incremental review that focuses on the new commit. + +## Interact with CodeRabbit reviews {#interact} + +After CodeRabbit attaches its initial code-review comment to a pull request, you can +directly interact with CodeRabbit by mentioning its username, `@coderabbitai`, in comments +that you post to the pull request. + +These interactions can serve several purposes: + +- Free-form discussion about the pull request and the ongoing code review. +- Commands to have CodeRabbit perform specific actions regarding the code review. +- Prompts to have CodeRabbit generate its own improvements to the branch under review. + +### Chat with CodeRabbit {#chat} + +You can have open-ended, natural-language discussion with CodeRabbit during a code review, treating it +as an LLM-powered chatbot that has your entire code repository available for context. For more information, see [CodeRabbit Chat](/guides/agent_chat). + +### Manage CodeRabbit review behavior {#manage} + +CodeRabbit recognizes a variety of keyword-based commands that let you control its +behavior during a code review, including the following: + +- Pause or resume automated reviews of the pull request. +- Manually request a review, when automated reviews are paused. +- Resolve all open comments authored by CodeRabbit. + +For more information, see [Control and manage code reviews](/guides/commands). + +### Generate improvements {#generate} + +You can command CodeRabbit to generate improvements to the branch under review. +CodeRabbit accomplishes this by publishing a new branch based on the branch under review, +and creating a new pull request for your own review. + +Available code-generation commands let you request the following from CodeRabbit: + +- Implement the suggestions for improvements that CodeRabbit has made in its earlier code review comments. +- Generate inline documentation for any undocumented functions that this pull request proposes to add. + +For more information, see [Generate improvements](/guides/generate-improvements). + +## What's next {#whats-next} + +- [Control and manage code reviews](/guides/commands) +- [Generate code improvements](/guides/generate-improvements) diff --git a/docs/guides/code-review-troubleshooting.md b/docs/guides/code-review-troubleshooting.md new file mode 100644 index 00000000..72539453 --- /dev/null +++ b/docs/guides/code-review-troubleshooting.md @@ -0,0 +1,17 @@ +--- +title: Code review troubleshooting +description: Troubleshooting CodeRabbit code reviews. +sidebar_label: Troubleshooting +--- + +This page is about troubleshooting interactive code review sessions with CodeRabbit. For more information about working with +CodeRabbit through chat, see [Control and manage code reviews](/guides/commands). + +If a CodeRabbit command doesn't seem to work: + +1. Check that you have the necessary repository permissions. +2. Verify the command syntax. +3. Look for any response from CodeRabbit in the PR comments. +4. Use `@coderabbitai help` for command guidance. + +Need help? Join our community on [Discord](https://discord.gg/coderabbit) or [contact our support team](/getting-started/support). diff --git a/docs/guides/commands.md b/docs/guides/commands.md index f7cbe002..43e6283a 100644 --- a/docs/guides/commands.md +++ b/docs/guides/commands.md @@ -3,92 +3,152 @@ title: Control and manage code reviews description: Learn how to control CodeRabbit using commands in pull request comments --- -# CodeRabbit Commands +This page is about issuing direct commands to CodeRabbit during code reviews. +For a general overview of performing code reviews with CodeRabbit, see [Review pull requests](/guides/code-review-overview). -> Control your code reviews directly from pull request comments using CodeRabbit's command system. Each command starts with `@coderabbitai` followed by the specific action you want to take. +You can control CodeRabbit's behavior with a specific pull request by mentioning the +username of its bot, `@coderabbitai`, alongside keywords in comments or the pull +request description, as specified by the next sections of this page. -## Review Control Commands +For a complete CodeRabbit command reference, see [Code review command reference](/reference/review-commands). -### Managing Reviews +## Control automatic code reviews {#flow} -| Command | Description | Use Case | -| --------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------- | -| `@coderabbitai review` | Triggers an incremental review of new changes | When automatic reviews are disabled or you want to manually trigger a review | -| `@coderabbitai full review` | Performs a complete review of all files from scratch | When you want to get fresh insights on the entire PR | -| `@coderabbitai summary` | Regenerates the PR summary | When you want an updated overview after making changes | +By default, CodeRabbit automatically reviews every new pull request created in +your repository. It updates its review with comments whenever the pull request has new commits +pushed to it. -### Review Flow Control +The following sections show you how to tell CodeRabbit to modify this behavior with +a specific pull request, such as pausing reviews, or resolving open comments. -| Command | Description | Use Case | -| ---------------------- | ---------------------------------------- | --------------------------------------------------- | -| `@coderabbitai pause` | Temporarily stops reviews on the PR | When you're making multiple rapid changes | -| `@coderabbitai resume` | Restarts reviews after a pause | When you're ready for CodeRabbit to review again | -| `@coderabbitai ignore` | Permanently disables reviews for this PR | When you want to handle the review process manually | +For more information about permanently configuring the behavior of CodeRabbit on +your repository, see [Add a configuration file](/getting-started/configure-coderabbit). -### Comment Management +### Pause and resume automatic code reviews {#pause-resume} -| Command | Description | Use Case | -| ----------------------- | --------------------------------------- | ------------------------------------------------------- | -| `@coderabbitai resolve` | Resolves all CodeRabbit review comments | When you've addressed all feedback and want to clean up | +You can tell CodeRabbit to pause its automatic reviews of a pull request. If +you do, then you can still manually request CodeRabbit to review changes using +the commands listed on [Code review command reference](/reference/review-commands). -### Documentation Commands +To pause automated reviews of a pull request, post the following comment to the +pull request: -| Command | Description | Use Case | -| ----------------------------------- | -------------------------------------------- | --------------------------------------------------- | -| `@coderabbitai generate docstrings` | Generates docstrings for functions in the PR | When you need automatic documentation for your code | -| `@coderabbitai configuration` | Shows current CodeRabbit settings | When you need to check or export your configuration | +```text +@coderabbitai pause +``` -### Agentic Chat Commands +To resume automated reviews after pausing them, post the following comment to the +pull request: -| Command | Description | Use Case | -| -------------------- | ---------------------------------------------------------- | ---------------------------------------------------- | -| `@coderabbitai plan` | Get the agentic chat to plan an edit for previous comments | When you want CodeRabbit to change your code for you | +```text +@coderabbitai resume +``` -### Help & Support +### Disable automatic code reviews {#ignore} -| Command | Description | Use Case | -| -------------------- | ------------------------------------------ | ------------------------------------------ | -| `@coderabbitai help` | Displays available commands and usage info | When you need guidance on using CodeRabbit | +To disable automatic code reviews for a pull request, add the following line +anywhere in the pull request description: -## Best Practices +```text +@coderabbitai ignore +``` -### Review Workflow +As long as that text remains in the description, CodeRabbit will not +automatically review any commits associated with that pull request. +You can still [chat with CodeRabbit](/guides/agent_chat) and issue other commands in the pull +request comments. -- Start with `@coderabbitai review` for checking new changes -- Use `@coderabbitai full review` when major changes require a fresh perspective -- Generate summaries after significant updates using `@coderabbitai summary` +To enable automatic reviews on that pull request, delete "`@coderabbitai ignore`" +from the pull request description. CodeRabbit commences automatic reviews starting with +the next commit made to the branch under review. -### Managing Large Changes +## Manually request code reviews {#request} -- Use `@coderabbitai pause` before making multiple commits -- Resume reviews with `@coderabbitai resume` when ready -- Consider `@coderabbitai full review` after substantial changes +You can ask CodeRabbit to perform a code review at any time. This can be useful +when you have paused automated code reviews. Manually requested reviews have +two types: -### Documentation Flow +- A _full review_ disregards any comments that CodeRabbit has already made + on this pull request, and generates a complete review of the entire pull request. -- Run `@coderabbitai generate docstrings` after finalizing function implementations -- Learn more about [docstring generation](/finishing-touches/docstrings) +- An _incremental review_ takes all comments that CodeRabbit has made since its most recent full review into consideration, and generates a review of only the new changes. -## Tips +To manually request a full review, post the following comment to the +pull request: -- Commands are case-insensitive (`@coderabbitai REVIEW` works the same as `@coderabbitai review`) -- Commands can be issued by anyone with write access to the repository -- Multiple commands can be used in sequence as needed -- Use `@coderabbitai configuration` to export your settings before making changes +```text +@coderabbitai full review +``` -## Command Response Time +To manually request an incremental review, post the following comment to the +pull request: -- Most commands (pause, resume, ignore) take effect immediately -- Review commands typically complete within a few minutes, depending on PR size -- Docstring generation time varies based on the number of functions +```text +@coderabbitai review +``` -## Troubleshooting +## Resolve comments {#resolve} -If a command doesn't seem to work: +To have CodeRabbit mark all of its previous comments as resolved, post the following comment to the +pull request: -1. Check that you have the necessary repository permissions -2. Verify the command syntax -3. Look for any response from CodeRabbit in the PR comments -4. Use `@coderabbitai help` for command guidance +```text +@coderabbitai resolve +``` -Need help? Join our community on [Discord](https://discord.gg/coderabbit) or contact our support team. +## Update information about the pull request {#update} + +The commands in this section request CodeRabbit to generate and post updated information +about the pull request itself. + +### Update the summary text {#summary} + +To have CodeRabbit update the generated summary of the branch’s proposed changes +to the pull request’s description, post the following comment: + +```text +@coderabbitai summary +``` + +CodeRabbit updates the summary text to the description under the heading +"Summary by CodeRabbit". + +### Diagram the pull request history {#diagram} + +To have CodeRabbit post a comment that contains a sequence diagram which visualizes the +history of the pull request under review, post the following comment: + +```text +@coderabbitai generate sequence diagram +``` + +## Get information about CodeRabbit {#info} + +The commands in this section request CodeRabbit to display its own configuration +or documentation. + +### Display current configuration {#config} + +To have CodeRabbit post a comment listing out its current configuration +with your repository, post the following comment to the +pull request: + +```text +@coderabbitai configuration +``` + +### Display a quick-reference guide {#help} + +To have CodeRabbit post a comment to the pull request with a quick-reference +guide to its own commands and other features, post the following comment to the +pull request: + +```text +@coderabbitai help +``` + +## What's next {#whats-next} + +- [Generate code improvements](/guides/generate-improvements) +- [Best practices](/guides/code-review-best-practices) +- [Troubleshooting](/guides/code-review-troubleshooting) diff --git a/docs/guides/generate-improvements.md b/docs/guides/generate-improvements.md new file mode 100644 index 00000000..d194a7dd --- /dev/null +++ b/docs/guides/generate-improvements.md @@ -0,0 +1,102 @@ +--- +title: Generate improvements +description: Request coderabbit to generate its own code improvements during code reviews +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +This page is about using CodeRabbit to generate improvements to code under review. + +For a general overview of performing code reviews with CodeRabbit, see [Review pull requests](/guides/code-review-overview). + +## Overview of CodeRabbit code generation {#overview} + +:::note +This feature is available only on GitHub. +::: + +You can request CodeRabbit to generate improvements to a branch that it is currently reviewing. + +To do this, write out your request prompt in a comment addressed to `@coderabbitai`, +such as with the following examples: + +- `@coderabbitai Please implement the changes you suggested in your code review.` +- `@coderabbitai Add input validation with proper error messages to these new functions.` +- `@coderabbitai Break this large function into smaller, more focused methods.` + +In addition to this kind of free-form request, you can also give CodeRabbit keyword-based +commands for common code-generation requests, as described in [Code generation commands](#commands). +This includes the `plan` keyword, which acts as shorthand for the first prompt on the +previous list. + +After you give it a code-generation prompt or command, CodeRabbit delivers its suggested improvements by taking these steps: + +1. CodeRabbit posts a comment or two to the pull request, detailing its improvement plans. +1. CodeRabbit publishes a new branch, based on the open pull request's branch, to the remote repository. +1. CodeRabbit opens a new pull request based on this new branch, and links to it from the original pull request. + +CodeRabbit doesn't make any further changes to the new branch or to the new pull request +after it creates them. From that point on, it's fully up to you what to do with the new, suggested-change branch. + +The best practice is to effectively take ownership of the new branch for yourself, +deciding whether it's worth merging into the original pull request branch, and making +any further updates you'd like to make first. You can use comments in the new branch +to ask CodeRabbit to explain its changes, if needed, or to otherwise converse with +CodeRabbit about the suggested improvements. + +Because it's just an ordinary Git branch, the presence of the suggested-change branch +doesn't block the ongoing code review in the original pull request branch. You are +free to merge, defer, or close the suggested-change pull request that CodeRabbit made, using any method or timing that fits +your workflow. + +## Code generation commands {#commands} + +This section lists short commands that you can give CodeRabbit to have it accomplish +common code-generation tasks. For more complex tasks, you can instead write out full +prompts, as described in the previous section. + +For a complete CodeRabbit command reference, see [Code review command reference](/reference/review-commands). + +### Generate inline documentation {#docstrings} + +To have CodeRabbit generate missing documentation for function code added by +the pull request, post the following comment to the +pull request: + +```text +@coderabbitai generate docstrings +``` + +For more information about how CodeRabbit can generate inline documentation, including +the Git platforms and programming languages that this feature supports, see +[Docstrings](/finishing-touches/docstrings). + +### Generate solutions to open review comments {#plan} + +To have CodeRabbit generate and add a new repository branch with code improvements +that try to address its own code review comments, post the following comment to the +pull request: + +```text +@coderabbitai plan +``` + +Using this keyword is essentially shorthand for writing out a prompt like the following: + +```text +@coderabbitai Implement the changes that you suggested and apply them to this pull request. +``` + +If you want to give CodeRabbit more specific implement instructions other than a general +request to implement its own suggestions, then you can write out those instructions +as a full prompt, instead of using the one-word `plan` command. + +## What's next {#whats-next} + +- [Control and manage code reviews](/guides/commands) +- [Best practices](/guides/code-review-best-practices) +- [Troubleshooting](/guides/code-review-troubleshooting) diff --git a/docs/reference/review-commands.md b/docs/reference/review-commands.md new file mode 100644 index 00000000..011bf9d5 --- /dev/null +++ b/docs/reference/review-commands.md @@ -0,0 +1,47 @@ +--- +title: Code review commands +description: A list of commands that you can issue to CodeRabbit during code reviews. +--- + +This page lists the various commands that you can issue to CodeRabbit through +its chat interface during code reviews. For more information about working with +CodeRabbit through chat, see [Interact with CodeRabbit reviews](/guides/code-review-overview#interact). + +| Command | Description | Use Case | +| --------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------- | +| `@coderabbitai review` | Triggers an incremental review of new changes | When automatic reviews are disabled or you want to manually trigger a review | +| `@coderabbitai full review` | Performs a complete review of all files from scratch | When you want to get fresh insights on the entire PR | +| `@coderabbitai summary` | Regenerates the PR summary | When you want an updated overview after making changes | + +## Code review flow control + +| Command | Description | Use Case | +| ---------------------- | ---------------------------------------- | --------------------------------------------------- | +| `@coderabbitai pause` | Temporarily stops reviews on the PR | When you're making multiple rapid changes | +| `@coderabbitai resume` | Restarts reviews after a pause | When you're ready for CodeRabbit to review again | +| `@coderabbitai ignore` | Permanently disables reviews for this PR | When you want to handle the review process manually | + +## Comment management + +| Command | Description | Use Case | +| ----------------------- | --------------------------------------- | ------------------------------------------------------- | +| `@coderabbitai resolve` | Resolves all CodeRabbit review comments | When you've addressed all feedback and want to clean up | + +## Documentation commands + +| Command | Description | Use Case | +| ----------------------------------- | -------------------------------------------- | --------------------------------------------------- | +| `@coderabbitai generate docstrings` | Generates docstrings for functions in the PR | When you need automatic documentation for your code | +| `@coderabbitai configuration` | Shows current CodeRabbit settings | When you need to check or export your configuration | + +## Agentic chat commands + +| Command | Description | Use Case | +| -------------------- | ---------------------------------------------------------- | ---------------------------------------------------- | +| `@coderabbitai plan` | Get the agentic chat to plan an edit for previous comments | When you want CodeRabbit to change your code for you | + +## Help and support + +| Command | Description | Use Case | +| -------------------- | ------------------------------------------ | ------------------------------------------ | +| `@coderabbitai help` | Displays available commands and usage info | When you need guidance on using CodeRabbit | diff --git a/sidebars.ts b/sidebars.ts index 2668b5c1..210e385d 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -84,7 +84,11 @@ const sidebars: SidebarsConfig = { collapsed: true, label: "Review pull requests", items: [ + "guides/code-review-overview", "guides/commands", + "guides/generate-improvements", + "guides/code-review-best-practices", + "guides/code-review-troubleshooting", "guides/agent_chat", { type: "category", @@ -140,6 +144,7 @@ const sidebars: SidebarsConfig = { label: "CodeRabbit API", href: "https://api.coderabbit.ai/api/swagger/", }, + "reference/review-commands", { type: "category", label: "Supported tools", From 070f87aaabde331e3010550c2fa72eec7df7eadb Mon Sep 17 00:00:00 2001 From: Ankit Jena Date: Mon, 26 May 2025 15:31:32 +0530 Subject: [PATCH 49/81] add paste code to docs (#361) * add paste code to docs * fix blank space --------- Co-authored-by: Ankit --- docs/guides/install-vscode.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/guides/install-vscode.md b/docs/guides/install-vscode.md index ec71e213..9de59b75 100644 --- a/docs/guides/install-vscode.md +++ b/docs/guides/install-vscode.md @@ -40,6 +40,14 @@ To install the CodeRabbit extension, follow these steps: 1. In your web browser, log into your CodeRabbit account. +1. After signing in, the browser will redirect you back to VSCode. If the redirect does not occur, follow these steps: + + 1. Copy the code displayed in the success window. + + 2. Click **Paste code from browser**. + + 3. Paste the code into the input field that appears. + This connects your CodeRabbit account with the CodeRabbit VSCode extension. ## Install using the marketplace website From 666e850cf5e5481584b5dc87b11b2411df61518d Mon Sep 17 00:00:00 2001 From: Harjot Gill Date: Tue, 27 May 2025 00:32:02 -0700 Subject: [PATCH 50/81] update rate limits --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index f4158154..07f5a163 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -128,7 +128,7 @@ The following limits enforced _per developer_: | ---------------- | ------------------------------------------ | ----------------------------- | ----------------------------- | ----------------------------- | | Files per hour | 200/hour | 200/hour | 200/hour | 400/hour | | Files per PR | 100 | 100 | 100 | 200 | -| Reviews per hour | 3 back-to-back, then 3/hour (Summary only) | 4 back-to-back, then 4/hour | 3 back-to-back, then 3/hour | 5 back-to-back, then 5/hour | +| Reviews per hour | 2 back-to-back, then 3/hour (Summary only) | 3 back-to-back, then 4/hour | 2 back-to-back, then 3/hour | 4 back-to-back, then 5/hour | | Chat | N/A | 25 back-to-back, then 50/hour | 10 back-to-back, then 25/hour | 25 back-to-back, then 50/hour | ## Integration Guide {#integration-guide} From 002a4b41bf7f05c0884ad537b28a5b4d571564e3 Mon Sep 17 00:00:00 2001 From: Harjot Gill Date: Tue, 27 May 2025 00:33:34 -0700 Subject: [PATCH 51/81] update rate limits --- docs/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 07f5a163..4d66b196 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -128,7 +128,7 @@ The following limits enforced _per developer_: | ---------------- | ------------------------------------------ | ----------------------------- | ----------------------------- | ----------------------------- | | Files per hour | 200/hour | 200/hour | 200/hour | 400/hour | | Files per PR | 100 | 100 | 100 | 200 | -| Reviews per hour | 2 back-to-back, then 3/hour (Summary only) | 3 back-to-back, then 4/hour | 2 back-to-back, then 3/hour | 4 back-to-back, then 5/hour | +| Reviews per hour | 3 back-to-back, then 2/hour (Summary only) | 4 back-to-back, then 3/hour | 3 back-to-back, then 2/hour | 5 back-to-back, then 4/hour | | Chat | N/A | 25 back-to-back, then 50/hour | 10 back-to-back, then 25/hour | 25 back-to-back, then 50/hour | ## Integration Guide {#integration-guide} From 2c85895d0df63103507498c80cb1bf289a793952 Mon Sep 17 00:00:00 2001 From: Hasit Mistry Date: Tue, 27 May 2025 10:57:21 -0700 Subject: [PATCH 52/81] Add FAQ section and installation details for GitHub App integration (#364) * Add FAQ section and installation details for GitHub App integration * Refine troubleshooting instructions for login errors in GitHub Enterprise Server integration --- docs/platforms/github-enterprise-server.md | 17 +++++++++++++++++ .../integrations/login-self-hosted-github.png | Bin 54718 -> 249526 bytes .../self-hosted-github-host-url.png | Bin 47967 -> 559339 bytes 3 files changed, 17 insertions(+) diff --git a/docs/platforms/github-enterprise-server.md b/docs/platforms/github-enterprise-server.md index 2e8a6876..b39d5b57 100644 --- a/docs/platforms/github-enterprise-server.md +++ b/docs/platforms/github-enterprise-server.md @@ -111,6 +111,7 @@ steps below to - Pull request review thread - Push - Release + - **Where can this GitHub App be installed?**: Select `Any account` 6. Click **Create GitHub App**. Once the GitHub App has been created, click on **Generate a new client secret** @@ -170,3 +171,19 @@ Use this CodeRabbit IP if your instance requires IP whitelisting VPN tunneling is available as an add-on package. Please reach out to us at [contact@coderabbit.ai](mailto:contact@coderabbit.ai) if you are interested. + +### **FAQ** + +#### Who should create the OAuth App and GitHub App? + +The OAuth App and GitHub App should be created by a user with administrative +privileges on the GitHub Enterprise Server instance. This user will be responsible for managing the integration with CodeRabbit. + +#### I see an error when trying to log in to CodeRabbit. What should I do? + +If you encounter an error during the login process, please ensure that: + +- The OAuth App and GitHub App are correctly configured with the right URLs and permissions. +- The browser local storage and cookies related to CodeRabbit are cleared. + +If the issue persists, contact our support team. diff --git a/static/img/integrations/login-self-hosted-github.png b/static/img/integrations/login-self-hosted-github.png index 99f511c6848ffa5a0b22b2c16b915d72c20ff5f7..35e76ed1f2dadc561d2f4cd6aa00423a9379d9ab 100644 GIT binary patch literal 249526 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 literal 54718 zcmeFYcTiK?`!^c(oTH-1u^`e9(xfX@x{82wq)LrSlP-Y(2_+sCJc57}K{`kYNeEFO zgdUC@g-{g;0YVY!2?-DgB|vzCp6}fGy)*ZpJ9qA#cjmh$!(Mx__gc?-)>A&uv(|oT zZE4KSCBOv$0Ju%=+_nJ#jz0kaez|_)H%`mq;NJ$E%P*m~Ozci@O7scOzc}~&VTSj@ zY=gbSA|8Oe06sy%fnExs9w0BTpwLIbVJpY*dYp$84j(cAc|8d84G#Ll&Nt8tU=bYT z`2h0AHMKuX!2yszl&>nQ{&7`JOYJJ>_lLEGSz;__v_AkQw{O}-<}FV^GF-j>JeUrS zIN>xRCMG5?)_LaU??#s{dZp8(6QB0&-4OD+`}mh%gf8%3d|-V+@~Yw!t}~Z|p1dnM z`ZVC(A7_6_I&t~0=W1t9NQgaH%F$QUB@*3Q;=&r&=OKMdw&36i7cfdobD>-hGDTL7 z+RSt25PewgEo0AY9{E`ZynlS6?cZwL?@#`1)KiKeJiF1 z)OY#ZF~HT4A8kpirvMq{`+G(lIDY^AA##)leN+NiYl&R~Jo)=F2Zp}y3_F82Q)&sz zboRUF?Ba5KiG$EDR@K$jHM1!Gke#`#^b>z`UV|P&(PLGi+kt_Bgw9m)I3S?tIvS03 zf-ViqV~5`NzLlqXQCT^U(T;1BVF3!Qo z_oAu40otA{(i3~9+g~K&0d41sIghlz;0b2EJ;CYX##*l+0C3993i#-ZC|y6f*NY40P}9c9r%DL~`U{Dum@7`u**0NOK=w5cZ;sI!92?8Y%#`po zF*9SPmv#p>^>rUwx*s}l8xVgp{6LuC1(&wP_`Bk}o_m&s5Dd09Xb^`>xqIEx$lrB9 z*>SKuzz_3gb10yI_w_qt9qAr8ssJqAb3H#@$;zTtPhs?+-g5(_t52%rC$0aPFc6bzmoPT^{Xu9iZ>@&=o>K87MJ zOlCFfU_$o)NlMS3BH;)#BhU<; zS&PM%q0tH+9m!5ZFSrtMgIiXyG4}oB<=8un;g+;H2jusao{n@M5sQK-DG2!p!CQM6 z7xUN;v@sk5+YjE8aq@Wft5(=W@qWEG(OW&UM8~veR;VgrZh2J|?;dl1fB(ZZA4ro> z@byK+riC>Gk|6v50P7**@59UwpmFWXL`%n%gi{F7vnfIiw)|CJQo}tb01s1s7*@@8 zAUF$3!tnUuj#cy^l6rirL%-lo>p_F(7zTMscPq|we2kzKY#BbHKRW${tve+c^7#lM zvEO0qMarGNy`87J{kAC*3qoUiA2NqMdjtq$xe{c0R%Pqt(-tFR_;PwruG@rYLjZ_n z1)W-$gAibJd!UHEj3)hEYs;i`1o|Mmeye=;`*Bu8Gl$sI{D)%NX3c!ozZKZDQfMDH z;e9sp`)6W*QkIkpEw%D$UBch`2hi%xa>73rNPjk)mO`i{H_>5Ko-~7g)6W*mzrIZ#Re@p3>)7<{mSAnqjTwrGEyj#Z)jbw*Buh z9y@~Calg%5|MpQ6C%GG~I=a3(dkS}E^DAeWR)0G*4*-L&!j4KKvB2F(#^1~|>VePS zz$h#@ttPmtJi#(;cjbw*T?O@JI>rBd|o zB?Y+0?0XK<((}(O3pk}ySfBLSAn?RE{2;Tk)txbXkk!1PpO$$>Ji;aC)%O;5E`jDK znPO?iUc0R(%wV}lHnr-Hf^d2G<(UXDmTOgPV8T}YF(XjK(8x*dny!g8!J zIw>u1({gg{PmXQvO~ICxv6>b2wHwyqL@=bo%2a(+adfMM`IVSI1vE2bj1LmLd?dEU ztu0z~LuNb~M(BB{2+7B>Q<|3`QMp)Y#ae-sm+FlPF zx|~?o&JzHDEY=yl1nMADVimB?1H;3a9K8BUm~3(5s6b34h_P6Bkscbm$?{BeW8wNU z+S93umX@tLqx1fEYP{>Ok4aJI=F3L69`HO`9F(Vd^lMH>IVI z7dik7pl-ZMxil5un%Pn5bSD+$+_ZQaYQbTvFjiF)Tqr9N;ZvC6Q1UQ+Hgz{m9JjbS zo{riY{VEQ-lRVxWGGVVIA)bXW3M;GwZei5CnX|77hxKv$j`ZI>jU~@(AZ|sgz}@T( zXLmx=W3+G2UPC!v+gihiP52B|6JYz537sa4f)5+-AF@)f(S!WiY99()+SUwn%=6Ksri2934qa%}YuAuAo|&LK>Af3f-V z9C4WA@{dI@g*g6qeum(5TusEIX-5ex3QPCH!*ssZTkVFbC*n;Q1Ix1;`{@lz8_}*D z^^^}cKf=xNVi(j-W%UY$-mG4j?iCfpg)?g=nviqZ6Sv3d<1pix!i9pM)?V8bRmBt_ z9ESNy$EPd{T%C#u;I+oE{bIuWY%DCA2md6zu}y1GQm5Cf)e$Z>ISeXUwbZSB7$zO? zY+$DCf`DQh32dx#xoi<_uapWZvMo7mYWDe!554yvoVw;34&9I4Rf9&^`ctR; zCG20d93-`ey3n56+X!eZmLwFveKh-y1AEF|}8}2B{lY&|F_&&h-nsiYknM zO~H@X?|r~HlEf{M{p&4-cNAHkSe=;E>V-9l%P2Ip`lv;{H~_>%4jw z1{|nCk7(;?qH6>_1g#`VLqA~eCT_>S_B6R`m zM!)o=5L!w-K{;DOUDH5ZW=|JdB~P@r(zEef>{!lH+^hW8i{uD~>3gkn;4Hg?d)yz$ z-kE)OUXX;w-dzurt|Zs%?EfkIzN*D{tN);bjJ(?_*o<`!5*;N6?Uh#TRyI7CVZ2(h z@1gnT&N-T7I*DbgpjxXiw*C>S>udA2${H%(Nq(N2vgaw(0*Oqyy$C&A^4a=PA5~D;3}X;RZS3`c1-ZJ% zzNsQ}Ch`8Bzwq+m=2+27f_9jj28R(t%b86|d!(klb;8-;AQ2d8;xd1W>((wkO9NIA{-Q9yHhg=5$vj9OKgeY< zhWrI_`g2_zL?Kal;00Rs)zyz^T2JwHWmCQ;b#vfIW53*b`YEkf7ht~OGpb`Ir2cm` zed2}M2bLVUz65&pQ;XH3qSP!Ha_gwMYyJ{^`mg16LDTqQ{^Jt3gNoe_+*r-R{?>K* z24(_B|At5tAz%guC3#TmqgJ+FOBOV4tka&YA)C7T5`HB&b} zlUIOo(=X@<%Fq%@pvW8ve^7@ z7IpqYz2u(f;PjRQ-JP{83bi%z4g>3Je<^5b1BQ_fvYD`i6$x-m#d|67C+U>Nzh4Ac z$4EuE4>Fy*Ih5`1gTsgrLW_p|%FL#yRKM zFNptC@~_>FsWlT_Gt{++$-G&1Q29MN1|via-Q(!vYT$f&7P!T7wR;`8(8|c0UyC@H zNsD2(G#;cL1PK}DO4wphM#mzO@h@W4ox(r)O?~aw&{GeEGSV@sFYzX0?x>(GZ7C;@ zeHN=hiG%bV3>U2MO(L-LQZ$-+XU2On!f)ov(h`r9z80==3X(x97L{;R5{RL#;0#cTbw9^>)pq zTe&)0#fJxK8ykq{F=MhEe2x6Uc4;V35MdJcuF_zPY4GbWb0$9 zX2|JSbyLgMcME}I3OF0yKeZcYXDMSXqSs4y_di!o){n<>e@nJiN^xm|DotpvX%o6o z;QT7c1TIVzW2}&y7jEBg8zoI#0pm+@^*2k_p_6=^h~Vb6W!plnrP{ysI4G;j5k<5? z5vzNYOOEea-(UOC_1tfE`8>?RJ*uoxkv^i94yj33h;Vtokhl9#_igNwIKeh$qj~@3 z6yj+hP+qrM;4W)EKkb2;eTffw44H~MKWT^7UoD;84pvXW_y^iq^f&h;n2=G#6W=AW zYkk!OSe@%>Zj+??{^wwnOd&8zAzL5E3K$-{GP?hIc5yu&rgPVDF2vvQT7Arcm!tV4 zQRoQW3h_`to5LJu<}kIF=G^E zUNIclXaL&#WG_^pg3{_El2DUdYkZDmY2tzoZIcxmh>c>b0IT$}G;5GsSA9W@O_)jY zu2Hq+3+iuE2f36jogf-TWn!m|<#8Aps_H@Lh}ky~;)>TyAnGqX!!KsH=7?E+L+C)wqYu_{FuhJGq8Uvm*`Opj`A$yWrF-Oq z$3x|no=NklCu^hcjX7yH+O~eg|3wyV2<5* z#;@XC&Pl#%73&+0js0hl zj-fSLbTFNyF9n!|XBO)FKh#<5@EI*=M9et$K}s z??*k0xsidUeKjA2pic{`>6sGIDF&uCP<`t&M(eV|vnWoE z9T5EXP-IU#VJx(zT@>~8+KteeUYqRj0*d#e$wWut)N3Ujcs*r?LBsdBd2(+Py}q)p zXPZNl*!kr8YoW*KUzSqpI@Ze~n)Rx|%c%{1?~Ur}db?`dUJcDLTR88HC&HSE zSo1^dT4an?#ao6^oi70sE57*dT zw}0!bfN9auP!Y|~6vT%Hof-A*Sl%4fUUv;STPxXZrS}KiVkf{7HZ@!MXj=&YuzphZ z+b)OcfJU|G!R5M{x8^(4LEot9s&UYY+-PvqbP~Cl1s{*>eziAMrcd^sb;Rkub&MD< zT@%#_Oqr`Ai*}<32h|Z%U+-oFUV5=IIw4VdbMg7bTgMRt2GU_~r0&?>$a#19vTVY; zqQ6G;mBfilxL#gLl~{j{f<&D5I0n)JG6&%4YN|KM$4K(piyf zN9E)Y*C2nqcygcxzdRiMPI?T6vABE2BwpSrvBKe*0P^1T7s^g0VGsME3NE2H_|ngT z{XS{7*0ErDO&*!>gHqv!Ur23F<@E`N<9AJCze#>w{ ze6ZTSX0Ck5g}oPF5A)Q3Z~8q3M1kLA62%Cy4*n#O^!;+lWn%*@V
;28Liu#%6$ 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 OL|a|&AyW16%l`v3{p+#-hw( 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�hqRnu$L`}sGnGM;m6mDr;I@Sct@0Pw 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%0DA1BIJA*-KBDAJNc>D4)V|IS8 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%0A~%6avyc-W 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 z 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 AWdHyG literal 47967 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 Date: Tue, 27 May 2025 14:37:51 -0700 Subject: [PATCH 53/81] Update deployment recommendations in self-hosted documentation (#365) Update deployment recommendations in self-hosted documentation for Azure DevOps, Bitbucket, GitHub, and GitLab --- docs/self-hosted/azure-devops.md | 3 ++- docs/self-hosted/bitbucket.md | 3 ++- docs/self-hosted/github.md | 3 ++- docs/self-hosted/gitlab.md | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/self-hosted/azure-devops.md b/docs/self-hosted/azure-devops.md index 97137b11..f1a820a3 100644 --- a/docs/self-hosted/azure-devops.md +++ b/docs/self-hosted/azure-devops.md @@ -64,7 +64,7 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally). +## it is recommended to deploy gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). AZURE_GPT41MINI_DEPLOYMENT_NAME= AZURE_O4MINI_DEPLOYMENT_NAME= AZURE_O3_DEPLOYMENT_NAME= @@ -96,6 +96,7 @@ HTTPS_PROXY=[] NO_PROXY=[] # if using AWS Bedrock +# it is required to have access to claude-3-haiku, claude-3-5-haiku, claude-sonnet-4, claude-opus-4. LLM_PROVIDER=bedrock-anthropic LLM_TIMEOUT=360000 AWS_ACCESS_KEY_ID= diff --git a/docs/self-hosted/bitbucket.md b/docs/self-hosted/bitbucket.md index 0adbeed6..51cb1895 100644 --- a/docs/self-hosted/bitbucket.md +++ b/docs/self-hosted/bitbucket.md @@ -56,7 +56,7 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally). +## it is recommended to deploy gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). AZURE_GPT41MINI_DEPLOYMENT_NAME= AZURE_O4MINI_DEPLOYMENT_NAME= AZURE_O3_DEPLOYMENT_NAME= @@ -88,6 +88,7 @@ HTTPS_PROXY=[] NO_PROXY=[] # if using AWS Bedrock +# it is required to have access to claude-3-haiku, claude-3-5-haiku, claude-sonnet-4, claude-opus-4. LLM_PROVIDER=bedrock-anthropic LLM_TIMEOUT=360000 AWS_ACCESS_KEY_ID= diff --git a/docs/self-hosted/github.md b/docs/self-hosted/github.md index 8f7e4962..cce4296c 100644 --- a/docs/self-hosted/github.md +++ b/docs/self-hosted/github.md @@ -67,7 +67,7 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally). +# it is recommended to deploy gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). AZURE_GPT41MINI_DEPLOYMENT_NAME= AZURE_O4MINI_DEPLOYMENT_NAME= AZURE_O3_DEPLOYMENT_NAME= @@ -99,6 +99,7 @@ HTTPS_PROXY=[] NO_PROXY=[] # if using AWS Bedrock +# it is required to have access to claude-3-haiku, claude-3-5-haiku, claude-sonnet-4, claude-opus-4. LLM_PROVIDER=bedrock-anthropic LLM_TIMEOUT=360000 AWS_ACCESS_KEY_ID= diff --git a/docs/self-hosted/gitlab.md b/docs/self-hosted/gitlab.md index 42736e2f..9b3a6a28 100644 --- a/docs/self-hosted/gitlab.md +++ b/docs/self-hosted/gitlab.md @@ -62,7 +62,7 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally). +## it is recommended to deploy gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). AZURE_GPT41MINI_DEPLOYMENT_NAME= AZURE_O4MINI_DEPLOYMENT_NAME= AZURE_O3_DEPLOYMENT_NAME= @@ -94,6 +94,7 @@ HTTPS_PROXY=[] NO_PROXY=[] # if using AWS Bedrock +# it is required to have access to claude-3-haiku, claude-3-5-haiku, claude-sonnet-4, claude-opus-4. LLM_PROVIDER=bedrock-anthropic LLM_TIMEOUT=360000 AWS_ACCESS_KEY_ID= From 66399e816f0d5ab4c05fba244cde90b78426dc6e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 13:36:58 +0000 Subject: [PATCH 54/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 66ccd0a5..b9725b7e 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -792,6 +792,19 @@ "default": {}, "description": "CircleCI tool is a static checker for CircleCI config files." }, + "clippy": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable Clippy | Clippy is a collection of lints to catch common mistakes and improve your Rust code. | Enable Clippy integration." + } + }, + "additionalProperties": false, + "default": {}, + "description": "Clippy is a collection of lints to catch common mistakes and improve your Rust code." + }, "sqlfluff": { "type": "object", "properties": { From 4262bc400fe39dd7967209fddc06a9c551cf7bc6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 13:51:49 +0000 Subject: [PATCH 55/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index b9725b7e..66ccd0a5 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -792,19 +792,6 @@ "default": {}, "description": "CircleCI tool is a static checker for CircleCI config files." }, - "clippy": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Enable Clippy | Clippy is a collection of lints to catch common mistakes and improve your Rust code. | Enable Clippy integration." - } - }, - "additionalProperties": false, - "default": {}, - "description": "Clippy is a collection of lints to catch common mistakes and improve your Rust code." - }, "sqlfluff": { "type": "object", "properties": { From 706720264d466c9dadeff653b6d8980f4480e507 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 19:07:48 +0000 Subject: [PATCH 56/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 66ccd0a5..b9725b7e 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -792,6 +792,19 @@ "default": {}, "description": "CircleCI tool is a static checker for CircleCI config files." }, + "clippy": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable Clippy | Clippy is a collection of lints to catch common mistakes and improve your Rust code. | Enable Clippy integration." + } + }, + "additionalProperties": false, + "default": {}, + "description": "Clippy is a collection of lints to catch common mistakes and improve your Rust code." + }, "sqlfluff": { "type": "object", "properties": { From ee9fe04fe4d93e8ab7e7ac0d667a42cf0af4c3e6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 28 May 2025 19:56:53 +0000 Subject: [PATCH 57/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index b9725b7e..7f2903b4 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -869,6 +869,19 @@ "additionalProperties": false, "default": {}, "description": "Configuration for Lua code linting to ensure code quality" + }, + "brakeman": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable Brakeman | Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2" + } + }, + "additionalProperties": false, + "default": {}, + "description": "Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2" } }, "additionalProperties": false, From 9cd059e75e47b3b24749219a3777abb5d6e2517e Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Wed, 28 May 2025 16:09:47 -0400 Subject: [PATCH 58/81] Feat/brakeman clippy (#366) * adding new tools * add to list and changelog --- docs/changelog.md | 12 ++++++++++ docs/tools/brakeman.md | 40 +++++++++++++++++++++++++++++++++ docs/tools/clippy.md | 50 ++++++++++++++++++++++++++++++++++++++++++ docs/tools/list.md | 5 ++++- 4 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 docs/tools/brakeman.md create mode 100644 docs/tools/clippy.md diff --git a/docs/changelog.md b/docs/changelog.md index 6a21a8ab..70fdf7db 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,6 +5,18 @@ description: The latest updates and changes to CodeRabbit. sidebar_position: 13 --- +## May 25, 2025 + +### New Security and Code Quality Tools + +We're excited to announce the addition of two powerful tools to our static analysis arsenal: + +- **Brakeman**: A static analysis security vulnerability scanner for Ruby on Rails applications. It helps identify security issues in your Ruby codebase by analyzing Gemfile, Ruby files (_.rb), and ERB templates (_.erb). + +- **Clippy**: The official linter for Rust code, helping catch common mistakes and improve your Rust code quality. It analyzes \*.rs files and supports configuration through clippy.toml files. + +Both tools can be configured through their respective config files or through CodeRabbit's settings page. See our [tools documentation](https://docs.coderabbit.ai/tools/) for more details. + ## May 19, 2025 ### Lua Support with Luacheck diff --git a/docs/tools/brakeman.md b/docs/tools/brakeman.md new file mode 100644 index 00000000..d9fac002 --- /dev/null +++ b/docs/tools/brakeman.md @@ -0,0 +1,40 @@ +--- +title: Brakeman +sidebar_label: Brakeman +description: CodeRabbit's guide to Brakeman. +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +[Brakeman](https://brakemanscanner.org/) is a static analysis tool which checks Ruby on Rails applications for security vulnerabilities. It scans your application's code for potential security issues and provides detailed reports about any vulnerabilities it finds. + +## Supported Files + +Brakeman will run on files with the following extensions: + +- `Gemfile` +- `*.rb` +- `*.erb` + +## Features + +Brakeman can detect many critical vulnerabilities such as: + +- SQL injection +- Cross-site scripting (XSS) +- Mass assignment +- Remote code execution +- And many more security vulnerabilities +- Out of date package versions +- Etc + +## Links + +- [Brakeman Official Website](https://brakemanscanner.org/) +- [Brakeman GitHub Repository](https://github.com/presidentbeef/brakeman) +- [Brakeman Documentation](https://brakemanscanner.org/docs/) +- [Warning Types](https://brakemanscanner.org/docs/warning_types/) diff --git a/docs/tools/clippy.md b/docs/tools/clippy.md new file mode 100644 index 00000000..257af0e3 --- /dev/null +++ b/docs/tools/clippy.md @@ -0,0 +1,50 @@ +--- +title: Clippy +sidebar_label: Clippy +description: CodeRabbit's guide to Clippy. +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +[Clippy](https://github.com/rust-lang/rust-clippy) is a collection of lints to catch common mistakes and improve your Rust code. It is the official linter for the Rust programming language. + +## Supported Files + +Clippy will run on files with the following extensions: + +- `*.rs` + +## Configuration + +Clippy supports the following configuration files: + +- `clippy.toml` +- `.clippy.toml` + +:::note + +Clippy does not require configuration to run. If no configuration file is found, it will use default settings. + +A Cargo.toml is required. + +::: + +## Features + +Clippy can detect many code quality issues such as: + +- Style violations +- Common mistakes +- Performance issues +- Deprecated code patterns +- And many more Rust-specific issues + +## Links + +- [Clippy GitHub Repository](https://github.com/rust-lang/rust-clippy) +- [Clippy Documentation](https://rust-lang.github.io/rust-clippy/master/) +- [Available Lints](https://rust-lang.github.io/rust-clippy/master/index.html) diff --git a/docs/tools/list.md b/docs/tools/list.md index d85b4c78..b3220568 100644 --- a/docs/tools/list.md +++ b/docs/tools/list.md @@ -35,7 +35,8 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, | Protobuf | [Buf][Buf] | Code Quality | | Python | [Ruff][Ruff] | Code Quality | | Regal | [Regal][Regal] | Code Quality | -| Ruby | [RuboCop][RuboCop] | Code Quality | +| Ruby | [RuboCop][RuboCop], [Brakeman][Brakeman] | Code Quality, Code Security | +| Rust | [Clippy][Clippy] | Code Quality | | Semgrep | [Semgrep][Semgrep] | Code Security | | Shell (sh, bash, ksh, dash) | [ShellCheck][ShellCheck] | Code Quality | | Shopify | [Shopify CLI][ShopifyCLI] | Code Quality | @@ -74,3 +75,5 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, [oxlint]: /tools/oxlint.md [ShopifyCLI]: /tools/shopify-cli.md [Luacheck]: /tools/luacheck.md +[Brakeman]: /tools/brakeman.md +[Clippy]: /tools/clippy.md From dd7cf3597c41617bb92111ea5bdf33505631030b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 May 2025 18:15:25 +0000 Subject: [PATCH 59/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 7f2903b4..87103c6a 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -831,6 +831,19 @@ "default": {}, "description": "Configuration for Prisma Schema linting to ensure schema file quality" }, + "pylint": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable Pylint | Pylint is a Python static code analysis tool. | v3.3.7" + } + }, + "additionalProperties": false, + "default": {}, + "description": "Pylint is a Python static code analysis tool." + }, "oxc": { "type": "object", "properties": { From 42a07ca8ff72c0d93d3ac1d58c5f6a7372fd5466 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 30 May 2025 16:32:41 -0400 Subject: [PATCH 60/81] Add an overview page about reports. (#367) * Add an overview page about reports. Update the existing reporting pages a bit, to build a couple of user journeys. Reorder the pages in the ToC. * Fix formatting. * Typo fix. --- docs/guides/custom-reports.md | 6 +++-- docs/guides/ondemand-reports.md | 15 +++++++------ docs/guides/reports-overview.md | 38 ++++++++++++++++++++++++++++++++ docs/guides/scheduled-reports.md | 7 ++++++ sidebars.ts | 3 ++- 5 files changed, 59 insertions(+), 10 deletions(-) create mode 100644 docs/guides/reports-overview.md diff --git a/docs/guides/custom-reports.md b/docs/guides/custom-reports.md index dbc04280..f4759124 100644 --- a/docs/guides/custom-reports.md +++ b/docs/guides/custom-reports.md @@ -11,6 +11,8 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; CodeRabbit Pro allows you to create custom reports tailored to your specific needs using a flexible prompt-based system. This guide will help you understand how to create effective custom reports. +For a conceptual overview of reports in CodeRabbit, see [Generate reports](/guides/reports-overview). + ## Understanding Custom Reports Custom reports allow you to: @@ -558,6 +560,6 @@ These are the available emojis and the type of change they represent. Do not usi ## Related Resources -- [Scheduled Reports](./scheduled-reports.md) -- [On-demand Reports](./ondemand-reports.md) +- [Schedule reports](/guides/scheduled-reports) +- [Generate reports on demand](/guides/ondemand-reports) - [API Documentation](https://api.coderabbit.ai/api/swagger/) diff --git a/docs/guides/ondemand-reports.md b/docs/guides/ondemand-reports.md index 41dbe9bb..ee385622 100644 --- a/docs/guides/ondemand-reports.md +++ b/docs/guides/ondemand-reports.md @@ -1,5 +1,5 @@ --- -title: Generate reports +title: Generate reports on demand description: CodeRabbit offers a way to generate on-demand reports using a simple API request --- @@ -12,13 +12,9 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; ## Overview -CodeRabbit's reporting feature helps you track and analyze pull request activity across your repositories. There are two ways to generate reports: +This page is about using the CodeRabbit API to generate on-demand reports about your organization's usage of CodeRabbit. For a conceptual overview of reports in CodeRabbit, see [Generate reports](/guides/reports-overview). -1. **[Scheduled Reports](./scheduled-reports.md)** - Set up automated recurring reports that are delivered on a schedule to your preferred channels (email, Slack, MS Teams). This is the recommended way to keep your team informed about development progress. - -2. **On-demand Reports** (this guide) - Generate reports programmatically through our API when you need them. This is useful for integration with your own tools and workflows. - -If you're new to CodeRabbit's reporting features, we recommend starting with [Scheduled Reports](./scheduled-reports.md) to understand the available options and capabilities. +If you're new to CodeRabbit's reporting features, then we recommend starting with [Scheduled reports](/guides/scheduled-reports) to understand the available options and capabilities. ## API Access @@ -73,3 +69,8 @@ The on-demand report generation endpoints take in inputs as per the schema shown ``` [API Reference](https://api.coderabbit.ai/api/swagger/) + +## What's next + +- [Customize reports](/guides/custom-reports) +- [Scheduled reports](/guides/scheduled-reports) diff --git a/docs/guides/reports-overview.md b/docs/guides/reports-overview.md new file mode 100644 index 00000000..4d8759ed --- /dev/null +++ b/docs/guides/reports-overview.md @@ -0,0 +1,38 @@ +--- +title: Generate reports +description: Learn about CodeRabbit's reporting capabilities, including scheduled and on-demand reports, and how to customize them +sidebar_label: Overview +--- + +```mdx-code-block +import ReportSchema from "@site/src/components/ReportSchema"; +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +You can track and analyze pull request activity across your organization's repositories by using the CodeRabbit reporting feature. + +## Scheduled and on-demand reports {#types} + +There are two ways to generate reports: + +- **[Scheduled Reports](/guides/scheduled-reports)**: Set up automated, recurring reports that are delivered to your team on a set schedule. Supported delivery channels include the following: + + - Email + - Discord + - Slack + - Teams + +- **[On-demand Reports](/guides/ondemand-reports)**: If you require customized integration of reports with your own tools and workflows, then you can generate reports programmatically through our API. + +For your first reports, we recommend exploring scheduled reports. Its web-based UI can help you get familiar with the options available to you. + +## Customize reports using natural language {#customize} + +For both scheduled and on-demand reports, you define the shape and content of your reports by providing a prompt that instructs CodeRabbit about report that you want, using natural language. The scheduled reports interface includes several example prompts that you can choose from, or you can write your own prompt. For more information, see [Customize reports](/guides/custom-reports). + +## What's next {#whats-next} + +- [Schedule reports](/guides/scheduled-reports) +- [Generate reports on demand](/guides/ondemand-reports) diff --git a/docs/guides/scheduled-reports.md b/docs/guides/scheduled-reports.md index 44a11f56..34c59032 100644 --- a/docs/guides/scheduled-reports.md +++ b/docs/guides/scheduled-reports.md @@ -11,6 +11,8 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; CodeRabbit Pro offers automated recurring reports that provide insights into your GitHub organization's activities. These reports can be customized and delivered through various channels to help teams stay informed about development progress. +For a conceptual overview of reports in CodeRabbit, see [Generate reports](/guides/reports-overview). + ## Setting Up a Recurring Report 1. Navigate to **Recurring Reports** in the [CodeRabbit dashboard](https://app.coderabbit.ai/reports/recurring) @@ -248,3 +250,8 @@ Deleting a report will immediately stop all scheduled runs and remove access to - [Custom Reports](./custom-reports.md) - [On-demand Reports](./ondemand-reports.md) - [API Documentation](https://api.coderabbit.ai/api/swagger/) + +## What's next + +- [Customize reports](/guides/custom-reports) +- [Generate reports on demand](/guides/ondemand-reports) diff --git a/sidebars.ts b/sidebars.ts index 210e385d..9d093311 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -129,9 +129,10 @@ const sidebars: SidebarsConfig = { collapsed: true, label: "Generate reports", items: [ + "guides/reports-overview", + "guides/scheduled-reports", "guides/ondemand-reports", "guides/custom-reports", - "guides/scheduled-reports", ], }, { From 946dec50813d36c68ea7152408c94395ce57070e Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Sat, 31 May 2025 15:44:05 -0400 Subject: [PATCH 61/81] Fix/faq pylon (#370) * adding more context so pylon doesnt get confused * more fixes * add notes on reporting vs reviewing * fix link * fix more links * fix more links --- docs/faq.md | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 84 insertions(+), 3 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 4d66b196..8e5de723 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -10,6 +10,42 @@ import TabItem from '@theme/TabItem'; ## General Questions {#general-questions} +### How to trigger a CodeRabbit Review? + +Once installed, CodeRabbit automatically triggers a review when a pull request is opened against the main branch of any repository. We automatically detect the name of the primary branch (whether this be master, main, dev, etc). This branch restriction can be customized in your settings. + +You can also manually trigger a review at any time by commenting on a pull request with one of these commands (see [Commands](/guides/commands.md) for full list): + +- `@coderabbitai review` - Triggers a standard review +- `@coderabbitai full review` - Triggers a comprehensive review + +### How to run a review from my IDE? + +You can trigger CodeRabbit reviews directly from your IDE using our editor plugins: + +- [VSCode Extension](./guides/about-vscode.md) - For VSCode, Cursor or Windsurf users + +These plugins allow you to request reviews without leaving your development environment. See the individual plugin documentation for installation and usage instructions. + +### How to install CodeRabbit? + +View step by step instructions depending on your platform: + + + + See our [GitHub App installation guide](./platforms/github-com.md) for step-by-step instructions. + + + Follow our [GitLab integration guide](/platforms/gitlab-com.mdx) to get started. + + + Check out the [Bitbucket installation steps](/platforms/bitbucket-cloud.md) for detailed setup. + + + View our [Azure DevOps setup guide](/platforms/azure-devops.md) for complete installation instructions. + + + ### How accurate is CodeRabbit? > CodeRabbit demonstrates high accuracy in code reviews based on early adoption results. While 100% accuracy isn't guaranteed due to AI's evolving nature, our technology continuously improves through: @@ -27,6 +63,51 @@ CodeRabbit works with all programming languages, with varying proficiency based - Available training data - Community usage patterns +### Whats the difference between CodeRabbit Code Reviews and CodeRabbit Reports? + +CodeRabbit offers two distinct features that serve different roles in your development workflow: + +#### CodeRabbit Code Reviews + +**Role**: Developer, QA, and Code Reviewer +**Access Level**: Full code access with comprehensive analysis capabilities + +**Key Features:** + +- **Complete Toolchain**: Runs all available analysis tools on your codebase +- **Static Analysis**: Can execute shell commands and perform deep static analysis against your codebase +- **Direct Code Access**: Has full access to code in issues and pull requests +- **Interactive Chat**: Provides chat features for real-time collaboration and questions +- **Comprehensive Review**: Analyzes code quality, security, performance, and best practices +- **Actionable Feedback**: Provides specific, line-by-line suggestions and improvements +- **Comment Interaction**: Engages with users through comments in pull requests and issues for clarifications and discussions +- **Available in All Tiers**: All features are available across Free, Lite, and Pro plans + +#### CodeRabbit Reports + +**Role**: Project Manager and Communication Hub +**Access Level**: Summary-only access without direct code interaction + +**Key Features:** + +- **Summary Generation**: Creates convenient, formatted summaries of all your recent pull requests +- **Customizable Prompts**: Allows you to select or create your own summarization templates +- **High-Level Overview**: Focuses on project progress and changes without code details +- **Comment Analysis**: Reads and summarizes existing comments and discussions +- **No Code Access**: Operates only on summaries and metadata, not the actual codebase +- **Communication Tool**: Designed for stakeholders who need updates without technical details +- **Multi-Channel Delivery**: Sends reports through various communication channels: + - Email notifications + - Slack integration + - Discord webhooks + - Microsoft Teams updates +- **Pro Plan Exclusive**: Reports feature is available only in the Pro plan tier + +**In Summary:** + +- **Code Reviews** = Technical analysis with full code access for developers +- **Reports** = High-level summaries with no code access for project management + ### Data Security @@ -92,7 +173,7 @@ Email field and click Update to save your changes. ### Usage and Configuration - **Language Settings**: Configure review language in repository settings -- **Review Rules**: Customize via [review instructions](/guides/review-instructions) +- **Review Rules**: Customize via [review instructions](/guides/review-instructions.md) - **Branch Selection**: Default branch reviews enabled by default (configurable) ### Access & Permissions @@ -108,7 +189,7 @@ Interact with CodeRabbit by: 1. Replying directly to CodeRabbit comments 2. Tagging `@coderabbitai` in PR discussions 3. Adding review comments for specific lines -4. Customize via [review instructions](/guides/review-instructions) +4. Customize via [review instructions](/guides/review-instructions.md) :::tip Collaboration Mode When team members are active in PRs, use `@coderabbitai` to engage the bot. @@ -146,7 +227,7 @@ The following limits enforced _per developer_: 3. That's it. CodeRabbit will automatically start reviewing your PRs :::tip Need Help? -Visit our [Support](/getting-started/support) page for additional assistance or reach out to our team on [Discord](http://discord.gg/coderabbit). +Visit our [Support](/getting-started/support.md) page for additional assistance or reach out to our team on [Discord](http://discord.gg/coderabbit). ::: #### Unable to View Repositories in GitLab From 4bb4d9114846386a8bba68cd1a8883fcd4765793 Mon Sep 17 00:00:00 2001 From: Gur singh <11731008+guritfaq@users.noreply.github.com> Date: Sat, 31 May 2025 22:18:12 -0700 Subject: [PATCH 62/81] update support email (#371) updateemail --- docs/platforms/github-enterprise-server.md | 2 +- docs/platforms/self-hosted-gitlab.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/platforms/github-enterprise-server.md b/docs/platforms/github-enterprise-server.md index b39d5b57..733607cb 100644 --- a/docs/platforms/github-enterprise-server.md +++ b/docs/platforms/github-enterprise-server.md @@ -170,7 +170,7 @@ Use this CodeRabbit IP if your instance requires IP whitelisting `35.222.179.152/32` and `34.170.211.100/32`. VPN tunneling is available as an add-on package. Please reach out to us at -[contact@coderabbit.ai](mailto:contact@coderabbit.ai) if you are interested. +[support@coderabbit.ai](mailto:support@coderabbit.ai) if you are interested. ### **FAQ** diff --git a/docs/platforms/self-hosted-gitlab.md b/docs/platforms/self-hosted-gitlab.md index 53fae56f..3fa18a71 100644 --- a/docs/platforms/self-hosted-gitlab.md +++ b/docs/platforms/self-hosted-gitlab.md @@ -122,4 +122,4 @@ Use this CodeRabbit IP if your instance requires IP whitelisting `35.222.179.152/32` and `34.170.211.100/32`. VPN tunneling is available as an add-on package. Please reach out to us at -[contact@coderabbit.ai](mailto:contact@coderabbit.ai) if you are interested. +[support@coderabbit.ai](mailto:support@coderabbit.ai) if you are interested. From 96dc2929e194db3db6223ea785e2846281acee94 Mon Sep 17 00:00:00 2001 From: nimratcoderabbit Date: Mon, 2 Jun 2025 10:08:30 -0400 Subject: [PATCH 63/81] Add Pylint Documentation to Tools Section (#369) * Add Pylint documentation and changelog entry * Fixing changelog.md * Changed changelog.md * cleanup changelog --------- Co-authored-by: alexcoderabbitai --- docs/changelog.md | 8 ++++++++ docs/tools/list.md | 3 ++- docs/tools/pylint.md | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 docs/tools/pylint.md diff --git a/docs/changelog.md b/docs/changelog.md index 70fdf7db..2a990f62 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,6 +5,14 @@ description: The latest updates and changes to CodeRabbit. sidebar_position: 13 --- +### May 30, 2025 + +#### New Static Analysis Tool + +We're excited to announce that [Pylint](https://github.com/PyCQA/pylint) is now supported on CodeRabbit! + +- **Pylint**: A widely used static analysis and code quality tool for Python. It checks for errors, enforces a coding standard, and looks for code smells in your Python codebase by analyzing Python files. + ## May 25, 2025 ### New Security and Code Quality Tools diff --git a/docs/tools/list.md b/docs/tools/list.md index b3220568..b372bccd 100644 --- a/docs/tools/list.md +++ b/docs/tools/list.md @@ -33,7 +33,7 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, | Plaintext | [LanguageTool][LanguageTool] | Grammar and Spell Checking | | Java | [PMD][PMD] | Code Quality | | Protobuf | [Buf][Buf] | Code Quality | -| Python | [Ruff][Ruff] | Code Quality | +| Python | [Ruff][Ruff], [Pylint][Pylint] | Code Quality | | Regal | [Regal][Regal] | Code Quality | | Ruby | [RuboCop][RuboCop], [Brakeman][Brakeman] | Code Quality, Code Security | | Rust | [Clippy][Clippy] | Code Quality | @@ -77,3 +77,4 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, [Luacheck]: /tools/luacheck.md [Brakeman]: /tools/brakeman.md [Clippy]: /tools/clippy.md +[Pylint]: /tools/pylint.md diff --git a/docs/tools/pylint.md b/docs/tools/pylint.md new file mode 100644 index 00000000..f6793106 --- /dev/null +++ b/docs/tools/pylint.md @@ -0,0 +1,37 @@ +--- +title: Pylint +sidebar_label: Pylint +description: CodeRabbit's guide to Pylint. +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +[Pylint](https://pylint.pycqa.org/) is a static code analysis tool for Python. It checks your Python code for errors, enforces a coding standard, and looks for code smells. + +## Supported Files + +Pylint will run on files with the following extensions: + +- `*.py` + +## Features + +Pylint can detect many issues such as: + +- Coding standard violations (PEP8) +- Unused variables and imports +- Undefined variables +- Code smells and refactoring suggestions +- Error-prone constructs +- And many more + +## Links + +- [Pylint Official Website](https://pylint.pycqa.org/) +- [Pylint GitHub Repository](https://github.com/pylint-dev/pylint) +- [Pylint Documentation](https://pylint.pycqa.org/en/latest/) +- [Message Control](https://pylint.pycqa.org/en/latest/user_guide/message-control.html) From 615a6c36b76002e0d9359830306af5b4ca8e4478 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 12:55:37 +0000 Subject: [PATCH 64/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 87103c6a..7f2903b4 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -831,19 +831,6 @@ "default": {}, "description": "Configuration for Prisma Schema linting to ensure schema file quality" }, - "pylint": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Enable Pylint | Pylint is a Python static code analysis tool. | v3.3.7" - } - }, - "additionalProperties": false, - "default": {}, - "description": "Pylint is a Python static code analysis tool." - }, "oxc": { "type": "object", "properties": { From 35720e8baa7836afc6614b5e95dff70e6a1ccf0e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 4 Jun 2025 13:15:21 +0000 Subject: [PATCH 65/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 7f2903b4..87103c6a 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -831,6 +831,19 @@ "default": {}, "description": "Configuration for Prisma Schema linting to ensure schema file quality" }, + "pylint": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable Pylint | Pylint is a Python static code analysis tool. | v3.3.7" + } + }, + "additionalProperties": false, + "default": {}, + "description": "Pylint is a Python static code analysis tool." + }, "oxc": { "type": "object", "properties": { From e40306f0f08fec5263d5a744879b49ca59d3e19a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 14:32:37 +0000 Subject: [PATCH 66/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 87103c6a..afee77cb 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -895,6 +895,19 @@ "additionalProperties": false, "default": {}, "description": "Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2" + }, + "dotenvLint": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable dotenv-linter | dotenv-linter is a tool for checking and fixing .env files for problems and best practices | v3.3.0" + } + }, + "additionalProperties": false, + "default": {}, + "description": "dotenv-linter is a tool for checking and fixing .env files for problems and best practices" } }, "additionalProperties": false, From f372e1104afc4fc03317a92078467865214abed6 Mon Sep 17 00:00:00 2001 From: nimratcoderabbit Date: Fri, 6 Jun 2025 12:48:20 -0400 Subject: [PATCH 67/81] Dotenv documentation (#382) * Dotenv documentation * Prettier check * fix files --------- Co-authored-by: alexcoderabbitai --- docs/changelog.md | 10 ++++++---- docs/tools/dotenv.md | 33 +++++++++++++++++++++++++++++++++ docs/tools/list.md | 2 ++ 3 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 docs/tools/dotenv.md diff --git a/docs/changelog.md b/docs/changelog.md index 2a990f62..6ad52b08 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,13 +5,15 @@ description: The latest updates and changes to CodeRabbit. sidebar_position: 13 --- -### May 30, 2025 +## June 5, 2025 -#### New Static Analysis Tool +### Enhanced Static Analysis: Dotenv Linter and Pylint Support -We're excited to announce that [Pylint](https://github.com/PyCQA/pylint) is now supported on CodeRabbit! +We're excited to announce that two new static analysis tools are now supported on CodeRabbit! -- **Pylint**: A widely used static analysis and code quality tool for Python. It checks for errors, enforces a coding standard, and looks for code smells in your Python codebase by analyzing Python files. +- [Dotenv Linter](https://github.com/dotenv-linter/dotenv-linter) is a fast, opinionated linter for `.env` files that helps prevent misconfigurations by detecting typos, invalid syntax, and duplicated keys. + +- [Pylint](https://github.com/PyCQA/pylint) is a widely used static analysis and code quality tool for Python. It checks for errors, enforces coding standards, and looks for code smells in your Python codebase. ## May 25, 2025 diff --git a/docs/tools/dotenv.md b/docs/tools/dotenv.md new file mode 100644 index 00000000..cac2613f --- /dev/null +++ b/docs/tools/dotenv.md @@ -0,0 +1,33 @@ +--- +title: Dotenv Linter +sidebar_label: Dotenv Linter +description: CodeRabbit's guide to Dotenv Linter. +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +[Dotenv Linter](https://github.com/dotenv-linter/dotenv-linter) is a lightning-fast linter for `.env` files. It helps ensure your environment files are consistent, typo-free, and follow best practices. + +:::note + +Dotenv Linter does not require configuration to run and automatically anlysises `.env` files. If no configuration file is found, it will use default settings. + +::: + +## Features + +Dotenv Linter can detect: + +- Key duplication +- Missing values +- Incorrect formatting +- Invalid characters +- And many more issues + +## Links + +- [Dotenv Linter GitHub Repository](https://github.com/dotenv-linter/dotenv-linter) diff --git a/docs/tools/list.md b/docs/tools/list.md index b372bccd..7a106a78 100644 --- a/docs/tools/list.md +++ b/docs/tools/list.md @@ -18,6 +18,7 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, | Cppcheck | [Cppcheck][Cppcheck] | Code Quality | | CSS | [Biome][Biome] | Code Quality | | Docker | [Hadolint][Hadolint], [Checkov][Checkov] | Code Quality, Code Security | +| Environment Files (.env) | [Dotenv Linter][DotenvLinter] | Code Quality | | GitHub Actions | [actionlint][actionlint], [Pipeline Remediation][Pipeline] | Code Quality, CI/CD Failure Remediation | | GitLab Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation | | Go | [golangci-lint][golangci-lint] | Code Quality | @@ -78,3 +79,4 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, [Brakeman]: /tools/brakeman.md [Clippy]: /tools/clippy.md [Pylint]: /tools/pylint.md +[DotenvLinter]: /tools/dotenv.md From 1faa0cacf3b96008428fd6250557a95a9b388114 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 6 Jun 2025 12:56:09 -0400 Subject: [PATCH 68/81] Add a step about 2FA to the Bitbucket instructions. (#372) Co-authored-by: alexcoderabbitai --- docs/platforms/bitbucket-cloud.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/platforms/bitbucket-cloud.md b/docs/platforms/bitbucket-cloud.md index acb37f34..39015cdb 100644 --- a/docs/platforms/bitbucket-cloud.md +++ b/docs/platforms/bitbucket-cloud.md @@ -18,8 +18,9 @@ This guide will assist you in effectively integrating CodeRabbit with Bitbucket To enable CodeRabbit to interact with your Bitbucket repositories, an app password is required. This token grants the necessary permissions for interacting with the Merge Requests and Discussions APIs. 1. Create a new Bitbucket account specifically for CodeRabbit and treat it as a service account. -2. Name the account "CodeRabbit". -3. Generate an App Password to enable seamless integration between CodeRabbit and your Bitbucket repositories. +1. Name the account "CodeRabbit". +1. If your Bitbucket workspace requires two-step verification, then you must also enable two-step verification on this new account. +1. Generate an App Password to enable seamless integration between CodeRabbit and your Bitbucket repositories. We recommend creating a new user as a service account, associating this user to the workspace you'd like to install CodeRabbit on, and providing CodeRabbit with the app password to allow access. During the installation process, CodeRabbit will automatically configure the required webhook for seamless integration. From 0494460926c6927525419eb30be891dbb6cec385 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 6 Jun 2025 13:03:40 -0400 Subject: [PATCH 69/81] Add a new setup-and-configuration best practices guide. (#385) * Add a new setup-and-configuration best practices guide. Move best pratices pages into their own top-level ToC section. * Fix broken links * Add a section about path filters. * Typo --------- Co-authored-by: alexcoderabbitai --- docs/guides/code-review-best-practices.md | 2 +- docs/guides/setup-best-practices.md | 133 ++++++++++++++++++++++ sidebars.ts | 10 +- 3 files changed, 143 insertions(+), 2 deletions(-) create mode 100644 docs/guides/setup-best-practices.md diff --git a/docs/guides/code-review-best-practices.md b/docs/guides/code-review-best-practices.md index 83bd8abb..426617e8 100644 --- a/docs/guides/code-review-best-practices.md +++ b/docs/guides/code-review-best-practices.md @@ -1,7 +1,7 @@ --- title: Code review best practices description: Best practices for managing CodeRabbit code reviews. -sidebar_label: Best practices +sidebar_label: Code reviews --- This page lists best practices for performing code reviews with CodeRabbit. diff --git a/docs/guides/setup-best-practices.md b/docs/guides/setup-best-practices.md new file mode 100644 index 00000000..81143fd8 --- /dev/null +++ b/docs/guides/setup-best-practices.md @@ -0,0 +1,133 @@ +--- +title: "Setup and configuration best practices" +description: Best practices for seting up CodeRabbit. +sidebar_label: Setup and configuration +--- + +This page contains our best-practice advice for setting up CodeRabbit, and then +configuring its code review behavior. + +## Setup best practices {#setup} + +This section lists our recommendations for setting up CodeRabbit with your +Git platform, and integrating CodeRabbit with other tools and services. + +### Give CodeRabbit its own user account {#user} + +CodeRabbit works best when it has a user account all to itself on your Git platform. +Your team treats this account as a bot or service account—even on platforms that don't +have a formal concept of separate service accounts, such as Bitbucket Cloud. + +If you use GitHub, then CodeRabbit sets up a service account named `CoderabbitAI` for you as soon as you connect your GitHub organization to CodeRabbit. On other platforms, such as Bitbucket Cloud or Gitlab, you must set this account up yourself. + +For platform-specific instructions about setting up this user, see +[Integrate with Git platforms](/platforms/). + +### Let CodeRabbit read your issue tracker {#issues} + +CodeRabbit can report on whether the changes proposed by a pull request +successfully address specific, ticketed issues referenced by that pull request. + +For this to work, CodeRabbit needs read access to your team's issue management system. + +If you use the built-in issue management of either GitHub or GitLab, then +CodeRabbit issue integration works without any further setup. + +If you use issue management systems external from your Git platform, then you need to +take additional steps to integrate CodeRabbit with your team's issues. + +These are the external issue management systems that CodeRabbit supports: + +- Jira +- Linear + +For more information, see [Integrate issue tracking](/integrations/issue-integrations/). + +### Set up basic reports for your team {#reports} + +CodeRabbit has a flexible reporting feature that can help keep your whole team +up-to-date about the latest changes to your repositories. We recommend setting +up at least the following scheduled reports, using templates available +through the CodeRabbit web interface: + +- A daily standup report, grouped by contributor. +- Regular release notes, grouped by repository. + +For more information, see [Generate reports](/guides/reports-overview). + +## Configuration best practices {#configuration} + +This section lists our recommendations for configuring the way that CodeRabbit +works with your individual repositories. + +### Fine-tune reviews using YAML files {#yaml} + +CodeRabbit gives you two ways to configure how it works with your team's repositories: + +- The [Repositories](https://app.coderabbit.ai/settings/repositories) page of the + Dashboard +- A [`coderabbit.yaml` file](/getting-started/configure-coderabbit/) in your repository + +The graphical UI of the Repositories page lets you set up your per-repository +preferences more rapidly, and can help you get familiar with CodeRabbit configuration options. + +Once you are ready to fine-tune the ways that CodeRabbit works with your repositories, +we recommend adding a `coderabbit.yaml` file to each one. This file has several +advantages over using only the Dashboard: + +- It applies version control to your repository's CodeRabbit settings. +- During code reviews, CodeRabbit loads the file along with rest of your repository. This means that you can include setting changes as part of a pull request, and CodeRabbit both analyzes and applies these settings during its review. +- The file makes the repository's CodeRabbit settings transparent to all of the repository's contributors. + +Repository-level settings defined by a `coderabbit.yaml` take precedence over the +settings defined for that repository in the Dashboard. + +For more information, see [Add a configuration file](/getting-started/configure-coderabbit/). + +### Speed up reviews by adding path filters {#filters} + +If your repository contains a lot of data or other content that CodeRabbit +doesn't need for code review context, then you can include _path filters_ in +your repository configuration. For example, a filter of `!dist/**` tells CodeRabbit +to disregard everything in your reposistory's top-level `dist` directory when +preparing a code review. + +Reducing the number of contextual files that CodeRabbit needs to read and analyze +when preparing a code review can help make its code reviews faster. + +You can define path filters using the CodeRabbit +web interface, or with [a configuration file](/getting-started/configure-coderabbit/). + +### Trust the defaults {#defaults} + +CodeRabbit gives you control over a number of its core code-review features, letting you deactivate them entirely for your repositories if needed. We have chosen the default settings to meet the needs of most organizations and situations, and recommend leaving these settings at their default values if possible: + +- **Cache**: Keep [the cache](/reference/caching) enabled to let CodeRabbit temporarily remember details about your repository + between reviews, which improves review speed. +- **Tools**: By default, CodeRabbit is allowed to use all of the [open-source linters and analyzer + tools](/tools) that are available to it during code reviews. This helps CodeRabbit keep its reviews broad and flexible. +- **Knowledge base**: CodeRabbit [knowledge base](/integrations/knowledge-base/) features, including learnings and issue tracking, can require data retention. If your organization needs to meet stricter data-retention policies, then you can opt out of using these features. + +You can configure your use of the above features using the CodeRabbit web interface, or [a configuration file](/getting-started/configure-coderabbit/). + +### Write specific CI/CD error messages {#pipeline} + +CodeRabbit can analyze the logs of continuous integration (CI) or continuous +deployment (CD) tools in your pipeline. CodeRabbit can provide better remediation +advice about CI/CD failures during code reviews if your tools' error messages +are as specific as possible when reporting failures. + +For CodeRabbit to provide the best advice, configure your CI/CD failure output to include the following information: + +- File names associated with the failure. +- Line numbers that identify where the failure occurred in those files. +- An explanation of the failure, including relevant error codes or diffs. + +[This pull request](https://github.com/ff14-advanced-market-search/temp-fe/pull/47/files) shows an example of expanding the context of a CI error, +in this case including a diff to show why a code-formatter check failed. + +--- + +## What's next {#whats-next} + +- [Code review best practices](/guides/code-review-best-practices) diff --git a/sidebars.ts b/sidebars.ts index 9d093311..3deb1cb8 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -87,7 +87,6 @@ const sidebars: SidebarsConfig = { "guides/code-review-overview", "guides/commands", "guides/generate-improvements", - "guides/code-review-best-practices", "guides/code-review-troubleshooting", "guides/agent_chat", { @@ -135,6 +134,15 @@ const sidebars: SidebarsConfig = { "guides/custom-reports", ], }, + { + type: "category", + collapsed: true, + label: "Best practices", + items: [ + "guides/setup-best-practices", + "guides/code-review-best-practices", + ], + }, { type: "category", collapsed: true, From c6fde1ab0d830cba430fcdeaf3937da1db964ba7 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 6 Jun 2025 13:06:58 -0400 Subject: [PATCH 70/81] Hide the auto-generated next/prev links. (#381) Co-authored-by: alexcoderabbitai --- src/css/custom.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/css/custom.css b/src/css/custom.css index 4a77db0a..933d51d0 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -293,3 +293,8 @@ a[docid="docs"] > svg { display: none; } } + +/* Disable automatic next/previous pagination links */ +.pagination-nav { + display: none; +} From f2f7c172ca4da3fffd506c150f3833026057dffe Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Fri, 6 Jun 2025 13:12:33 -0400 Subject: [PATCH 71/81] fix list (#387) --- docs/finishing-touches/docstrings.md | 44 +++++++++++++--------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/docs/finishing-touches/docstrings.md b/docs/finishing-touches/docstrings.md index 5d78366e..235e7398 100644 --- a/docs/finishing-touches/docstrings.md +++ b/docs/finishing-touches/docstrings.md @@ -50,11 +50,9 @@ code_generation: These software forges are supported: -- [x] Azure DevOps -- [ ] Bitbucket Cloud -- [ ] Bitbucket Data Center -- [x] GitHub -- [x] GitLab +- Azure DevOps +- GitHub +- GitLab While Bitbucket is not officially supported, docstrings can still be generated. However, they will be posted in a comment under the pull request. Full support for Bitbucket is planned. @@ -62,24 +60,22 @@ While Bitbucket is not officially supported, docstrings can still be generated. These languages are supported: -- [x] Bash -- [x] C -- [x] C# -- [x] C++ -- [x] Elixir -- [x] Go -- [ ] Haskell -- [x] Java -- [x] JavaScript -- [x] Kotlin -- [x] Lua -- [x] Php -- [x] Python -- [x] React TypeScript -- [x] Ruby -- [x] Rust -- [ ] Scala -- [x] Swift -- [x] TypeScript +- Bash +- C +- C# +- C++ +- Elixir +- Go +- Java +- JavaScript +- Kotlin +- Lua +- Php +- Python +- React TypeScript +- Ruby +- Rust +- Swift +- TypeScript CodeRabbit uses `ast-grep` to parse the code. If you want a new language to be supported, please look into [Add New Language to ast-grep](https://ast-grep.github.io/contributing/add-lang.html#add-new-language-to-ast-grep) first. From 0c4b5801034fc84336c425a08cbda45cba326195 Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Fri, 6 Jun 2025 13:20:21 -0400 Subject: [PATCH 72/81] fix numbers (#386) * fix numbers * get the readme fix in too --- README.md | 11 ++++++++--- docs/platforms/bitbucket-cloud.md | 6 +++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index de8e5ece..bd76c6c5 100644 --- a/README.md +++ b/README.md @@ -37,20 +37,25 @@ Welcome to the official docs for [**CodeRabbit**](https://coderabbit.ai), the co ## Getting Started -1. Clone this repository: +1. Make sure that you have the following prerequisites installed: + + - [Node.js](https://nodejs.org/) + - [pnpm](https://pnpm.io/installation) + +2. Clone this repository: ```sh git clone https://github.com/coderabbit-ai/coderabbit-docs.git cd coderabbit-docs ``` -2. Install dependencies: +3. Install Node.js dependencies using `pnpm`: ```sh pnpm install ``` -3. Start the development server: +4. Start the development server: ```sh pnpm start diff --git a/docs/platforms/bitbucket-cloud.md b/docs/platforms/bitbucket-cloud.md index 39015cdb..286321d5 100644 --- a/docs/platforms/bitbucket-cloud.md +++ b/docs/platforms/bitbucket-cloud.md @@ -18,9 +18,9 @@ This guide will assist you in effectively integrating CodeRabbit with Bitbucket To enable CodeRabbit to interact with your Bitbucket repositories, an app password is required. This token grants the necessary permissions for interacting with the Merge Requests and Discussions APIs. 1. Create a new Bitbucket account specifically for CodeRabbit and treat it as a service account. -1. Name the account "CodeRabbit". -1. If your Bitbucket workspace requires two-step verification, then you must also enable two-step verification on this new account. -1. Generate an App Password to enable seamless integration between CodeRabbit and your Bitbucket repositories. +2. Name the account "CodeRabbit". +3. If your Bitbucket workspace requires two-step verification, then you must also enable two-step verification on this new account. +4. Generate an App Password to enable seamless integration between CodeRabbit and your Bitbucket repositories. We recommend creating a new user as a service account, associating this user to the workspace you'd like to install CodeRabbit on, and providing CodeRabbit with the app password to allow access. During the installation process, CodeRabbit will automatically configure the required webhook for seamless integration. From e4ebaaa0313555419b2b8759096b43f66bb5809e Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Fri, 6 Jun 2025 13:33:51 -0400 Subject: [PATCH 73/81] use free trial link everywhere (#388) * use free trial link everywhere * dont mess with callback urls --- docs/getting-started/quickstart.md | 2 +- docs/getting-started/support.md | 2 +- docs/guides/install-vscode.md | 2 +- docs/overview/why-coderabbit.md | 6 +++--- docs/platforms/github-com.md | 2 +- docs/platforms/platforms.md | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 17cc091c..c6f1d3b8 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -30,7 +30,7 @@ Create a new, private repository on GitHub. Name the new repository `coderabbit- To integrate CodeRabbit with your GitHub account, follow these steps: -1. Visit [the CodeRabbit login page](https://app.coderabbit.ai/login). +1. Visit [the CodeRabbit login page](https://app.coderabbit.ai/login?free-trial). 1. Click **Login with GitHub**. 1. Click **Authorize coderabbitai**. diff --git a/docs/getting-started/support.md b/docs/getting-started/support.md index 9b1ef18b..5aeb9589 100644 --- a/docs/getting-started/support.md +++ b/docs/getting-started/support.md @@ -14,7 +14,7 @@ All CodeRabbit users have access to the [CodeRabbit Discord Server](http://disco ## Support Tickets :::tip -For assistance from our support team, click the help icon located in the bottom right corner of the [CodeRabbit UI](https://app.coderabbit.ai/login). This will open a chat window where you can submit your support ticket. +For assistance from our support team, click the help icon located in the bottom right corner of the [CodeRabbit UI](https://app.coderabbit.ai/login?free-trial). This will open a chat window where you can submit your support ticket. ::: Complete the support ticket by providing your name, email, a description of your issue, and attaching any necessary files. If you are reporting a bug, please provide the GitHub or GitLab organization name. diff --git a/docs/guides/install-vscode.md b/docs/guides/install-vscode.md index 9de59b75..03dfa98c 100644 --- a/docs/guides/install-vscode.md +++ b/docs/guides/install-vscode.md @@ -14,7 +14,7 @@ The instructions on this page are specific to using the extension with VSCode. I Before you can use the CodeRabbit VSCode extension, you need a CodeRabbit account. -If you don't already have an account, you can create one by visiting [the CodeRabbit login page](https://app.coderabbit.ai/login). +If you don't already have an account, you can create one by visiting [the CodeRabbit login page](https://app.coderabbit.ai/login?free-trial). ## Install the extension diff --git a/docs/overview/why-coderabbit.md b/docs/overview/why-coderabbit.md index cbdfc5f6..f04e347d 100644 --- a/docs/overview/why-coderabbit.md +++ b/docs/overview/why-coderabbit.md @@ -57,7 +57,7 @@ Your intelligent code review companion that understands context. > From its foundation as a Generative AI-first platform, CodeRabbit has evolved to become the preferred code review tool among developers because of its speed, intelligence, adaptability, and support for features like contextual analysis, security scanning, and architectural insights. CodeRabbit supports all major programming languages and integrates with popular development [tools](/tools). :::info Get Started -If your team needs intelligent code reviews, CodeRabbit delivers. If you're new to AI-powered reviews, [sign up for a Free account](https://app.coderabbit.ai/login), join the [Discord server](https://discord.gg/coderabbit), and start the journey with us. +If your team needs intelligent code reviews, CodeRabbit delivers. If you're new to AI-powered reviews, [sign up for a Free account](https://app.coderabbit.ai/login?free-trial), join the [Discord server](https://discord.gg/coderabbit), and start the journey with us. ::: ## CodeRabbit is Context-Aware @@ -432,9 +432,9 @@ Try CodeRabbit on your next pull request. Experience how AI-powered code review > Start reading more about the custom [code review instructions](/guides/review-instructions) or how CodeRabbit verify issues using [knowledge bases](/integrations/knowledge-base) like Linear and Jira. -Transform your code reviews now, [Start your free trial today](https://app.coderabbit.ai/login) and join the Discord server and chat with CodeRabbit users and team. +Transform your code reviews now, [Start your free trial today](https://app.coderabbit.ai/login?free-trial) and join the Discord server and chat with CodeRabbit users and team.

diff --git a/docs/platforms/github-com.md b/docs/platforms/github-com.md index ecc07272..60d919d7 100644 --- a/docs/platforms/github-com.md +++ b/docs/platforms/github-com.md @@ -53,7 +53,7 @@ If you opt to authorize all repositories during setup, CodeRabbit will automatic ### 5. CodeRabbit Configuration -You can configure CodeRabbit through a YAML file or using the [App's UI](https://app.coderabbit.ai/login). +You can configure CodeRabbit through a YAML file or using the [App's UI](https://app.coderabbit.ai/login?free-trial). You can tailor CodeRabbit's functionality using the `.coderabbit.yaml` file, which you place directly in your GitHub repository. This file mirrors the options available in the CodeRabbit user interface, with each setting in the YAML corresponding to a specific toggle in the UI. Configure CodeRabbit either through the coderabbit.yaml file or the interface, depending on your preference. diff --git a/docs/platforms/platforms.md b/docs/platforms/platforms.md index 996089fc..d4cb1748 100644 --- a/docs/platforms/platforms.md +++ b/docs/platforms/platforms.md @@ -32,4 +32,4 @@ CodeRabbit supports various Git platforms to provide code review for your reposi | Bitbucket Datacenter | [Supported](../self-hosted/bitbucket.md) | | Bitbucket Cloud | [Supported](./bitbucket-cloud.md) | -[login]: https://app.coderabbit.ai/login +[login]: https://app.coderabbit.ai/login?free-trial From fb9c056dac31bb13569950b33d1fbb1f4e9fc651 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 05:06:45 +0000 Subject: [PATCH 74/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index afee77cb..87103c6a 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -895,19 +895,6 @@ "additionalProperties": false, "default": {}, "description": "Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2" - }, - "dotenvLint": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Enable dotenv-linter | dotenv-linter is a tool for checking and fixing .env files for problems and best practices | v3.3.0" - } - }, - "additionalProperties": false, - "default": {}, - "description": "dotenv-linter is a tool for checking and fixing .env files for problems and best practices" } }, "additionalProperties": false, From 33d5fd36ba086fde18f7a49405db563bf2b23fa9 Mon Sep 17 00:00:00 2001 From: Ajinkya Date: Mon, 9 Jun 2025 12:01:18 +0530 Subject: [PATCH 75/81] =?UTF-8?q?=F0=9F=93=9D=20add=20Azure=20text-embeddi?= =?UTF-8?q?ng-3-large=20deployment=20configuration=20(#390)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add AZURE_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME environment variable to all self-hosted platform documentation and update deployment recommendations to include text-embedding-3-large model --- docs/self-hosted/azure-devops.md | 3 ++- docs/self-hosted/bitbucket.md | 3 ++- docs/self-hosted/github.md | 3 ++- docs/self-hosted/gitlab.md | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/self-hosted/azure-devops.md b/docs/self-hosted/azure-devops.md index f1a820a3..d1ce04b2 100644 --- a/docs/self-hosted/azure-devops.md +++ b/docs/self-hosted/azure-devops.md @@ -64,7 +64,8 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to deploy gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). +# it is recommended to deploy text-embedding-3-large, gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). +AZURE_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME= AZURE_GPT41MINI_DEPLOYMENT_NAME= AZURE_O4MINI_DEPLOYMENT_NAME= AZURE_O3_DEPLOYMENT_NAME= diff --git a/docs/self-hosted/bitbucket.md b/docs/self-hosted/bitbucket.md index 51cb1895..8fb764fd 100644 --- a/docs/self-hosted/bitbucket.md +++ b/docs/self-hosted/bitbucket.md @@ -56,7 +56,8 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to deploy gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). +# it is recommended to deploy text-embedding-3-large, gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). +AZURE_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME= AZURE_GPT41MINI_DEPLOYMENT_NAME= AZURE_O4MINI_DEPLOYMENT_NAME= AZURE_O3_DEPLOYMENT_NAME= diff --git a/docs/self-hosted/github.md b/docs/self-hosted/github.md index cce4296c..be7abddf 100644 --- a/docs/self-hosted/github.md +++ b/docs/self-hosted/github.md @@ -67,7 +67,8 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -# it is recommended to deploy gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). +# it is recommended to deploy text-embedding-3-large, gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). +AZURE_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME= AZURE_GPT41MINI_DEPLOYMENT_NAME= AZURE_O4MINI_DEPLOYMENT_NAME= AZURE_O3_DEPLOYMENT_NAME= diff --git a/docs/self-hosted/gitlab.md b/docs/self-hosted/gitlab.md index 9b3a6a28..f81a2e5e 100644 --- a/docs/self-hosted/gitlab.md +++ b/docs/self-hosted/gitlab.md @@ -62,7 +62,8 @@ LLM_PROVIDER=azure-openai LLM_TIMEOUT=360000 AZURE_OPENAI_ENDPOINT= AZURE_OPENAI_API_KEY= -## it is recommended to deploy gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). +# it is recommended to deploy text-embedding-3-large, gpt-4.1-mini, o4-mini, o3, gpt-4.1 (optionally). +AZURE_TEXT_EMBEDDING_3_LARGE_DEPLOYMENT_NAME= AZURE_GPT41MINI_DEPLOYMENT_NAME= AZURE_O4MINI_DEPLOYMENT_NAME= AZURE_O3_DEPLOYMENT_NAME= From d33375b7896d6f6c7db830cec3254e26380ad94b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 07:01:06 +0000 Subject: [PATCH 76/81] Update schema.v2.json --- static/schema/schema.v2.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 87103c6a..afee77cb 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -895,6 +895,19 @@ "additionalProperties": false, "default": {}, "description": "Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications. | v7.0.2" + }, + "dotenvLint": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable dotenv-linter | dotenv-linter is a tool for checking and fixing .env files for problems and best practices | v3.3.0" + } + }, + "additionalProperties": false, + "default": {}, + "description": "dotenv-linter is a tool for checking and fixing .env files for problems and best practices" } }, "additionalProperties": false, From 10ab70cdbf6ef5f9bf9322a51d3d46ad01640ecf Mon Sep 17 00:00:00 2001 From: Hasit Mistry Date: Tue, 10 Jun 2025 11:32:05 -0700 Subject: [PATCH 77/81] Update example formatting in configuration files for consistency (#393) --- docs/self-hosted/azure-devops.md | 2 +- docs/self-hosted/bitbucket.md | 2 +- docs/self-hosted/github.md | 2 +- docs/self-hosted/gitlab.md | 5 ++++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/self-hosted/azure-devops.md b/docs/self-hosted/azure-devops.md index d1ce04b2..a843e1a7 100644 --- a/docs/self-hosted/azure-devops.md +++ b/docs/self-hosted/azure-devops.md @@ -117,7 +117,7 @@ CODERABBIT_API_KEY= ENABLE_METRICS=[true] ENABLE_LEARNINGS=[true] # if using CodeRabbit's learnings, also provide the following -# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. +# for example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. OBJECT_STORE_URI=[] JIRA_HOST=[] diff --git a/docs/self-hosted/bitbucket.md b/docs/self-hosted/bitbucket.md index 8fb764fd..7e7faf2b 100644 --- a/docs/self-hosted/bitbucket.md +++ b/docs/self-hosted/bitbucket.md @@ -112,7 +112,7 @@ CODERABBIT_API_KEY= ENABLE_METRICS=[true] ENABLE_LEARNINGS=[true] # if using CodeRabbit's learnings, also provide the following -# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. +# for example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. OBJECT_STORE_URI=[] JIRA_HOST=[] diff --git a/docs/self-hosted/github.md b/docs/self-hosted/github.md index be7abddf..3031e45c 100644 --- a/docs/self-hosted/github.md +++ b/docs/self-hosted/github.md @@ -130,7 +130,7 @@ CODERABBIT_API_KEY= ENABLE_METRICS=[true] ENABLE_LEARNINGS=[true] # if using CodeRabbit's learnings, also provide the following -# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. +# for example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. OBJECT_STORE_URI=[] JIRA_HOST=[] diff --git a/docs/self-hosted/gitlab.md b/docs/self-hosted/gitlab.md index f81a2e5e..cd35c19f 100644 --- a/docs/self-hosted/gitlab.md +++ b/docs/self-hosted/gitlab.md @@ -114,6 +114,9 @@ SELF_HOSTED=gitlab GITLAB_BOT_TOKEN= GITLAB_WEBHOOK_SECRET= +# if seeing '500 Internal Server Error' in CodeRabbit logs when trying to post review comments, +# make sure to set the following environment variable to 1500 (1.5 seconds). +GITLAB_PUBLISH_DELAY=[] CODERABBIT_LICENSE_KEY= @@ -121,7 +124,7 @@ CODERABBIT_API_KEY= ENABLE_METRICS=[true] ENABLE_LEARNINGS=[true] # if using CodeRabbit's learnings, also provide the following -# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. +# for example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc. OBJECT_STORE_URI=[] JIRA_HOST=[] From cd93e06ea1bf953b116e5aedf74065ef97ebfe54 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 08:37:44 +0000 Subject: [PATCH 78/81] Update schema.v2.json --- static/schema/schema.v2.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index afee77cb..3fd34c48 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -908,6 +908,23 @@ "additionalProperties": false, "default": {}, "description": "dotenv-linter is a tool for checking and fixing .env files for problems and best practices" + }, + "htmlhint": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable HTMLHint | HTMLHint is a static code analysis tool for HTML files. | Enable HTMLHint integration. | v1.5.0" + }, + "config_file": { + "type": "string", + "description": "Optional path to the HTMLHint configuration file relative to the repository. This is useful when the configuration file is named differently than the default '.htmlhintrc'." + } + }, + "additionalProperties": false, + "description": "HTMLHint is a static code analysis tool for HTML files.", + "default": {} } }, "additionalProperties": false, From d81ca37883aa4785428ad8966fb900065c4d02dc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 12:07:05 +0000 Subject: [PATCH 79/81] Update schema.v2.json --- static/schema/schema.v2.json | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index 3fd34c48..afee77cb 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -908,23 +908,6 @@ "additionalProperties": false, "default": {}, "description": "dotenv-linter is a tool for checking and fixing .env files for problems and best practices" - }, - "htmlhint": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Enable HTMLHint | HTMLHint is a static code analysis tool for HTML files. | Enable HTMLHint integration. | v1.5.0" - }, - "config_file": { - "type": "string", - "description": "Optional path to the HTMLHint configuration file relative to the repository. This is useful when the configuration file is named differently than the default '.htmlhintrc'." - } - }, - "additionalProperties": false, - "description": "HTMLHint is a static code analysis tool for HTML files.", - "default": {} } }, "additionalProperties": false, From 6a11ee920e73afa0bd7a507d31553ef0ad738a97 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 11 Jun 2025 14:26:03 +0000 Subject: [PATCH 80/81] Update schema.v2.json --- static/schema/schema.v2.json | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json index afee77cb..e3dd3eee 100644 --- a/static/schema/schema.v2.json +++ b/static/schema/schema.v2.json @@ -908,6 +908,36 @@ "additionalProperties": false, "default": {}, "description": "dotenv-linter is a tool for checking and fixing .env files for problems and best practices" + }, + "htmlhint": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable HTMLHint | HTMLHint is a static code analysis tool for HTML files. | Enable HTMLHint integration. | v1.5.0" + }, + "config_file": { + "type": "string", + "description": "Optional path to the HTMLHint configuration file relative to the repository. This is useful when the configuration file is named differently than the default '.htmlhintrc'." + } + }, + "additionalProperties": false, + "description": "HTMLHint is a static code analysis tool for HTML files.", + "default": {} + }, + "checkmake": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Enable checkmake | checkmake is a linter for Makefiles. | v0.2.2" + } + }, + "additionalProperties": false, + "default": {}, + "description": "checkmake is a linter for Makefiles." } }, "additionalProperties": false, From 94f88f3c1030bfc208a04030d943b8e26805bea3 Mon Sep 17 00:00:00 2001 From: alexcoderabbitai Date: Wed, 11 Jun 2025 12:15:22 -0400 Subject: [PATCH 81/81] adding checkmake and htmlhint (#394) * adding checkmake and htmlhint * minor fix --- docs/changelog.md | 10 ++++++++++ docs/tools/checkmake.md | 30 ++++++++++++++++++++++++++++++ docs/tools/htmlhint.md | 31 +++++++++++++++++++++++++++++++ docs/tools/list.md | 4 ++++ 4 files changed, 75 insertions(+) create mode 100644 docs/tools/checkmake.md create mode 100644 docs/tools/htmlhint.md diff --git a/docs/changelog.md b/docs/changelog.md index 6ad52b08..9d40ab2b 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,6 +5,16 @@ description: The latest updates and changes to CodeRabbit. sidebar_position: 13 --- +## June 11, 2025 + +### Enhanced Static Analysis: HTMLHint and Checkmake Support + +We're excited to announce that two new static analysis tools are now supported on CodeRabbit! + +- [HTMLHint](https://htmlhint.com/) is a static code analysis tool for HTML that helps maintain code quality by detecting common mistakes and enforcing best practices. + +- [Checkmake](https://github.com/mrtazz/checkmake) is a linter for Makefiles that helps ensure your build scripts follow best practices and maintain consistency. + ## June 5, 2025 ### Enhanced Static Analysis: Dotenv Linter and Pylint Support diff --git a/docs/tools/checkmake.md b/docs/tools/checkmake.md new file mode 100644 index 00000000..8d623ca1 --- /dev/null +++ b/docs/tools/checkmake.md @@ -0,0 +1,30 @@ +--- +title: Checkmake +sidebar_label: Checkmake +description: CodeRabbit's guide to Checkmake. +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +[Checkmake](https://github.com/mrtazz/checkmake) is a linter for Makefiles. + +## Files + +Checkmake will run checks against any `Makefile`. + +## Configuration + +Checkmake supports the following config files: + +- `checkmake.yml` +- `checkmake.yaml` + +CodeRabbit will use the default settings based on the profile selected if no config file is found. + +## Links + +- [Checkmake Configuration](https://github.com/mrtazz/checkmake#configuration) diff --git a/docs/tools/htmlhint.md b/docs/tools/htmlhint.md new file mode 100644 index 00000000..c8fd61ea --- /dev/null +++ b/docs/tools/htmlhint.md @@ -0,0 +1,31 @@ +--- +title: HTMLHint +sidebar_label: HTMLHint +description: CodeRabbit's guide to HTMLHint. +--- + +```mdx-code-block +import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx'; + + +``` + +[HTMLHint](https://htmlhint.com/) is a static code analysis tool for HTML. + +## Files + +HTMLHint will run checks against `*.html` files. + +## Configuration + +HTMLHint supports the following config files: + +- `.htmlhintrc` +- `.htmlhintrc.json` +- `htmlhintrc.json` + +CodeRabbit will use the default settings based on the profile selected if no config file is found. + +## Links + +- [HTMLHint Configuration](https://htmlhint.com/docs/user-guide/getting-started) diff --git a/docs/tools/list.md b/docs/tools/list.md index 7a106a78..6092e082 100644 --- a/docs/tools/list.md +++ b/docs/tools/list.md @@ -23,12 +23,14 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, | GitLab Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation | | Go | [golangci-lint][golangci-lint] | Code Quality | | Helm | [Checkov][Checkov] | Code Security | +| HTML | [HTMLHint][HTMLHint] | Code Quality | | Javascript | [Biome][Biome], [oxlint][oxlint] | Code Quality | | JSON, JSONC | [Biome][Biome] | Code Quality | | JSX | [Biome][Biome], [oxlint][oxlint] | Code Quality | | Kotlin | [detekt][detekt] | Code Quality | | Kubernetes | [Checkov][Checkov] | Code Security | | Lua | [Luacheck][Luacheck] | Code Quality | +| Makefile | [Checkmake][Checkmake] | Code Quality | | Markdown | [markdownlint][markdownlint], [LanguageTool][LanguageTool] | Code Quality, Grammar Checking | | PHP | [PHPStan][PHPStan] | Code Quality | | Plaintext | [LanguageTool][LanguageTool] | Grammar and Spell Checking | @@ -80,3 +82,5 @@ For an overview of how CodeRabbit uses these tools when generating code reviews, [Clippy]: /tools/clippy.md [Pylint]: /tools/pylint.md [DotenvLinter]: /tools/dotenv.md +[HTMLHint]: /tools/htmlhint.md +[Checkmake]: /tools/checkmake.md