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/changelog.md b/docs/changelog.md
index 6a21a8ab..6ad52b08 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -5,6 +5,28 @@ description: The latest updates and changes to CodeRabbit.
sidebar_position: 13
---
+## June 5, 2025
+
+### Enhanced Static Analysis: Dotenv Linter and Pylint Support
+
+We're excited to announce that two new static analysis tools are now supported on CodeRabbit!
+
+- [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
+
+### 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/faq.md b/docs/faq.md
index f4158154..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.
@@ -128,7 +209,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 | 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}
@@ -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
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.
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/code-review-best-practices.md b/docs/guides/code-review-best-practices.md
new file mode 100644
index 00000000..426617e8
--- /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: Code reviews
+---
+
+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/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/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/guides/install-vscode.md b/docs/guides/install-vscode.md
index ec71e213..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
@@ -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
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/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/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
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/bitbucket-cloud.md b/docs/platforms/bitbucket-cloud.md
index acb37f34..286321d5 100644
--- a/docs/platforms/bitbucket-cloud.md
+++ b/docs/platforms/bitbucket-cloud.md
@@ -19,7 +19,8 @@ To enable CodeRabbit to interact with your Bitbucket repositories, an app passwo
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.
+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.
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/github-enterprise-server.md b/docs/platforms/github-enterprise-server.md
index 2e8a6876..733607cb 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**
@@ -169,4 +170,20 @@ 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**
+
+#### 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/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
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.
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/docs/self-hosted/azure-devops.md b/docs/self-hosted/azure-devops.md
index 97137b11..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 deployments, 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=
@@ -96,6 +97,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..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 deployments, 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=
@@ -88,6 +89,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..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 deployments, 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=
@@ -99,6 +100,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..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 deployments, 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=
@@ -94,6 +95,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/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/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 d85b4c78..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 |
@@ -33,9 +34,10 @@ 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] | 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 +76,7 @@ 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
+[Pylint]: /tools/pylint.md
+[DotenvLinter]: /tools/dotenv.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)
diff --git a/sidebars.ts b/sidebars.ts
index 2668b5c1..3deb1cb8 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -84,7 +84,10 @@ const sidebars: SidebarsConfig = {
collapsed: true,
label: "Review pull requests",
items: [
+ "guides/code-review-overview",
"guides/commands",
+ "guides/generate-improvements",
+ "guides/code-review-troubleshooting",
"guides/agent_chat",
{
type: "category",
@@ -125,9 +128,19 @@ const sidebars: SidebarsConfig = {
collapsed: true,
label: "Generate reports",
items: [
+ "guides/reports-overview",
+ "guides/scheduled-reports",
"guides/ondemand-reports",
"guides/custom-reports",
- "guides/scheduled-reports",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Best practices",
+ items: [
+ "guides/setup-best-practices",
+ "guides/code-review-best-practices",
],
},
{
@@ -140,6 +153,7 @@ const sidebars: SidebarsConfig = {
label: "CodeRabbit API",
href: "https://api.coderabbit.ai/api/swagger/",
},
+ "reference/review-commands",
{
type: "category",
label: "Supported tools",
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;
+}
diff --git a/static/img/integrations/login-self-hosted-github.png b/static/img/integrations/login-self-hosted-github.png
index 99f511c6..35e76ed1 100644
Binary files a/static/img/integrations/login-self-hosted-github.png and b/static/img/integrations/login-self-hosted-github.png differ
diff --git a/static/img/integrations/self-hosted-github-host-url.png b/static/img/integrations/self-hosted-github-host-url.png
index b8224720..2cb6d671 100644
Binary files a/static/img/integrations/self-hosted-github-host-url.png and b/static/img/integrations/self-hosted-github-host-url.png differ
diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json
index 66ccd0a5..afee77cb 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": {
@@ -818,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": {
@@ -856,6 +882,32 @@
"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"
+ },
+ "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,