diff --git a/.github/workflows/fix.yaml b/.github/workflows/fix.yaml
deleted file mode 100644
index 438cab16..00000000
--- a/.github/workflows/fix.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-name: Fix
-
-on:
- pull_request:
- branches: main
-
-jobs:
- fix:
- runs-on: ubuntu-latest
-
- permissions:
- contents: write
-
- if: github.actor != 'github-actions[bot]'
-
- steps:
- - uses: actions/checkout@v4
- with:
- ref: ${{ github.head_ref }}
- - uses: pnpm/action-setup@v4
- with:
- version: latest
- - uses: actions/setup-node@v4
- with:
- node-version: 22
- cache: pnpm
- - run: pnpm install
- - run: pnpm run lint:fix
- - run: git add .
-
- - uses: qoomon/actions--create-commit@v1
- id: actions--create-commit
- with:
- message: |
- ๐จ pnpm run lint:fix
-
- [dependabot skip]
- skip-empty: true
-
- - if: ${{ steps.actions--create-commit.outputs.commit }}
- run: git push
diff --git a/.github/workflows/node.js.yaml b/.github/workflows/node.js.yaml
index d58bbaf6..22575dd0 100644
--- a/.github/workflows/node.js.yaml
+++ b/.github/workflows/node.js.yaml
@@ -1,10 +1,15 @@
name: Node.js CI
on:
- push:
- branches: main
+ merge_group:
+ branches:
+ - main
pull_request:
- branches: main
+ branches:
+ - main
+ push:
+ branches:
+ - main
jobs:
test:
@@ -21,4 +26,68 @@ jobs:
cache: pnpm
- run: pnpm install --frozen-lockfile --strict-peer-dependencies
- run: pnpm run build
+ env:
+ API_KEY: ${{ secrets.INKEEP_API_KEY }}
- run: pnpm run lint
+
+ fix:
+ runs-on: ubuntu-latest
+
+ permissions:
+ contents: write
+
+ needs:
+ - test
+
+ if: failure() && github.event_name != 'merge_group' && github.actor != 'github-actions[bot]' && github.actor != 'nektos/act'
+
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ ref: ${{ github.ref }}
+ - uses: pnpm/action-setup@v4
+ with:
+ version: latest
+ - uses: actions/setup-node@v4
+ with:
+ cache: pnpm
+ node-version: 22
+
+ - run: |
+ pnpm install --fix-lockfile --no-frozen-lockfile
+ git add .
+ - id: commit-lockfile
+ uses: qoomon/actions--create-commit@v1
+ with:
+ message: |
+ ๐ pnpm install --fix-lockfile
+
+ [dependabot skip]
+ skip-empty: true
+
+ - run: |
+ pnpm run format
+ git add .
+ - id: commit-format
+ uses: qoomon/actions--create-commit@v1
+ with:
+ message: |
+ ๐จ pnpm run format
+
+ [dependabot skip]
+ skip-empty: true
+
+ - run: |
+ pnpm run lint:fix
+ git add .
+ - id: commit-lint
+ uses: qoomon/actions--create-commit@v1
+ with:
+ message: |
+ ๐จ pnpm run lint:fix
+
+ [dependabot skip]
+ skip-empty: true
+
+ - if: steps.commit-lockfile.outputs.commit || steps.commit-format.outputs.commit || steps.commit-lint.outputs.commit
+ run: git push
diff --git a/README.md b/README.md
index cf7d301d..bd76c6c5 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Welcome to the official docs for [**CodeRabbit**](https://coderabbit.ai), the co
[](http://discord.gg/coderabbit)
[](https://github.com/coderabbitai/coderabbit-docs/pulls)
[](https://github.com/coderabbitai/coderabbit-docs/actions/workflows/node.js.yaml)
-
+
## About CodeRabbit
@@ -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 1873f67a..6ad52b08 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -5,72 +5,350 @@ 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
+
+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
+
+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
+
+We're excited to announce two significant updates:
+
+#### Shopify CLI Integration
+
+We've added support for [Shopify CLI](https://docs.coderabbit.ai/tools/shopify-cli), a powerful tool for validating and analyzing Shopify themes and apps. This integration helps ensure your Shopify projects follow best practices by:
+
+- Validating Liquid syntax and theme requirements
+- Checking app extension configurations
+- Identifying performance bottlenecks
+- Ensuring accessibility standards
+- Detecting security vulnerabilities
+
+#### Bitbucket Cloud Scheduled Reporting
+
+Our reporting capabilities now extend to Bitbucket Cloud! You can now:
+
+- Schedule automated reports for your Bitbucket Cloud repositories
+- Generate customized summaries of team performance
+- Track PR review metrics
+- Deliver reports via Email, Slack, Microsoft Teams, or Discord
+
+## April 11 2025
+
+### Agent Chat
+
+```mdx-code-block
+
+```
+
+We're thrilled to introduce agentic planning on GitHub for CodeRabbit chat as Generally Available for Pro users. This enhancement lets you make more advanced requests that span multiple files. Just add a review or issue comment on any pull request, or issue comment on an issue, issue tagging `@coderabbitai` along with your natural language request for a code change, and the chat will develop a plan for complex modifications. Upon reviewing the plan and getting your consent, CodeRabbit will emit a stacked PR, commit or copyable snippet to your PR or issue for those code changes.
+
+## April 8, 2025
+
+### New Static Analysis Tools
+
+We've expanded our static analysis capabilities with two new tools:
+
+- **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.
+
+## April 1, 2025
+
+### Code Graph Analysis
+
+Code reviews automatically analyze dependencies across multiple files to enhance the context from code definitions (e.g., types) to improve accuracy and reduce false positives.
+
+This is a very powerful feature that gathers context behind code changes in one file that have dependencies in another file.
+
+๐ See it in action: Review details โ Additional context used โ Code definitions
+In the review status message. It is automatically enabled for all users.
+
+### Automatically Run a Web Query to Include Latest Information
+
+CodeRabbit now performs Web Queries automatically to include the most recent publicly available information โ even if it wasn't included in the latest LLM update. This feature is enabled by default for all users, and you may notice it being used in review comments and chat responses.
+
+Web Queries allow CodeRabbit to fetch the latest documentation and external content to improve the accuracy and relevance of its output. You can disable this feature by setting web_search: false in your knowledge_base settings.
+
+### CodeRabbit Auto-Resolve
+
+CodeRabbit can now detect when suggested changes have been implemented and automatically resolve the related review threads on your behalf.
+
+### Dashboard Redesign
+
+```mdx-code-block
+import ProPlanNotice from "@site/src/components/ProPlanNotice.mdx"
+
+
+```
+
+New and Improved Dashboards to provide more useful feedback such as:
+
+- Avgerage PR Merge Time
+- Weekly Pull Request Activity
+- Number of PRs Reviewed
+- Acceptance rate of CodeRabbit Suggestions
+- Tool Findings
+- Review Feedback Breakdown
+
+and much more! Check out the new dashboard to view these metrics about your organization.
+
+### Multi-Step Agent Chat
+
+```mdx-code-block
+
+```
+
+We're thrilled to introduce agentic planning on GitHub for CodeRabbit chat as an Experimental feature for Early Access users. This enhancement lets you make more advanced requests that span multiple files. Just add a review comment on any pull request tagging `@coderabbitai` along with your natural language request for a code change, and the chat will develop a plan for complex modifications. Upon reviewing the plan and getting your consent, CodeRabbit will emit a stacked PR to your PR for those code changes.
+
+### Additional Static Analysis Support
+
+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
+
+### Docstrings
+
+```mdx-code-block
+
+```
+
+We're excited to announce the launch of the Docstrings feature! This functionality allows developers to generate docstrings on a pull request. By commenting `@coderabbitai generate docstrings` on any pull request, you can automatically generate docstrings for functions in the code changes.
+
+The list of supported languages and software forges is available in [the documentation](/finishing-touches/docstrings).
+
+### Azure DevOps Pipeline Failure Detection
+
+We're excited to announce that our pipeline error detection capabilities now extend to Azure DevOps! Just like with GitHub Actions, GitLab CI/CD, and CircleCI, you can now automatically detect and fix pipeline failures in your Azure DevOps pipelines.
+
+## February 4, 2025
+
+### Bitbucket Cloud Support & CircleCI Pipeline Failure Detection
+
+We're excited to announce two major updates:
+
+#### Bitbucket Cloud Integration
+
+CodeRabbit is now available for Bitbucket Cloud users! This integration includes:
+
+- Automated code reviews for pull requests
+- Inline review comments and suggestions
+- Real-time bot interaction for feedback and assistance
+
+Check out our [Bitbucket Cloud integration guide](https://docs.coderabbit.ai/platforms/bitbucket-cloud) to get started.
+
+#### [CircleCI](https://circleci.com/) Pipeline Failure Detection and Remediation
+
+We've expanded our pipeline error detection to [CircleCI](https://circleci.com/)! Just like with GitHub Actions and GitLab CI/CD, you can now automatically detect and fix pipeline failures from your CircleCI workflows.
+
+---
+
+## January 21, 2025
+
+### Linear Issue Creation
+
+We have added the ability to create issues directly from AI Code Review Comments allowing developers to convert code review feedback into actionable Linear issues.
+
+---
+
+## January 13, 2025
+
+### GitLab Pipeline Failure Detection and Remediation
+
+We've expanded our pipeline error detection capabilities to GitLab Users! Just like with GitHub Actions, you can now automatically detect and fix pipeline failures in your GitLab CI/CD workflows.
+
+---
+
+## January 2, 2025
+
+### GitHub Action Failure Detection and Remediation
+
+We're excited to announce our new pipeline error detection tool. Never let a failing pipeline block your progress again!
+
+Automatically fix build failures for GitHub Actions! This feature automatically identifies common pipeline and build failures, providing instant fixes across multiple technologies such Python, Node.js, Java, Terraform, Docker, Kubernetes and more!
+
+Key capabilities:
+
+- Automatic detection and analysis of pipeline build failures
+- One-click fix build failure suggestions for common issues
+- Comprehensive support for popular frameworks and tools
+- Integration with existing GitHub Checks
+
+Future support planned for:
+
+- Azure DevOps CI/CD
+- GitLab CI/CD
+- CircleCI
+
+---
+
+## December 23, 2024
+
+### Streamlined Multi-Repository Installation for GitLab and Azure DevOps
+
+We're thrilled to announce a significant enhancement to CodeRabbit that simplifies your workflow! You can now install CodeRabbit on multiple repositories simultaneously for GitLab and Azure DevOps, eliminating the need to activate each repository individually.
+
+With this update, you can:
+
+- โ Select Multiple Repositories: Check the boxes next to the repositories you wish to activate.
+- ๐ฑ๏ธ One-Click Installation: Select the **Install Repositories** button on the top right to integrate CodeRabbit across all selected projects instantly.
+
+---
+
## December 12, 2024
-### Docstrings(Beta)
+### Docstrings (Beta)
We have launched a new functionality as part of our finishing touches initiative to allow developers to generate docstrings on a pull request. This feature lets you generate docstrings by commenting `@coderabbitai generate docstrings` on any pull request. This works for both new and existing documentation. See [our documentation](https://docs.coderabbit.ai/finishing-touches/docstrings) for details.
+---
+
## November 25, 2024
### Code Review Performance Enhancements with Improved Comment Resolution Logic
We have implemented several performance improvements that will enhance the speed of code review and are committed to making code review as efficient as possible across all your web development needs. We have also further refined the logic to reduce duplicate comments once a comment is resolved.
+---
+
## November 20, 2024
### Support for On-premises Learning and GitLab Follow-up Issue Creation
-Learning is a method for developers to interact with the bot to tune AI specifically for their files, repositories, and codebase for future reviews. We now extend this learning support to our on-premises customers. Additionally, we have enhanced our automated workflow to create follow-up issues based on Merge Request Reviews in GitLab.
+Learnings enable developers to fine-tune the AI for their specific files, repositories, and codebase, enhancing future reviews. We're excited to extend this feature to our on-premises customers. Additionally, we've improved our automated workflow to create follow-up issues directly from Merge Request reviews in GitLab.
+
+---
## November 8, 2024
### ESLint Support
-We've introduced support for ES Lint, including .vue, .svelte, and .astro, alongside traditional .js, .ts, and .jsx extensions. We've worked on monorepo compatibility with improved Yarn and PNPM workspace support, ensuring seamless integration across your projects. While maintaining your existing ESLint configurations, we simply require all dependencies to be properly defined in your package.json. Note that private plugins aren't currently supported, but we're committed to making code quality maintenance as efficient as possible across all your web development needs
+We're excited to announce support for **ESLint**, now extending to .vue, .svelte, and .astro files, in addition to the traditional .js, .ts, and .jsx extensions. We've enhanced compatibility for monorepos, offering improved integration with Yarn and Pnpm workspaces for seamless project management.
+
+Our solution respects your existing ESLint configurations, requiring only that all dependencies are properly defined in your package.json. Please note that private plugins are not yet supported. We're dedicated to streamlining code quality maintenance and making it as efficient as possible across your web development projects.
+
+---
## October 31, 2024
### Learnings and Metrics Iteration for CodeRabbit Self-Hosted Customers
-We've improved our Learnings and Metrics accessibility for Self-Hosted CodeRabbit customers to provide a more seamless experience. Track learning patterns and insights more easily, with API key generation now available directly from the interface.
+We've enhanced the accessibility of Learnings and Metrics for self-hosted CodeRabbit customers, delivering a more seamless experience. Easily track learning patterns and insights, with the added convenience of generating API keys directly within the interface.
**Setup:**
- Generate an API key in the CodeRabbit UI
-- Enable Learnings and Metrics by:
-- Configuring your .env file, or
-- Contacting CodeRabbit support for assistance
+- Enable Learnings and Metrics by either:
+ - Configuring your .env file
+ - Contacting CodeRabbit support for assistance
+
+---
## October 30, 2024
### Microsoft Teams Integration & Bitbucket Support
-Our integration capabilities just got a major upgrade with Microsoft Teams and Bitbucket support.
+Our integration capabilities just got a major upgrade with **Microsoft Teams** and **Bitbucket** support.
-- Microsoft Teams integration is with scheduled reporting system and direct notification pipeline to keep your team informed.
+- Microsoft Teams integration is now available as part of the Reporting feature, providing a direct notification pipeline to keep your team informed and up-to-date.
-- We've also launched Bitbucket Data Center support with Pull Request integration, offering core review functionality, Pull Request summaries, and direct inline comments for applying review suggestions
+- We've also launched Bitbucket Data Center support including Pull Request integration with essential review functionalities, detailed summaries, and inline comments to seamlessly apply review suggestions.
+
+---
## October 22, 2024
### Security and SAST Remediation Improvements
-- Enabling comprehensive security analysis directly from context within GitHub Checks
-- CodeRabbit now seamlessly integrates with top SAST tools that create github check annotation comments like Codacy, SonarCloud, Code Climate, GitHub Advanced Security, Palo Alto Prisma Cloud, and more!
-- We have added a [YouTube Tutorial](https://www.youtube.com/watch?v=tfy3FdsoUtU) for a step-by-step guide on using CodeRabbit with Codacy and SonarCloud during pull requests
-- Improved the [Semgrep Documentation](https://docs.coderabbit.ai/tools/semgrep)
-- CodeRabbit now automatically detects Semgrep rulesets from default `semgrep.yml` or `semgrep.config.yml` files, eliminating the need for manual configuration
+- Enabling comprehensive security analysis directly from context within GitHub Checks.
+- CodeRabbit now seamlessly integrates with top SAST tools that create github check annotation comments such as: Codacy, SonarCloud, Code Climate, GitHub Advanced Security, Palo Alto Prisma Cloud, and more!
+- We have added a [YouTube Tutorial](https://www.youtube.com/watch?v=tfy3FdsoUtU) for a step-by-step guide on using CodeRabbit with Codacy and SonarCloud during pull requests.
+- Improved the [Semgrep Documentation](https://docs.coderabbit.ai/tools/semgrep).
+- CodeRabbit now automatically detects Semgrep rulesets from default `semgrep.yml` or `semgrep.config.yml` files, eliminating the need for manual configuration.
+
+---
## September 9, 2024
### Related PRs and Label suggestions
-- Possibly related PRs: The walkthrough comment now includes a list of potentially related PRs to help you recall the past context
-- Suggested labels: CodeRabbit can now suggest labels by learning from your past PRs in the walkthrough comment. You can also provide custom labeling instructions in the UI or configuration file
+- **Possibly Related PRs**: The walkthrough comment now provides a list of potentially related PRs, helping you quickly recall relevant context from past work.
+- **Suggested labels**: CodeRabbit can now suggest labels by learning from your past PRs in the walkthrough comment. You can also provide custom labeling instructions in the UI or via configuration file.
> Note: Possibly related PRs, automatic label suggestions based on past PRs, learnings, and possibly related issues require data opt-in (enabled by default).
+---
+
## August 15, 2024
### New Dashboard
@@ -87,11 +365,15 @@ What's new:
These updates are here to help you get more from the dashboard. Take a look today!
+---
+
## July 31, 2024
-### Promote members to admin
+### Grant Admin Privileges to Members
+
+You can now grant admin privileges to members of your organization in CodeRabbit. Admins will have the ability to manage subscriptions and seat allocations for the organization.
-You can now promote members in your organization to admins within CodeRabbit. Admins will be able to manage the subscription and the seats for that organization.
+---
## July 16, 2024
@@ -99,44 +381,48 @@ You can now promote members in your organization to admins within CodeRabbit. Ad
#### Learnings Page
-We're thrilled to announce the new "Learnings" page! Users can now interact with learnings captured in PR comments, enhancing future reviews. Log into CodeRabbit to see the page, where you can filter learnings by Repository, File Path, and User. You can also edit or delete learnings that are no longer relevant to your project.
+We're thrilled to announce the new **Learnings** page! Users can now interact with learnings captured in PR comments, enhancing future reviews. Log into CodeRabbit and navigate to the Learnings tab, where you can filter learnings by Repository, File Path, and User. You can also edit or delete learnings that are no longer relevant to your project.
#### Reports (Beta) Page
-Introducing the beta release of "Reports"! Generate recurring summaries of team performance and PR reviews with features like:
+Introducing the beta release of **Reports**!
+
+Generate recurring summaries of team performance and latest PR reviews with features like:
- Scheduling regular report generation
- Specifying parameters such as repository, team, user, or label
-- Selecting report types (Daily Stand-Up, Sprint Report, Release Notes, Custom)
-- Enabling delivery channels like Email, Slack, and Discord
+- Selecting report styles (Daily Stand-Up, Sprint Report, Release Notes, Custom)
+- Enabling your choice of delivery channel (Email, Slack, or Discord)
#### Sequence Diagrams Configuration
-You can now choose whether to auto-generate sequence diagrams in PR Walkthroughs. Configure this via the CodeRabbit settings page or by setting reviews.sequence_diagrams in the .coderabbit.yaml file.
+You can now choose whether to auto-generate sequence diagrams in the PR Walkthrough comment. Enable this via the CodeRabbit settings page or by setting reviews.sequence_diagrams in the .coderabbit.yaml file.
#### Enhanced Tool Settings & New Analysis Tools
We've refined the default settings to be less noisy and more actionable. Additionally, we've added new static analysis and security tools:
-- Yamllint A linter for YAML files
-- Gitleaks A lightweight, open-source secret scanner to prevent security breaches
-- Checkov Scans infrastructure as code for misconfigurations before they become security issues
+- **YAMLlint**: A linter for YAML files
+- **Gitleaks**: A lightweight, open-source secret scanner to prevent security breaches
+- **Checkov**: Scans infrastructure as code for misconfigurations before they become security issues
#### GitLab Integration Update
The GitLab integration now offers more flexibility and security. Users can use Personal Access Tokens (PATs) from within their organization to post reviews. This enhancement ensures reviews are posted with appropriate organizational context and permissions, improving traceability and security.
+---
+
## May 28, 2024
### New Features and Improvements
#### Sequence Diagrams
-CodeRabbit now generates sequence diagrams of code changes, enhancing reviewers' ability to understand the flow of control.
+CodeRabbit now generates sequence diagrams for code changes, providing reviewers with a clear visualization of the control flow for improved understanding.
#### Auto-Generate PR Titles
-Users will now find a new option called auto_title_placeholder and will default to `@coderabbitai` title. This option allows users to put a placeholder title and have CodeRabbit auto-generate one for them when the review process kicks in.
+A new option, `auto_title_placeholder`, is now available and defaults to `@coderabbitai` title. This feature allows users to set a placeholder title, enabling CodeRabbit to automatically generate an appropriate title when the review process begins.
#### New Commands
@@ -150,21 +436,29 @@ We have introduced new commands for interacting with CodeRabbit, detailed under
We have been observing that many PRs get closed quickly and CodeRabbit continues to review them. PRs get closed quickly for various reasons - changes are too small, the author is confident (perhaps, overly?), or the changes were unnecessary. With this improvement, we now stop the review process midway if we detect that the PR has been closed.
+---
+
## May 23, 2024
### New Features and Improvements
#### Review Settings
-Users can now select between "Chill" and "Assertive" review tones to tailor feedback styles according to their preferences. The "Assertive" profile posts more comments and nitpicks the code more aggressively, while the "Chill" profile is more relaxed and posts fewer comments.
+Users can now select between **Chill** and **Assertive** review tones to tailor feedback styles according to their preferences. The **Assertive** profile posts more comments and nitpicks the code more aggressively, while the **Chill** profile is more relaxed and posts fewer comments.
#### More Static Analysis Support
-We are continually expanding our support for static analysis tools. We have added support for biome, hadolint, and ast-grep. Update the settings in your .coderabbit.yaml file or head over to the settings page to enable or disable the tools you want to use.
+We are continually expanding our support for static analysis tools. We've recently added support for
+
+- Biome
+- Hadolint
+- ast-grep.
+
+Update your .coderabbit.yaml file or visit the settings page to enable or disable the tools you wish to use.
#### Tone Settings
-Users can now customize CodeRabbit to review code in the style of their favorite characters or personalities. Here are some of our favorite examples:
+Users can now personalize CodeRabbit to review code in the style of their favorite characters or personalities. Here are a few of our top examples:
- Mr. T: "You must talk like Mr. T in all your code reviews. I pity the fool who doesn't!"
- Pirate: "Arr, matey! Ye must talk like a pirate in all yer code reviews. Yarrr!"
@@ -174,6 +468,8 @@ Users can now customize CodeRabbit to review code in the style of their favorite
We have redesigned the settings page for a more intuitive layout, enabling users to find and adjust settings quickly. This change was long-time coming; it not only improves the user experience but also allows our development team to add more settings in the future with ease. Going forward, the changes to .coderabbit.yaml will be reflected in the settings page, and vice versa.
+---
+
## April 18, 2024
### Static Analyzers and Linters Integration
@@ -182,17 +478,23 @@ CodeRabbit now runs static analyzers, linters and provides one-click fixes for t
Are there any specific tools you'd like us to add? Let us know. We'd love to hear your suggestions!
+---
+
## April 1, 2024
### GDPR Compliance
-Excited to announce that CodeRabbit is now GDPR compliant in accordance with EU regulations!
+Excited to announce that CodeRabbit is now GDPR-compliant in accordance with EU regulations!
+
+---
## March 12, 2024
### GitHub Check Fixes
-CodeRabbit now offers fixes for GitHub Check failures on pull requests. With this change, Check Runs on GitHub that add Annotations to Pull Requests will be used. For example, popular GitHub Actions published by reviewdog (action-golangci-lint, action-staticcheck, action-eslint) and super-linter among many others have the ability to report issues on Pull Requests as annotations. Checks that output logs will be supported shortly. CodeRabbit GitHub App requires permission to read Checks for this feature to work. To enable this, please grant the necessary permissions by visiting the CodeRabbit GitHub app settings under [installation](https://github.com/settings/installations). Support for GitLab will follow.
+CodeRabbit now offers fixes for GitHub Check failures on pull requests. With this change, Check Runs on GitHub that add Annotations to Pull Requests will be used. For example, popular GitHub Actions published by reviewdog (action-golangci-lint, action-staticcheck, action-eslint) and super-linter among many others can report issues on Pull Requests as annotations. Checks that output logs will be supported shortly. The CodeRabbit GitHub App requires permission to read Checks for this feature to work. To enable this, please grant the necessary permissions by visiting the CodeRabbit GitHub app settings under [installation](https://github.com/settings/installations). Support for GitLab will follow.
+
+---
## March 11, 2024
@@ -200,17 +502,23 @@ CodeRabbit now offers fixes for GitHub Check failures on pull requests. With thi
CodeRabbit is now SOC 2 Type II compliant to ensure top-tier security, availability, integrity, and privacy for our users.
+---
+
## March 2, 2024
### Enhanced Markdown Review
CodeRabbit now offers a more comprehensive review of the markdown changes. In addition to the AI suggestions, we do a thorough check for spelling, grammar, word choice, language style, as well as improvements in paraphrasing and punctuation.
+---
+
## January 17, 2024
### Self-hosted GitLab Integration
-CodeRabbit now offers integration for self-hosted GitLab. Refer to the [setup instructions](https://docs.coderabbit.ai/integrations/self-hosted-gitlab).
+CodeRabbit now supports integration with Self-Hosted GitLab instances. Check out our [setup instructions](https://docs.coderabbit.ai/integrations/self-hosted-gitlab) for detailed instructions.
+
+---
## January 2, 2024
@@ -227,11 +535,15 @@ Here are some uses cases:
Really excited to see how this feature gets used, especially with access to the CLI commands. There are some suggestions in the pull request tips but we are looking forward to seeing additional use cases of how developers use this feature. Please consider sharing your experiences.
+---
+
## December 18, 2023
### Request Changes Workflow
-Enable Request Changes review workflow for CodeRabbit reviews via .coderabbit.yaml Yaml field request_changes_workflow (default: false). When enabled, review comments are posted as request changes and CodeRabbit review will be marked approved once all the review comments are resolved.
+Enable Request Changes review workflow for CodeRabbit reviews via .coderabbit.yaml under the field `request_changes_workflow` (default: false). When enabled, review comments are posted as request changes and CodeRabbit review will be marked approved once all the review comments are resolved.
+
+---
## December 5, 2023
@@ -239,7 +551,7 @@ Enable Request Changes review workflow for CodeRabbit reviews via .coderabbit.ya
#### Learnings
-CodeRabbit can now learn from your conversations to fine-tune your reviews. If you encounter inaccurate feedback or something not relevant to your codebase, just let the bot know, and it will remember the context for the future. We understand that coding practices and standards evolve over time. Using the chat, you can inform the bot, and it will remove any existing learnings that are no longer relevant. This feature does not work, if you have opted out of data storage.
+CodeRabbit can now learn from your conversations to fine-tune your reviews. If you encounter inaccurate feedback or something not relevant to your codebase, just let the bot know, and it will remember the context for the future. We understand that coding practices and standards evolve. Using the chat, you can inform the bot, and it will remove any existing learnings that are no longer relevant. This feature does not work if you have opted out of data storage.
#### Codebase Verification
@@ -247,11 +559,13 @@ Verifies the reference of the changes on the overall codebase and identifies mis
#### Jira and Linear Integrations
-You can now integrate Jira and Linear into CodeRabbit. This would be used for additional context while reviewing pull requests. If you use any of these systems, we recommend you integrate CodeRabbit. We will be adding more integrations over time.
+You can now integrate Jira and Linear with CodeRabbit to provide additional context when reviewing pull requests. If you use either of these systems, we highly recommend enabling this integration for a more seamless experience. Stay tunedโmore integrations are coming soon!
#### Related Issues
-Identifies all issues affected by the code changes. This helps understand the impact on the overall product. It also assists in identifying duplicate issues or the impact on any other existing issues. This feature does not work, if you have opted out of data.
+Identifies all issues affected by the code changes. This helps understand the impact on the overall product. It also assists in identifying duplicate issues or the impact on any other existing issues. This feature is unavailable for users who have opted out of data collection.
+
+---
## November 5, 2023
@@ -259,18 +573,24 @@ Identifies all issues affected by the code changes. This helps understand the im
CodeRabbit review can now assess the pull request changes against the linked GitHub or GitLab issue. Integration with other workflow systems including Jira and Linear is under development.
+---
+
## November 1, 2023
### Committable Suggestions
Review comments can now post committable suggestions that can be committed within the pull request with a single click.
+---
+
## October 28, 2023
### Resolve Command
Use `@coderabbitai resolve` to mark all the CodeRabbit review comments as resolved all at once.
+---
+
## October 23, 2023
### CodeRabbit Commands
@@ -282,12 +602,16 @@ Introducing additional CodeRabbit commands for managing code reviews:
- On-Demand Reviews: Disable automatic reviews for your repository to switch to on-demand reviews. Use `@coderabbitai review` in a PR comment. This command will override all review filters that might be set up in the repository settings and will initiate a one-time review
- Help Command: You can at any time post `@coderabbitai help` in a PR comment to get the list of all valid commands
+---
+
## October 12, 2023
### YML File Customization
CodeRabbit customizations made easy! You can now customize CodeRabbit using a YML file from your repository. To learn more, refer to our comprehensive documentation on customizing CodeRabbit.
+---
+
## September 21, 2023
### Path-Based Review Instructions
@@ -314,6 +638,10 @@ instructions: Review the following unit test code written using the Mocha test l
> - Instructions generally work well for specific additional instructions. However, they are not that effective if you are instructing AI not to do something
> - Test the review feedback on pull requests and tailor as necessary
-## Sep 19, 2023 - Introducing CodeRabbit for GitLab Integration
+---
+
+## September 19, 2023
+
+### Introducing CodeRabbit for GitLab Integration
CodeRabbit is now available for GitLab! We know many of you have been waiting for this integration. Thank you for your patience. Sign up for the free trial!
diff --git a/docs/faq.md b/docs/faq.md
index 451562f4..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,14 +63,59 @@ 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
- - 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
@@ -83,8 +164,16 @@ Switch between organizations easily:
### Customization Options
+#### How to Add or Update Your Billing Email
+
+To add or update your billing email, navigate to the Subscription page and
+select Manage Subscription > **Billing Address**. Enter your email address in the
+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
@@ -100,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.
@@ -108,16 +197,21 @@ When team members are active in PRs, use `@coderabbitai` to engage the bot.
### Usage Limits
-| Feature | Free/Trial | Pro Plan |
-| -------------- | ----------------------------- | ------------- |
-| Files per hour | 200 | 200 |
-| Reviews | 3 back-to-back, then 3/hour | Higher limits |
-| Conversations | 25 back-to-back, then 50/hour | Higher limits |
-
:::note
+
In-trial and open-source plans have lower rate limits than the paid plan. In all cases, we re-allow further reviews/conversations after a brief timeout.
+
:::
+The following limits enforced _per developer_:
+
+| Feature | Free Plan | Trial Plan | OSS Plan | Pro/Lite Plan |
+| ---------------- | ------------------------------------------ | ----------------------------- | ----------------------------- | ----------------------------- |
+| 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 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}
### Prerequisites
@@ -133,11 +227,51 @@ In-trial and open-source plans have lower rate limits than the paid plan. In all
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
+
+If you cannot view repositories in the CodeRabbit UI, please ensure that you
+are added as a Developer in the primary group for GitLab Cloud or in the first
+level group for Self-Hosted GitLab.
+
+#### Unable to Enable Repositories in GitLab
+
+If you're having trouble enabling the GitLab Repositories toggle, confirm that
+you have Maintainer access in the primary group for GitLab Cloud or in the first
+level group for Self-Hosted GitLab.
+
## Account Management {#account-management}
+### How to troubleshoot CodeRabbit not functioning on certain repositories?
+
+If CodeRabbit is not functioning on certain repositories, it is likely due to the repository not being accessible to CodeRabbit and you must reinstall the GitHub App or GitLab Integration.
+
+To troubleshoot this issue, please attempt to reinstall the GitHub App or GitLab Integration by following the steps below:
+
+
+
+ 1. Confirm that the author of a pull request has an active seat in CodeRabbit. If not please provide a seat to the user under [Subscription](https://coderabbit.ai/settings/subscription) page to enable CodeRabbit for the user. Then have the user close/reopen a new pull request for the change to see coderabbit active on the new user. 
+ 3. Please insure if not selecting all repositories, that you have added all repositories that you would like to enable to the selected list in the app configuration.
+ 4. If the repository is not in the list, you do not have to uninstall and reinstall the CodeRabbit App. Please add it to the list. 
+
+
+
+ 1. Go to Repository settings
+ 2. Click **GitHub Apps** in the left sidebar under **Integrations**
+ 3. Select **Configure** 
+ 4. Click **Uninstall** at the bottom of the app configuration page. 
+ 5. Go into the [Coderabbit App](https://github.com/apps/coderabbitai) and install it again with the **Add Repository** button. 
+
+
+
+ 1. Remove OAuth App from User Settings > Applications
+ 2. Remove Webhook from Group > Project Settings > Webhooks
+ 3. Go into the [Coderabbit App](https://gitlab.com/apps/coderabbitai) and install it again. 
+
+
+
### How do I delete my CodeRabbit account?
:::danger Irreversible Account Deletion
@@ -201,6 +335,11 @@ A confirmation modal will appear explaining the consequences of account deletion
2. Delete CodeRabbit webhooks
3. Remove CodeRabbit user or delete associated Personal Access Token
+
+ 1. Go to Project Settings > Webhooks
+ 2. Delete CodeRabbit webhooks
+ 3. Remove CodeRabbit user or delete associated App Passwords
+
:::warning Post-Deletion Steps
diff --git a/docs/finishing-touches/docstrings.md b/docs/finishing-touches/docstrings.md
index 1332df86..235e7398 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 (Beta)
+title: Generate docstrings
description: Automated docstrings pull requests with CodeRabbit
---
@@ -12,13 +11,7 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
# Docstrings
-Docstrings generation is part of the [finishing touches](/future-developments#finishing-touches) initiative.
-
-:::info
-
-This feature is in [beta](/early-access#beta).
-
-:::
+Docstrings generation is part of the [finishing touches](/future-development#finishing-touches).
## Usage
@@ -37,45 +30,52 @@ Here's an example of what a pull request may look like:
CodeRabbit cannot perform further modifications to opened pull requests. From there, it's your turn to checkout the branch and improve it to satisfaction. We believe that this workflow provides a significant headstart to documenting code.
-We are testing this workflow internally to adjust the prompts, add more supported software forges, add more supported languages and craft an excellent user experience. However, you can use this preview and enjoy a sneak peek at the future of CodeRabbit. Additionally, you can provide feedback about this feature on [Discord](https://discord.com/channels/1134356397673414807/1317286905557287022).
+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
-The checked software forges are supported:
+These software forges are supported:
-- [ ] Azure DevOps
-- [ ] Bitbucket
-- [x] GitHub
-- [ ] GitLab
+- Azure DevOps
+- GitHub
+- GitLab
-The presence of an unsupported software forge in this list does not constitute a commitment to support it in the future. Remember that the docstrings feature is in [beta](/early-access#beta).
+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.
## Supported languages
-The checked languages are supported:
-
-- [ ] Bash
-- [ ] C
-- [x] C++
-- [ ] C#
-- [x] Elixir
-- [x] Go
-- [ ] Haskell
-- [x] Java
-- [x] JavaScript
-- [ ] Kotlin
-- [ ] Lua
-- [ ] Php
-- [x] Python
-- [ ] React TypeScript
-- [x] Ruby
-- [ ] Rust
-- [ ] Scala
-- [ ] Swift
-- [x] TypeScript
-
-The presence of an unsupported language in this list does not constitute a commitment to support it in the future. Remember that the docstrings feature is in [beta](/early-access#beta).
-
-:::note
-In the case of JavaScript and TypeScript, there are tons of ways to declare functions. At the moment, we only support the keyword `function` at the top level.
-:::
+These languages are supported:
+
+- 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/future-developments.md b/docs/future-development.md
similarity index 86%
rename from docs/future-developments.md
rename to docs/future-development.md
index a044ee61..e3c7c4d6 100644
--- a/docs/future-developments.md
+++ b/docs/future-development.md
@@ -5,13 +5,13 @@ description: Learn how CodeRabbit works in a pull request review.
sidebar_position: 12
---
-# Future Developments
+# Future Development
We are actively iterating and refining CodeRabbit, and this is a sneak peek into the upcoming milestones and releases. We are focused on making the Applied AI review better than the median manual review. In addition to that, we are looking at a holistic user experience with various integrations and types of reviews.
## Applied AI Improvements
-We are actively trying to make the application of Generative AI more useful , relevant , meaningful for the coder and reviewer journey. Our immediate focus is
+We are actively trying to make the application of Generative AI more useful, relevant, meaningful for the coder and reviewer journey. Our immediate focus is
### Accuracy and Conciseness Enhancements
@@ -34,10 +34,10 @@ We are integrating various tool chains to enable coders and reviewers to have a
### Communication Tool Integrations
-Communication and the user experience of review via various communication tools are going to be key. We will start with integrations to Slack and Microsoft Teams and will be diving into the design engineering of these flows further:
+Communication and the user experience of review via various communication tools will be key. We will start with integrations to Slack and Microsoft Teams and will be diving into the design engineering of these flows further:
- **Slack**: Real-time notifications and interactive discussions
-- **Microsoft Teams**: Code review conversations within Microsoft ecosystem
+- **Microsoft Teams**: Code review conversations within the Microsoft ecosystem
### Enhanced Review Capabilities
diff --git a/docs/getting-started/adding-organizations.md b/docs/getting-started/adding-organizations.md
new file mode 100644
index 00000000..5f4b635b
--- /dev/null
+++ b/docs/getting-started/adding-organizations.md
@@ -0,0 +1,23 @@
+---
+title: Add organizations
+description: Learn how to add new organizations to CodeRabbit
+---
+
+To add new organizations to CodeRabbit, follow these steps:
+
+1. Navigate to [coderabbit.ai](https://coderabbit.ai)
+2. Click the "Refresh" button next to your organizations list to check for new organizations
+3. Find the organization you want to add in the list
+4. Click the "Grant" button next to the organization name
+
+
+
+
+
+This will grant CodeRabbit access to the selected organization, allowing it to:
+
+- Read organization and team membership
+- Read organization projects
+- Access user email addresses (read-only)
+
+> Note: Organizations control which applications are allowed to access their private data. You may need organization admin approval to complete this process.
diff --git a/docs/getting-started/configure-coderabbit.md b/docs/getting-started/configure-coderabbit.md
index d0227e8b..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
@@ -21,7 +19,7 @@ of precedence:
2. Configure using CodeRabbit UI for each repository
3. Configure using CodeRabbit UI for the organization
-In this guide, we will cover the configuration using a YAML file. For reference, you can find curated examples of YAML configurations in our [awesome-coderabbit](https://github.com/coderabbitai/awesome-coderabbit) repository.
+In this guide, we will cover the configuration using a YAML file. For reference, you can find curated examples of YAML configurations in our [`awesome-coderabbit`](https://github.com/coderabbitai/awesome-coderabbit) repository.
## Configure CodeRabbit using a YAML File
@@ -63,3 +61,20 @@ Refer:
Please note that code reviews commence with new pull requests or incremental
commits to existing pull requests once the CodeRabbit app is installed. Should
you have any questions or require assistance, our support team is here to help.
+
+## Shared configuration
+
+If you are self-hosting CodeRabbit in an air-gapped environment, you can use the
+shared configuration feature to share the configuration across multiple repositories.
+
+To use shared configuration, you need to:
+
+1. Create a `.coderabbit.yaml` file and host it in a location that is accessible
+ to from the CodeRabbit instance.
+2. Create a `.coderabbit.yaml` file in the root of your repository with the
+ following content:
+
+```yaml
+remote_config:
+ url: "https://your-config-location/.coderabbit.yaml"
+```
diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md
index 280732f0..c6f1d3b8 100644
--- a/docs/getting-started/quickstart.md
+++ b/docs/getting-started/quickstart.md
@@ -1,55 +1,138 @@
---
-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 [Integrate with 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
-
+To integrate CodeRabbit with your GitHub account, follow these steps:
-### Add Your Repository
+1. Visit [the CodeRabbit login page](https://app.coderabbit.ai/login?free-trial).
+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.
-
+## 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**.
+ :::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.
-## 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:
- 
-- [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:
+
+
+
+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/docs/getting-started/subscription-management.md b/docs/getting-started/subscription-management.md
new file mode 100644
index 00000000..4483ce78
--- /dev/null
+++ b/docs/getting-started/subscription-management.md
@@ -0,0 +1,59 @@
+---
+title: Manage your subscription
+description: Learn how to manage your CodeRabbit subscription, including billing, plan changes, and seat management
+---
+
+This guide covers how to manage your subscription, including accessing billing information, changing plans, and adjusting your seat count.
+
+## Accessing Billing Information
+
+### Invoices and Payment History
+
+You can access your billing history and download invoices by:
+
+1. Going to [**Subscription**](https://app.coderabbit.ai/settings/subscription) on the sidebar > **Manage Subscription**
+2. Once in the customer portal select **Billing History**
+3. Click to download an invoice from any specific month of billing
+
+
+
+
+
+
+
+## Managing Your Subscription Plan
+
+### Changing Plans
+
+To upgrade or change your subscription plan:
+
+1. Going to [**Subscription**](https://app.coderabbit.ai/settings/subscription) on the sidebar > **Manage Subscription**
+2. Once in the customer portal click the box with your plan highlighted at the top of the page
+3. Click **Update number of seats or change your plan**
+4. Click **Change** on the section at the top mentioning your current plan
+5. Select the new plan you'd like to change to
+6. Click **Update**
+
+
+
+
+
+
+
+
+
+### Adjusting Seat Count
+
+To modify the number of seats in your subscription:
+
+1. Going to [**Subscription**](https://app.coderabbit.ai/settings/subscription) on the sidebar > **Manage Subscription**
+2. Once in the customer portal click the box with your plan highlighted at the top of the page
+3. Click **Update number of seats or change your plan**
+4. Enter the new number of seats needed
+5. Click **Update Subscription**
+
+
+
+
+
+
diff --git a/docs/getting-started/support.md b/docs/getting-started/support.md
index 2014965c..5aeb9589 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
@@ -16,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/getting-started/upgrading-permissions.md b/docs/getting-started/upgrading-permissions.md
new file mode 100644
index 00000000..c5553abe
--- /dev/null
+++ b/docs/getting-started/upgrading-permissions.md
@@ -0,0 +1,29 @@
+---
+title: Set permissions
+description: Learn how to upgrade CodeRabbit's GitHub App permissions when new features are added
+---
+
+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:
+
+1. Navigate to your organization or repository settings in GitHub
+2. Go to the "GitHub Apps" or "Installed GitHub Apps" section
+3. Find CodeRabbit in the list of installed apps
+4. Click "Configure"
+5. Review and accept the new permissions
+
+
+
+
+
+
+
+Common reasons for permission updates include:
+
+- Access to new GitHub features
+- Enhanced repository scanning capabilities
+- Additional workflow automation features
+- Improved security features
+
+> Note: If you're not an organization admin, you may need to request approval from your organization administrators to update the permissions.
+
+After accepting the new permissions, CodeRabbit will have the access it needs to function properly. If you continue to experience issues, try refreshing your browser or reaching out to our support team.
diff --git a/docs/guides/about-vscode.md b/docs/guides/about-vscode.md
new file mode 100644
index 00000000..3e484ffe
--- /dev/null
+++ b/docs/guides/about-vscode.md
@@ -0,0 +1,37 @@
+---
+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.
+- 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
+
+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/agent_chat.md b/docs/guides/agent_chat.md
new file mode 100644
index 00000000..4073951a
--- /dev/null
+++ b/docs/guides/agent_chat.md
@@ -0,0 +1,72 @@
+---
+title: Discuss code reviews with CodeRabbit
+description: Learn about CodeRabbit Pro's chat and agentic chat system
+---
+
+# CodeRabbit Chat
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+CodeRabbit Chat is a powerful pull-request-specific assistant designed to streamline your development workflow. You can interact directly in pull request review comments and pull request comments to ask questions, have CodeRabbit rewrite code, or generate new code.
+
+## Invocation
+
+To invoke CodeRabbit Chat, simply comment on a pull request using the handle `@coderabbitai` without any explicit command (so without the [explicit CodeRabbit commands](./commands.md)) in plain natural language.
+
+The permission flow for the chat is the same as the deterministic CodeRabbit commands.
+
+Upon being invoked, CodeRabbit processes your request and responds with the necessary assistance. This assistance may entail generating scripts, updating issue tracking systems, offering detailed code suggestions, or even submitting an entire pull request (with your consent).
+
+## Features
+
+### Script Writing
+
+CodeRabbit Chat can automatically generate scripts in various programming languages (mainly shell scripting) to answer questions about your codebase. If incorrect or non-running or non-germane shell scripts are created, CodeRabbit goes and tries again, and the whole script iteration process will be displayed to you in an Analysis Flow.
+
+All scripts are run in a secure sandboxed execution environment.
+
+### Web Search
+
+CodeRabbit Chat integrates real-time web search capabilities, enabling it to fetch up-to-date information to support its responses. The CodeRabbit Chat response will indicate this if it decides to search the web to answer your query.
+
+Set `enabled` to false within `web_search` within `knowledge_base` within the config in order to turn this off.
+
+### Code Graph Analysis Integration
+
+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` to false in self-hosted CodeRabbit instances to turn this feature off in self-hosted instances.
+
+### Jira and Linear Integration
+
+CodeRabbit Chat can deal with existing issue tracking system integrations in order to integrate with your existing issues. For details on setting up issue tracking integrations, see our [Issue Integrations](../integrations/issue-integrations.md) guide and [Issue Creation](./issue-creation.md) guide.
+
+### Learnings Integration
+
+CodeRabbit Chat can insert and delete Learnings from your Learnings database. Simply ask it to do so in plain natural language.
+
+### Single Step Code Generation
+
+For rapid prototyping and quick fixes, CodeRabbit Chat is capable of generating code snippets in a single step.
+
+### Configuration Changes
+
+CodeRabbit is also capable of managing its own configuration settings upon request. This self-management allows the assistant to dynamically adapt to changing project requirements. By simplifying configuration updates, CodeRabbit helps users quickly adjust to new workflows or requirements without interrupting the development process.
+
+## Agentic Chat (Chat with Planning)
+
+When facing complex coding challenges, CodeRabbit Agentic Chat supports multi-step agentic flows that involve detailed planning and execution. Once the multi-step workflow is complete, CodeRabbit can automatically issue a pull request for the changes so you can consent to the code changes or edit them. CodeRabbit can also place changes in the existing pull request branch or create copyable snippets.
+
+Agent chat can be invoked explicitly with the `@coderabbitai plan` command.
+
+CodeRabbit cannot perform further modifications to opened pull requests. From there, it's your turn to checkout the branch and improve it to satisfaction. We believe that this workflow provides a significant headstart to implementing code.
+
+Agentic Chat is currently only available on Github issue, pull request and pull request review comments.
+
+### Help and Feedback
+
+Need help? Join our community on [Discord](https://discord.gg/coderabbit) or contact our support team.
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 8b8965a8..43e6283a 100644
--- a/docs/guides/commands.md
+++ b/docs/guides/commands.md
@@ -1,23 +1,154 @@
---
-title: CodeRabbit Commands
-sidebar_label: CodeRabbit Commands
-description:
- CodeRabbit offers various commands that can be invoked as PR comments to
- control the review process.
-sidebar_position: 4
+title: Control and manage code reviews
+description: Learn how to control CodeRabbit using commands in pull request comments
---
-The following commands are available (invoked as PR comments):
-
-- `@coderabbitai pause` to pause the reviews on a PR.
-- `@coderabbitai resume` to resume the paused reviews.
-- `@coderabbitai ignore` to ignore the reviews on a PR.
-- `@coderabbitai review` to trigger an incremental review. This is useful when
- automatic reviews are disabled for the repository.
-- `@coderabbitai full review` to do a full review from scratch and review all
- the files again.
-- `@coderabbitai summary` to regenerate the summary of the PR.
-- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
-- `@coderabbitai configuration` to show the current CodeRabbit configuration for
- the repository.
-- `@coderabbitai help` to get help.
+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).
+
+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.
+
+For a complete CodeRabbit command reference, see [Code review command reference](/reference/review-commands).
+
+## Control automatic code reviews {#flow}
+
+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.
+
+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.
+
+For more information about permanently configuring the behavior of CodeRabbit on
+your repository, see [Add a configuration file](/getting-started/configure-coderabbit).
+
+### Pause and resume automatic code reviews {#pause-resume}
+
+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).
+
+To pause automated reviews of a pull request, post the following comment to the
+pull request:
+
+```text
+@coderabbitai pause
+```
+
+To resume automated reviews after pausing them, post the following comment to the
+pull request:
+
+```text
+@coderabbitai resume
+```
+
+### Disable automatic code reviews {#ignore}
+
+To disable automatic code reviews for a pull request, add the following line
+anywhere in the pull request description:
+
+```text
+@coderabbitai ignore
+```
+
+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.
+
+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.
+
+## Manually request code reviews {#request}
+
+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:
+
+- 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.
+
+- 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.
+
+To manually request a full review, post the following comment to the
+pull request:
+
+```text
+@coderabbitai full review
+```
+
+To manually request an incremental review, post the following comment to the
+pull request:
+
+```text
+@coderabbitai review
+```
+
+## Resolve comments {#resolve}
+
+To have CodeRabbit mark all of its previous comments as resolved, post the following comment to the
+pull request:
+
+```text
+@coderabbitai resolve
+```
+
+## 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/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/custom-reports.md b/docs/guides/custom-reports.md
new file mode 100644
index 00000000..f4759124
--- /dev/null
+++ b/docs/guides/custom-reports.md
@@ -0,0 +1,565 @@
+---
+title: Customize reports
+description: Learn how to create custom reports with CodeRabbit Pro's flexible reporting system
+---
+
+```mdx-code-block
+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:
+
+- Define exactly what information you want to see
+- Specify the format and structure of the report
+- Set custom filtering and grouping rules
+- Generate reports in different languages
+
+## Creating Custom Report Templates
+
+### Basic Structure
+
+A custom report template consists of instructions that tell CodeRabbit what information to include and how to present it. Here's a basic example:
+
+```text
+Please provide a summary of:
+- All merged pull requests
+- Critical bug fixes
+- Code review discussions
+
+Group by:
+- Repository
+- Team
+
+Format using:
+- Bullet points for changes
+- Tables for statistics
+```
+
+### Example for different languages
+
+Japanese:
+
+```text
+ใฌใใผใใ่ฑ่ชใงใฏใชใๆฅๆฌ่ชใง้ไฟกใใฆใใ ใใใ
+
+ไปฅไธใฎ่ฆ็ดใๆไพใใฆใใ ใใ๏ผ
+- ใในใฆใฎใใซใชใฏใจในใๆดปๅ
+- ใณใผใใฌใใฅใผใฎ่ญฐ่ซ
+```
+
+French:
+
+```text
+Veuillez envoyer le rapport en franรงais et non en anglais.
+
+Veuillez fournir un rรฉsumรฉ de :
+- Toutes les activitรฉs de demandes de fusion
+- Discussions sur la rรฉvision de code
+```
+
+### Available Data Points
+
+Your custom reports can access the following PR information that you can reference in your prompts:
+
+#### Pull Request Status
+
+Contained within the `` tag.
+
+- `Merged`: boolean (true/false) - Whether the PR has been merged
+- `Draft`: boolean (true/false) - Whether the PR is in draft state
+- `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
+
+Contained within the `` tag.
+
+- `Pull request number`: number - The PR's identifier
+- `Title`: string - PR title
+- `URL`: string - Link to the PR
+- `Author name`: string - PR creator's username
+- `Created at`: datetime - When the PR was created
+- `Last activity`: datetime - Most recent activity timestamp
+- `Closed at`: datetime (if applicable) - When the PR was closed
+- `Source branch`: string - Source branch name
+- `Target branch`: string - Target branch name
+- `Labels`: array of strings - All labels applied to the PR
+- `Reviewers`: array of strings - Assigned reviewers' usernames
+
+#### Summarized PR Details
+
+- ``: string - Contains the body of your pull request (aka the PR description at the top of the PR page).
+- ``: string - Contains a file by file summary of the changes made in the PR in markdown format. This summary is generated by CodeRabbit AI durring the PR review process. This includes several sections for each file that was changed:
+ - `filename`: string - The name of the file that was changed.
+ - `AI-generated summary of changes`: markdown - An overall summary of the changes made in the file.
+ - `Alterations to the declarations of exported or public entities`: markdown - A more specific breakdown of the changes made to the file such as exactly what was added, removed, or modified.
+
+#### Comments
+
+- ``: array of comment objects - Contains all the comments made on the PR.
+- ``: object - Each indidvidual comment is wrapped in this tag and is an object with the following properties:
+ - ``: string - The username of the comment author.
+ - ``: datetime - The date and time the comment was created.
+ - ``: datetime - The date and time the comment was last updated.
+ - ``: markdown - The content of the comment.
+
+Here's an example prompt that uses these data points:
+
+```text
+Use the to guide the content of the summary. Use the format shown in but do not include or refer the example's content in the final summary/report.
+
+
+Generate a summary of each pull request in the following bullet point format:
+
+- PR Link: Provide a hyperlink to the pull request from the 'URL:' value
+- Title: Provide the value of the 'Title:' field
+- PR State: Provide the state of the PR based on the following conditions:
+ - 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' 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 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
+- **PR State:** ๐ฌ Open
+- **Mergeable:** Mergeable
+- **PR Stage:** Waiting for Code Reviews
+- **Summary:** Summary of the PR.
+- **Comments:** Summary of the PR comments or No comments.
+
+- **PR Link:** [#302](https://github.com/mygithuborg/thatrepo/pull/302)
+- **Title:** PR Title
+- **PR State:** ๐ฌ Open
+- **Mergeable:** Mergeable
+- **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
+- **PR State:** ๐ Merged
+- **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
+- **PR State:** ๐ฌ Open
+- **Mergeable:** Mergeable
+- **PR Stage:** Needs Author Action
+- **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
+- **PR State:** ๐ Merged
+- **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
+- **PR State:** ๐ Merged
+- **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
+- **PR State:** ๐ Draft
+- **Mergeable:** Not Mergeable
+- **PR Stage:** Needs Author Action
+- **Summary:** Summary of the PR.
+- **Comments:** Summary of the PR comments or No comments.
+
+```
+
+### Formatting Options
+
+CodeRabbit supports markdown formatting in custom reports. You can use:
+
+- Headers (`#`, `##`, `###`)
+- Lists (bullet points and numbered)
+- Tables
+- Code blocks
+- Bold and italic text
+- Links
+
+### Headers and Titles
+
+The name you give to each report in the CodeRabbit menu will be used for the first line of any report or the subject for emails. For example if your report is named `Executive Summary Template` then this string will appear on the subject of your emails and start of all message chains.
+
+When using the `Preview Report` button in the CodeRabbit menu, the subject will begin with `Preview: `.
+
+The reports will also have an overall title describing the report content such as `Pull Request Summary Report (January 2025)`.
+
+To change these details of this overall title you should include specific instructions in your custom prompt with examples such as:
+
+```text
+- Do not add a date to the titles like "Pull Request Summary Report (January 2025)" it should just be "Pull Request Summary Report"
+```
+
+### Language Support
+
+You can generate reports in multiple languages by specifying the ISO language code in your template. For example:
+
+```text
+Language: fr
+Please provide a summary of:
+- All pull request activities
+- Code review discussions
+```
+
+## Advanced Features
+
+### Filtering
+
+Include specific filtering instructions in your template:
+
+```text
+Include only:
+- PRs with "critical" or "bug" labels
+- Changes to production code
+- Reviews from senior developers
+
+Exclude:
+- Automated commits
+- Documentation changes
+- Dependencies updates
+```
+
+### Custom Grouping
+
+Organize information using custom grouping rules:
+
+```text
+Group by:
+1. Priority (High/Medium/Low)
+2. Component (Frontend/Backend/Infrastructure)
+3. Team (Team A/Team B)
+
+Within each group, sort by:
+- Activity date (newest first)
+- Impact level
+```
+
+### Optional Data Sources
+
+You can also include optional data sources in your custom reports. By default, CodeRabbit will not include the following data sources. In a custom report you will see the option to include these data sources by clicking the `Select Optional Data Sources` button. This adds special XML tags to your prompt that allow you to include this data in your report.
+
+#### Bot Comments
+
+Bot comments are comments made by bots and Coderabbit AI on a PR. To enable bot comments you must include the tag `` in your prompt.
+
+These are very similar in structure to regular user comments but with a few key differences:
+
+- ``: array of comment objects - Contains all the comments made on the PR.
+- ``: object - Each individual comment is wrapped in this tag and is an object with the following properties:
+ - ``: string - The username of the comment author.
+ - ``: datetime - The date and time the comment was created.
+ - ``: datetime - The date and time the comment was last updated.
+ - ``: markdown - The content of the comment.
+
+#### Issues and Tickets
+
+Issues and tickets brings in conversations, descriptions, and comments from Jira and Linear as part of your report if the ticket is linked in your PR description. To enable issues and tickets you must include the tag `` in your prompt.
+
+- ``: array of issue objects - Contains all the linked issues and tickets.
+- ``: object - Each individual issue is wrapped in this tag and is an object with the following properties:
+ - ``: string - The title or thread ID of the issue.
+ - ``: string - The URL to the issue.
+ - ``: string - The unique identifier of the issue.
+ - ``: string - The username of who created the issue.
+ - ``: datetime - The date and time the issue was created.
+ - ``: datetime - The date and time the issue was last updated.
+ - ``: markdown - The content/description of the issue. This contains the following sections:
+ - ``: markdown - The description of the issue.
+ - ``: array of comment objects - Contains all the comments made on the issue.
+
+## Best Practices
+
+1. **Be Specific**
+
+ - Clearly define what should be included/excluded
+ - Use precise language to avoid ambiguity
+ - Specify exact metrics you want to track
+
+2. **Structure Matters**
+
+ - Start with high-level summaries
+ - Use consistent grouping patterns
+ - Include clear section breaks
+
+3. **Keep it Relevant**
+
+ - Focus on actionable information
+ - Avoid redundant data points
+ - Consider your audience's needs
+
+4. **Optimize Readability**
+
+ - Use appropriate formatting
+ - Include visual breaks
+ - Maintain consistent styling
+
+5. **Use Examples**
+ - Include "do this" and "don't do this" examples (especially for titles)
+ - Demonstrate proper formatting patterns
+ - Show concrete use cases for different report types
+ - Help maintain consistency across teams
+ - Avoid ambiguity in report generation
+
+### Add Examples for Consistent Formatting
+
+Try to use `` and `` tag blocks to keep consistency across reports:
+
+```text
+Use the to guide the content of the summary. Use the format shown in but do not include or refer the example's content in the final summary/report.
+
+
+Generate release notes with the following sections:
+
+- Summary: A high-level summary of the overall change instead of specific files within 100 words.
+- Changes: A bullet point list of all the significant changes made in this release.
+
+Significant changes include new features, bug fixes, and other notable changes.
+Use a single sentence for each change without headings or categorization.
+Do not include changes from PRs that have not been merged.
+Don't show changes that are too insignificant and don't affect the end-user.
+Use a single level of bullet points for each change.
+Don't add links to the PRs.
+Do not add a list of pull requests.
+Do not show a random release date, version, etc. if they are not known.
+
+
+
+## Summary
+[Summary of the release]
+
+## Changes
+- [Summary of the change 1]
+- [Summary of the change 2]
+- [Summary of the change 3]
+- ...
+- [Summary of the change N]
+
+```
+
+## Example Templates
+
+### Executive Summary Template
+
+```text
+Provide a high-level overview:
+1. Key metrics:
+ - Total PRs merged
+ - Average review time
+ - Code quality scores
+2. Notable achievements
+3. Blocking issues
+4. Resource allocation
+
+Format:
+- Use tables for metrics
+- Bullet points for achievements
+- Clear headers for sections
+```
+
+### Technical Deep Dive Template
+
+```text
+Generate a detailed technical report:
+1. Code changes:
+ - Architecture updates
+ - API modifications
+ - Database changes
+2. Testing coverage
+3. Performance impacts
+4. Security considerations
+
+Include:
+- Links to significant PRs
+- Code snippets for major changes
+- Technical debt analysis
+```
+
+## Advanced Example Templates
+
+Heres a more advanced example of a custom report template:
+
+### **Good Day Release Report**
+
+```text
+**GPT Specialization:**
+This GPT specializes in summarizing software release notes and optional summary paragraphs into a consistent, clear, and concise format. The goal is to streamline the presentation of release notes, making them easy to understand for a general audience. It prioritizes clarity, brevity, and coherence while highlighting important updates without unnecessary jargon.
+
+**Release Note Structure:**
+
+1. **Release Notes Organization**
+ The items in the release notes may not be in the desired order. It is crucial to group similar items together meaningfully. Review the list after the release notes are created and reorder items within each heading based on relevance. Use **PRODUCT FEATURE GROUPS** to understand which items are related.
+
+2. **General Release Note Guidelines**
+ - The title should be: `GoodDay Release v${versionNumber}`
+
+3. **Release Note Line Items**
+ - Reword individual release lines to maintain a consistent tone (happy and fun)
+ - Use past tense for descriptions
+ - Items in the ๐งผ Fixes group should begin with "Fixed"
+ - Consolidate duplicate or closely related items, and list the associated GitHub pull requests as a comma-delimited list at the end (e.g., GH-123, GH-456)
+ - Add links to Github App for each PR
+
+4. **GitHub App Links**
+ - each pr mentioned should include hyperlinking to the pull request such as [coderabbitai/mono/pull/2614](https://github.com/coderabbitai/mono/pull/2614)
+
+5. **Grouping Release Note Line Items**
+ - Replace any emoji in the provided content with the appropriate **RELEASE NOTE GROUP**
+ - Order the **RELEASE NOTE GROUP** according to the structure below
+
+6. **Release Note Groups**
+ - ๐ **Features**: New capabilities or enhancements
+ - ๐งผ **Fixes**: Bug fixes or problem resolutions
+ - ๐งฐ **Maintenance**: Documentation, cleanup, or technical changes
+ - ๐ **Other**: Anything else
+
+7. **PR Label Uses**
+ - Omit any PRs with the label `skip-changelog`
+ - Use the labels from related pull requests to group items together
+ - Map PR labels to release note groups using the table below:
+
+ | RELEASE NOTE GROUP | LABELS |
+ |--------------------|-----------------|
+ | ๐ Features | feature, enhancement |
+ | ๐งผ Fixes | bug, fix |
+ | ๐งฐ Maintenance | design, docs |
+ | ๐ Other | other, tech |
+
+8. **Final Checks**
+ - Verify that the number of items matches the number of PRs included
+ - Ensure the PR links match the PR number and reflect the content of the changes
+```
+
+### **Nato's Special Report**
+
+```text
+Generate a report of all pull requests in the following format:
+
+- As the first paragraph, start with "๐ฃ" if merged, "โซ" if draft, "๐ข" if open, "๐ด" if closed
+ - On the same line, add the PR title in bold (and only the title; don't put anything else in bold after that)
+ - On the same line, add the PR browser link (do not use an api link)
+ - On the same line, add the last activity date in the format "Day Month Year, Hour:Minute AM/PM (Timezone)" in italic (don't put anything else in italic after that and make sure it's not bold)
+- Make a new bullet-point list of high-level changes in the PR
+ - Start each change with a gitmoji followed by a very terse one-liner to mention at a high level what the change does and to what part of the application it applies to
+ - Do not start with verbose non-speak such as "The pull request enhances" or "This PR introduces". Keep it terse and straight to the point. Start change descriptions with a verb
+ - Do not end with justifications or reasons for the changes such as "... enhancing type safety". Stick to the facts, do not make up the outcome of a change
+ - Limit to the 4 most relevant changes
+ - Examples: "โจ Add a rotating tagline on the home page", "๐ง Add func-style to ESLint", "๐ Add download badge to `README.md`", "โ Add unit tests for comment trees", "๐ท Create a pipeline to publish to npmjs.org", "๐ Fix comment submission in posts", "๐ License under AGPL-3.0-or-later", "๐ฑ Change post view for mobile", "๐ Make sidebar links blue", "๐ฉน Fix unfollow button", "๐๏ธ Limit login cookies to a specific subdomain", "๐ฅ Handle errors when commenting in a post", "๐ Stop ignoring `.env` and start ignoring `.env.local` and `.env.*.local`", "โฌ๏ธ Update lemmy-js-client to v0.19.4", "๐ท๏ธ Define interfaces for pull request events", "๐ Add environment variables for Bitbucket Server", "๐ Rename exported client instances in test files", "๐ท๏ธ Add type alias `EventKey` and its type guard `isEventKey`", "๐๏ธ Aggregate exports for pull request events in an index file"
+- Start the next paragraph with "Blockers:" in bold
+ - Summarize any issues preventing the PR from progressing
+ - Some examples: "Waiting for merge", "Waiting for review", "Failing CI/CD", "Needs more tests", "Needs rebase", "@username is waiting for a response", etc.
+ - If the PR is stale, note it here
+- Do not add a "Report" heading
+- Make sure there is one empty line between each paragraph
+
+These are the available emojis and the type of change they represent. Do not using any other emoji. Make sure the change corresponds to the gitmoji.
+
+
+๐จ: Improve structure / format of the code.
+โก๏ธ: Improve performance.
+๐ฅ: Remove code or files.
+๐: Fix a bug.
+๐๏ธ: Critical hotfix.
+โจ: Introduce new features.
+๐: Add or update documentation.
+๐: Deploy stuff.
+๐: Add or update the UI and style files.
+๐: Begin a project.
+โ : Add, update, or pass tests.
+๐๏ธ: Fix security or privacy issues.
+๐: Add or update secrets.
+๐: Release / Version tags.
+๐จ: Fix compiler / linter warnings.
+๐ง: Work in progress.
+๐: Fix CI Build.
+โฌ๏ธ: Downgrade dependencies.
+โฌ๏ธ: Upgrade dependencies.
+๐: Pin dependencies to specific versions.
+๐ท: Add or update CI build system.
+๐: Add or update analytics or track code.
+โป๏ธ: Refactor code.
+โ: Add a dependency.
+โ: Remove a dependency.
+๐ง: Add or update configuration files.
+๐จ: Add or update development scripts.
+๐: Internationalization and localization.
+โ๏ธ: Fix typos.
+๐ฉ: Write bad code that needs to be improved.
+โช๏ธ: Revert changes.
+๐: Merge branches.
+๐ฆ๏ธ: Add or update compiled files or packages.
+๐ฝ๏ธ: Update code due to external API changes.
+๐: Move or rename resources (e.g.: files, paths, routes).
+๐: Add or update license.
+๐ฅ: Introduce breaking changes.
+๐ฑ: Add or update assets.
+โฟ๏ธ: Improve accessibility.
+๐ก: Add or update comments in source code.
+๐ป: Write code drunkenly.
+๐ฌ: Add or update text and literals.
+๐๏ธ: Perform database related changes.
+๐: Add or update logs.
+๐: Remove logs.
+๐ฅ: Add or update contributor(s).
+๐ธ: Improve user experience / usability.
+๐๏ธ: Make architectural changes.
+๐ฑ: Work on responsive design.
+๐คก: Mock things.
+๐ฅ: Add or update an easter egg.
+๐: Add or update a .gitignore file.
+๐ธ: Add or update snapshots.
+โ๏ธ: Perform experiments.
+๐๏ธ: Improve SEO.
+๐ท๏ธ: Add or update types.
+๐ฑ: Add or update seed files.
+๐ฉ: Add, update, or remove feature flags.
+๐ฅ : Catch errors.
+๐ซ: Add or update animations and transitions.
+๐๏ธ: Deprecate code that needs to be cleaned up.
+๐: Work on code related to authorization, roles and permissions.
+๐ฉน: Simple fix for a non-critical issue.
+๐ง: Data exploration/inspection.
+โฐ๏ธ: Remove dead code.
+๐งช: Add a failing test.
+๐: Add or update business logic.
+๐ฉบ: Add or update healthcheck.
+๐งฑ: Infrastructure related changes.
+๐งโ๐ป: Improve developer experience.
+๐ธ: Add sponsorships or money related infrastructure.
+๐งต: Add or update code related to multithreading or concurrency.
+๐ฆบ: Add or update code related to validation.
+
+```
+
+## Related Resources
+
+- [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
new file mode 100644
index 00000000..03dfa98c
--- /dev/null
+++ b/docs/guides/install-vscode.md
@@ -0,0 +1,63 @@
+---
+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?free-trial).
+
+## Install the extension
+
+To install the CodeRabbit extension, follow these steps:
+
+1. In the editor activity bar, click **Extensions**.
+
+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. Select **CodeRabbit**. A summary of the CodeRabbit VSCode extension appears in the window's main pane, along with installation controls.
+
+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. 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.
+
+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
+
+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)
+
+- [Configure the VSCode extension](/guides/config-vscode)
diff --git a/docs/guides/issue-chat.md b/docs/guides/issue-chat.md
new file mode 100644
index 00000000..ee4f83a7
--- /dev/null
+++ b/docs/guides/issue-chat.md
@@ -0,0 +1,155 @@
+---
+title: Discuss issues and plan solutions
+description: Learn how to use CodeRabbit's chat capabilities within issues
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+# Issue Chat
+
+CodeRabbit provides an intelligent chat interface directly within GitHub and GitLab issues. This allows developers to have natural conversations about code, get answers to questions, create AI powered code searches, plan features, and gain deeper insights into their codebase - all without leaving their issue tracking workflow.
+
+## Getting Started
+
+To start a conversation with CodeRabbit in any issue:
+
+1. Simply mention `@coderabbitai` (or your custom bot name if configured) in an issue comment
+2. Ask your question or make your request in natural language
+3. CodeRabbit will analyze the context and respond accordingly
+
+:::note
+Organizations can configure a custom bot name by creating their own bot user. The bot will respond to mentions of that custom name instead of `@coderabbitai`.
+:::
+
+
+
+
+
+## Core Capabilities
+
+### Code Analysis
+
+When chatting in issues, CodeRabbit has access to your repository and powerful tools that allow it to analyze and understand your codebase like a real developer. This includes:
+
+- Full access to search and analyze the repository code
+- Advanced static analysis capabilities
+- Command line tools for code search and manipulation (e.g. grep, awk, sed, etc.)
+- Complete git history and metadata information
+- Access to past CodeRabbit learnings and insights
+
+This allows CodeRabbit to:
+
+- Search through code to find relevant examples
+- Analyze code patterns and relationships
+- Generate statistics and metrics
+- Provide context-aware answers about the codebase
+- Create AI powered code searches
+- Use tribal knowledge from learnings to enhance responses
+
+
+
+
+
+### Agentic Thought Chain
+
+When [agentic thought chain](./agent_chat.md) is enabled, CodeRabbit will use an agentic thought chain to plan out a response using multiple commands in series to articulate a more advanced response.
+
+
+
+All scripts run in the Agentic Thought Chain are run in a secure sandboxed execution environment.
+
+### Feature Planning Support
+
+Issue chat is particularly valuable during feature planning phases:
+
+- **Code Impact Analysis**: Ask about which parts of the codebase might be affected by proposed changes
+- **Pattern Discovery**: Find similar implementations or related code
+- **Dependency Mapping**: Understand relationships between components
+- **Technical Feasibility**: Get insights into potential challenges or approaches
+
+Example conversation:
+
+
+
+## Additional Use Cases
+
+### Open Source Support
+
+Issue chat, like all Pro CodeRabbit features, is free for open source projects. CodeRabbit acts as a powerful support tool for open source maintainers by:
+
+- Answering common user questions with detailed, contextual responses
+- Providing relevant code examples and implementation patterns
+- Explaining error messages with debugging context and solutions
+- Suggesting step-by-step debugging approaches with code snippets
+- Helping triage and categorize issues
+- Identifying potential duplicates and related issues
+- Offering guidance on best practices and common pitfalls
+- Reducing maintainer burden by handling routine support tasks
+
+Example:
+
+
+
+### Documentation Assistance
+
+Use issue chat to generate high level descriptions of the code and services in your repositories. This can be used to create README documentation which can be used across platforms like [wikis](https://docs.github.com/en/communities/documenting-your-project-with-wikis), [Confluence](https://www.atlassian.com/software/confluence/guides), [Notion](https://www.notion.so/help/guides) and more:
+
+- Generate high level documentation
+- Create usage examples and mermaid diagrams
+- Provide content to assist in updating README files
+- Write tutorials
+
+Example:
+
+
+
+### Marketing Content Generation
+
+CodeRabbit can assist with creating content on new features for social media posts, blogs, and more:
+
+- Release announcements
+- Blog post drafts
+- Social media content
+- Community updates
+
+Example:
+
+
+
+## Best Practices
+
+1. **Be Specific**
+
+ - Provide context in your questions
+ - Mention specific files or features when relevant
+ - Clarify your goals or requirements
+
+2. **Iterative Refinement**
+
+ - Start with broad questions
+ - Follow up for more details
+ - Ask for clarification when needed
+
+3. **Collaborative Planning**
+
+ - Include stakeholders in the conversation
+ - Use issue chat to document decisions
+ - Reference related issues or PRs
+
+4. **Keep Questions Focused**
+ - CodeRabbit works best with clear, specific questions
+ - Link to specific files, directories or pull requests to help refine answers and provide better context
+ - CodeRabbit does not generate API documentation, Swagger specs, or other technical documentation that requires high accuracy
+ - Break down complex questions into smaller, more manageable ones
+ - Use multiple messages to ask follow up questions if needed
+
+## Related Resources
+
+- [Agentic Chat](./agent_chat.md)
+- [Issue Creation](./issue-creation.md)
+- [Commands](./commands.md)
+- [Tooling Guide](../tools/tools.md)
diff --git a/docs/guides/issue-creation.md b/docs/guides/issue-creation.md
new file mode 100644
index 00000000..f6228b57
--- /dev/null
+++ b/docs/guides/issue-creation.md
@@ -0,0 +1,50 @@
+---
+title: Create issues
+description: Learn how to create issues directly through CodeRabbit
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+CodeRabbit provides seamless issue creation capabilities across multiple platforms including GitHub, GitLab, Jira, and Linear. You can create issues directly from pull request discussions or through the agentic chat interface.
+
+## Creating Issues Through Agentic Chat
+
+Using CodeRabbit's chat functions, you can create issues naturally through conversations in comments or comment threads. Simply mention `@coderabbitai` and ask to create an issue.
+
+
+
+When using CodeRabbit's [agentic chat](./agent_chat.md), CodeRabbit will help you format and create the issue with appropriate details based on your description and desired issue platform.
+
+
+
+## Supported Platforms
+
+### GitHub Issues
+
+CodeRabbit can create GitHub issues directly in your repository. The integration works automatically without additional setup.
+
+### GitLab Issues
+
+Similar to GitHub, GitLab issue creation is supported out of the box.
+
+### Jira
+
+To create Jira issues, ensure you have [configured the Jira integration](../integrations/issue-integrations.md#jira) first.
+
+### Linear
+
+Make sure you have [set up the Linear integration](../integrations/issue-integrations.md#linear) to create Linear issues.
+
+## Tips for Issue Creation
+
+- Use natural language when creating issues through agentic chat
+- Include code snippets when relevant
+- Specify assignees if known
+- Set appropriate priorities
+- Add deadlines or milestones if applicable
+
+For more detailed information about issue tracking integrations, see our [Issue Integrations](../integrations/issue-integrations.md) guide.
diff --git a/docs/guides/linked-issues.md b/docs/guides/linked-issues.md
new file mode 100644
index 00000000..b802cb3b
--- /dev/null
+++ b/docs/guides/linked-issues.md
@@ -0,0 +1,173 @@
+---
+title: Work with linked Issues
+description: Learn how to effectively use linked issues with CodeRabbit for better pull request assessments
+---
+
+# Linked Issues
+
+CodeRabbit provides intelligent assessment of linked issues to validate whether pull requests properly address their requirements. This guide explains how to effectively use linked issues and write clear issue descriptions for optimal results.
+
+## Understanding Linked Issues
+
+A linked issue is one that is explicitly referenced in your pull request description using platform-specific syntax:
+
+- GitHub: `fixes #123`, `closes #123`, `resolves #123`
+- GitLab: `closes #123`, `fixes #123`, or full URLs
+- Jira/Linear: Full URLs to tickets
+
+When CodeRabbit detects linked issues, it analyzes them against your pull request changes to determine if the requirements are met:
+
+
+
+## Best Practices for Issue Writing
+
+### Issue Titles
+
+Create descriptive, technical titles that clearly state the goal:
+
+โ Good Examples:
+
+- "Add PrismaLint integration to configuration flow"
+- "Fix race condition in user authentication"
+- "Implement caching for GraphQL queries"
+
+โ Poor Examples:
+
+- "Fix bug"
+- "Update code"
+- "Improve performance"
+
+### Issue Descriptions
+
+Write comprehensive descriptions that provide clear technical context:
+
+1. **Problem Statement**
+
+ - Clearly describe what needs to be changed
+ - Include technical details about affected components
+ - Reference specific files or functions if known
+
+2. **Expected Solution**
+ - Outline the desired implementation approach
+ - Include code examples or pseudo-code when relevant
+ - List specific acceptance criteria
+
+Example Description:
+
+```markdown
+Problem:
+The configuration system doesn't validate Prisma schema files before deployment,
+leading to potential runtime errors.
+
+Solution:
+Integrate PrismaLint into the configuration flow to:
+
+- Validate schema files during PR checks
+- Enforce consistent naming conventions
+- Prevent common Prisma anti-patterns
+
+Affected Components:
+
+- Configuration validation pipeline
+- CI/CD workflow
+- Schema validation logic
+
+Acceptance Criteria:
+
+- [ ] PrismaLint runs on all PR checks
+- [ ] Failed validations block merging
+- [ ] Clear error messages for schema issues
+```
+
+### Consistent Terminology
+
+Use consistent terminology between issues and pull requests:
+
+โ Good:
+
+- Use the same technical terms consistently
+- Reference components with their exact names
+- Maintain consistent naming patterns
+
+โ Poor:
+
+- Mixing different terms for the same component
+- Using vague or non-technical language
+- Inconsistent capitalization or formatting
+
+## Linking Issues Effectively
+
+### In Pull Requests
+
+1. **Direct References**
+
+ ```markdown
+ Fixes #123
+ Resolves organization/repo#456
+ Closes https://github.com/org/repo/issues/789
+ ```
+
+2. **Multiple Issues**
+
+ ```markdown
+ This PR addresses:
+
+ - Fixes #123
+ - Closes #456
+ - Resolves https://jira.company.com/browse/PROJ-789
+ ```
+
+### Cross-References
+
+For better traceability:
+
+1. Add PR references in issue comments
+2. Use complete URLs when linking external systems
+3. Maintain bidirectional links between related issues
+
+## How CodeRabbit Assesses Linked Issues
+
+CodeRabbit evaluates linked issues by:
+
+1. Analyzing issue titles and descriptions
+2. Comparing changes in the pull request
+3. Validating if requirements are met
+4. Providing an assessment with:
+ - โ : If the objective has been addressed in the PR. The 'Explanation' column will be left blank.
+ - โ: If the objective has not been addressed in the PR. Here a brief explanation is added to the 'Explanation' column.
+ - โ: If it is unclear whether the objective has been addressed. Here a brief explanation is added to the 'Explanation' column.
+
+:::note
+Only the issue title and description are considered in the assessment. Comments and discussion threads are not currently analyzed.
+:::
+
+## Tips for Better Assessments
+
+1. **Be Specific**
+
+ - Include clear, measurable objectives
+ - List specific technical requirements
+ - Reference affected code components
+
+2. **Provide Context**
+
+ - Explain why changes are needed
+ - Document current behavior
+ - Describe expected outcomes
+
+3. **Use Technical Details**
+
+ - Include file paths when known
+ - Reference specific functions or classes
+ - Mention relevant technologies
+
+4. **Keep It Focused**
+ - One main objective per issue
+ - Clear scope boundaries
+ - Specific acceptance criteria
+
+## Related Resources
+
+- [Add review instructions](/guides/review-instructions)
+- [Issue Chat](./issue-chat.md)
+- [Issue Creation](./issue-creation.md)
diff --git a/docs/guides/ondemand-reports.md b/docs/guides/ondemand-reports.md
index ae9bed7c..ee385622 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 on demand
description: CodeRabbit offers a way to generate on-demand reports using a simple API request
-sidebar_position: 6
---
```mdx-code-block
@@ -12,6 +10,14 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
```
+## Overview
+
+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).
+
+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
+
CodeRabbit offers a way to generate on-demand reports using the [CodeRabbit API](https://api.coderabbit.ai/api/swagger/).
You will need an API Key to access the CodeRabbit API and generate an on-demand report.
@@ -63,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/review-instructions.md b/docs/guides/review-instructions.md
index dfb8ff70..c44b862c 100644
--- a/docs/guides/review-instructions.md
+++ b/docs/guides/review-instructions.md
@@ -1,17 +1,15 @@
---
-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: 3
---
The guide explains how to add custom review instructions for the entire project.
Also, see the guide on how to [configure CodeRabbit](/getting-started/configure-coderabbit).
-### Path-based instructions {#path-based}
+## Path-based instructions {#path-based}
This section explains how to add custom code review instructions for the entire
project or specific file paths in your project using glob patterns. Developers
diff --git a/docs/guides/scheduled-reports.md b/docs/guides/scheduled-reports.md
new file mode 100644
index 00000000..34c59032
--- /dev/null
+++ b/docs/guides/scheduled-reports.md
@@ -0,0 +1,257 @@
+---
+title: Schedule reports
+description: Learn how to set up automated recurring reports with CodeRabbit Pro
+---
+
+```mdx-code-block
+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)
+2. Click **Create Report**
+3. Configure the following settings:
+
+### Schedule Configuration
+
+
+
+The schedule configuration allows you to set precise timing for your reports:
+
+#### Frequency Options
+
+- **Days of Week**
+
+ - Select any combination of days (Sun-Sat)
+ - Set frequency (every 1-3 weeks)
+ - Ideal for weekly team syncs or sprint reviews
+
+- **Days of Month**
+ - Select specific dates (1-31)
+ - Special date handling:
+ - 31st: Runs on the last day of every month
+ - 30th: Skips February
+ - 29th: Only runs in February during leap years
+
+#### Time Settings
+
+- Set specific time for report generation
+- Choose from comprehensive timezone list (e.g., America/New_York)
+- Reports run at the specified time in the selected timezone
+
+:::tip Timezone Consideration
+Choose a time that works for all team members, especially for distributed teams across different time zones.
+:::
+
+### Report Parameters
+
+Reports can be filtered using multiple parameters:
+
+- **Repositories**: Select specific repositories to monitor
+- **Labels**: Filter by GitHub labels with operators:
+ - IN: Match any selected label
+ - ALL: Match all selected labels
+- **Users**: Filter by specific GitHub users
+- **Teams**: Filter by organization teams
+ - Note: Team filtering is not available for GitLab repositories
+
+:::note Parameter Configuration
+Each parameter can be:
+
+- Added or removed as needed
+- Combined with other parameters for precise filtering
+- Modified using different operators
+ :::
+
+### Report Content
+
+Reports include comprehensive PR information:
+
+- PR metadata:
+ - Title and description
+ - Creation and last activity dates
+ - Status (merged, mergeable, draft)
+ - State (open, closed, merged)
+- Collaboration details:
+ - Labels and reviewers
+ - Comments and discussions
+ - Team associations
+- Repository context
+- Author information
+
+:::info Stale PR Detection
+PRs are marked as stale after 168 hours (7 days) of inactivity. This helps identify potential workflow bottlenecks.
+:::
+
+### Report Templates
+
+CodeRabbit offers several built-in templates:
+
+1. **Daily Standup Report**: A concise summary of pull requests and activities.
+2. **Sprint Report**: A structured overview of sprint goals, completed tasks, in-progress work, and blockers.
+3. **Release Notes**: A high-level changelog with summary and significant changes.
+4. **[Custom Templates](custom-reports.md)**: Create your own format using prompts. Allows for endless customization such as native language reporting (Japanese, Spanish, French, etc.), custom formatting, custom titles, and more.
+
+Example custom prompt:
+
+```text
+Please provide a summary of:
+- All pull request activities
+- Related issues and comments
+- Code review discussions
+- Quality gate status
+
+Do not include:
+- Bot conversations
+- Sequence diagrams
+```
+
+### Communication Channels
+
+Configure where your reports will be delivered:
+
+
+
+#### Email
+
+- Enter individual email addresses
+- Use distribution lists for team-wide delivery
+
+#### Slack/Discord
+
+1. Connect your workspace through OAuth
+2. Select target channels
+3. CodeRabbit bot will be installed automatically
+4. If installation fails check the [slack service](https://slack-status.com/) or [discord status](https://discordstatus.com/) page for any outages.
+
+#### Microsoft Teams
+
+1. Create a webhook in your Teams channel
+2. Add the webhook URL to CodeRabbit
+3. Select target channels
+
+:::tip
+Create separate reports if you need to send to multiple channels with different formats. Learn more about [custom report formats](./custom-reports.md).
+:::
+
+## Managing Reports
+
+
+
+### Preview Reports
+
+Test your configuration using the **Preview Report** button to generate a sample report instantly.
+
+### Grouping Options
+
+Reports can be organized hierarchically using groups and subgroups:
+
+#### Primary Grouping
+
+Select from these options to organize your main report structure:
+
+- **None**: No grouping, flat list of items
+- **Repository**: Group by source repository
+- **Label**: Group by PR labels
+- **Team**: Group by team ownership
+- **User**: Group by PR author
+
+#### Subgrouping
+
+After selecting a primary group, you can add a secondary level of organization:
+
+- Choose any remaining grouping option for further categorization
+- Subgroups create a nested hierarchy within primary groups
+- Select "None" to use only primary grouping
+
+:::tip
+Choose grouping options that match your team's workflow. For example:
+
+- Use Repository โ Team for large multi-team organizations
+- Use User โ Label to track individual contributions by type
+- Use Team โ Repository to monitor team activity across repos
+
+:::
+
+### Report Lifecycle Management
+
+Control your reports through their entire lifecycle:
+
+#### Editing Reports
+
+- Make your desired changes to any configuration settings
+- Click the **Save** button to apply your changes
+- Changes take effect from the next scheduled run
+
+:::tip
+Remember to click **Save** when you're done making changes. Your modifications will be discarded if you navigate away without saving.
+:::
+
+#### Disabling Reports
+
+- Toggle the **Active** switch to temporarily pause a report
+- Disabled reports:
+ - Maintain their configuration
+ - Skip scheduled runs
+ - Can be re-enabled at any time
+ - Show "Disabled" status in the dashboard
+
+#### Deleting Reports
+
+- Click the **Delete** button (trash icon) next to the report
+- Confirm deletion in the modal
+- Note: This action is permanent and cannot be undone
+- All report history and configuration will be removed
+
+:::warning
+Deleting a report will immediately stop all scheduled runs and remove access to historical reports. Consider disabling instead of deleting if you might need the report again.
+:::
+
+## Best Practices
+
+1. **Scheduling**
+
+ - Align report timing with your team's workflow
+ - Consider timezone differences for distributed teams
+
+2. **Content**
+
+ - Keep prompts focused on actionable information
+ - Use grouping to improve readability
+ - Exclude unnecessary details that may create noise
+
+3. **Distribution**
+ - Use channels your team actively monitors
+ - Consider creating separate reports for different audiences (e.g., management vs. development team)
+
+## Related Resources
+
+- [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/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..bfacd87b
--- /dev/null
+++ b/docs/guides/use-vscode.md
@@ -0,0 +1,109 @@
+---
+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 {#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.
+
+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).
+
+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).
+
+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:
+
+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 {#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}
+
+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 {#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.
+
+### 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.
+
+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 {#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 {#whats-next}
+
+- [Configure the VSCode extension](/guides/config-vscode)
+
+- [Uninstall the VSCode extension](/guides/uninstall-vscode)
diff --git a/docs/integrations/code-graph-analysis.md b/docs/integrations/code-graph-analysis.md
new file mode 100644
index 00000000..5958640a
--- /dev/null
+++ b/docs/integrations/code-graph-analysis.md
@@ -0,0 +1,64 @@
+---
+title: Analyze your code changes
+description: Learn about CodeRabbit's intelligent graph-based code analysis.
+---
+
+# CodeRabbit Code Graph Analysis
+
+## What is Code Graph Analysis?
+
+Code Graph Analysis is an intelligent code analysis feature that enhances your code reviews by automatically mapping relationships between files in your codebase. By
+understanding how your code connects and interacts, Code Graph provides concrete snippets of context that makes reviews more effective and insightful.
+
+## How Code Graph Analysis Enhances Your Reviews
+
+When reviewing code with CodeRabbit, Code Graph Analysis automatically:
+
+- **Maps symbol definitions and references** across your entire codebase
+- **Analyzes commit history** to identify files that frequently change together
+- **Builds relationship graphs** showing how different parts of your code connect
+- **Enriches reviews with contextual information** about related code
+
+Code Graph Analysis is also available in the CodeRabbit Chat. CodeRabbit Chat will automatically analyze your codebase with it when the agent deems it necessary.
+
+## Key Features
+
+### Three Types of Contextual Information
+
+Code Graph Analysis adds three powerful layers of context to your reviews:
+
+1. **Definition Files**: Files containing definitions that are referenced in the current code
+2. **Reference Files**: Files that reference symbols defined in the current code
+3. **Related Files**: Files that appear related based on usage patterns and commit history
+
+### Language Support
+
+Code Graph Analysis works with:
+
+- Bash
+- C
+- C#
+- C++
+- CSS
+- Elixir
+- Go
+- Java
+- JavaScript
+- Kotlin
+- Lua
+- PHP
+- Python
+- Ruby
+- Rust
+- Scala
+- Swift
+- TSX
+- TypeScript
+
+## Availability
+
+Code Graph Analysis is available on the Lite tier and above.
+
+---
+
+Learn more about CodeRabbit's advanced features at [coderabbit.ai](https://coderabbit.ai)
diff --git a/docs/integrations/issue-integrations.md b/docs/integrations/issue-integrations.md
new file mode 100644
index 00000000..0ad69f54
--- /dev/null
+++ b/docs/integrations/issue-integrations.md
@@ -0,0 +1,87 @@
+---
+title: Integrate issue tracking
+description: Learn about CodeRabbit's integrations with issue tracking systems like Jira and Linear.
+---
+
+CodeRabbit integrates with popular issue tracking systems to provide context from linked and related issues while reviewing code.
+
+## Jira {#jira}
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+### CodeRabbit App
+
+1. Navigate to [integrations][integrations] in the CodeRabbit app.
+2. Toggle the Jira switch to enable the integration.
+
+Upon enabling the Jira integration, CodeRabbit will redirect you to the Jira login page. Enter your Jira credentials to authenticate the integration.
+
+### CodeRabbit Configuration
+
+1. Add Jira's Project Keys to the `knowledge_base.jira.project_keys` field in your project's CodeRabbit configuration file at `.coderabbit.yaml`.
+
+### Example Usage
+
+You can link an issue to your pull request, allowing CodeRabbit to assess whether your changes satisfy the issue's requirements.
+
+To link a Jira Issue, you can add the Jira Issue into the PR description as shown below.
+
+```text
+// (Jira Project Key - Issue Number)
+Closes CR-5
+```
+
+You can also create new Jira issues directly through CodeRabbit. See our [Issue Creation guide](../guides/issue-creation.md#jira) for details.
+
+## Linear {#Linear}
+
+```mdx-code-block
+
+```
+
+With CodeRabbit, you can easily link your pull requests with Linear. It makes your life simpler by automatically creating Linear issues with all the code context, keeping your issues and pull requests in sync both ways. Plus, it lets you generate issues straight from pull requests, track how you're hitting your goals, and even turn code review feedback into actionable tasks in Linear.
+
+### CodeRabbit App
+
+1. Navigate to [integrations][integrations] in the CodeRabbit app.
+2. Toggle the Linear switch to enable the integration.
+
+Upon enabling the Linear integration, CodeRabbit will redirect you to the Linear login page. Enter your Linear credentials to authenticate the integration.
+
+### CodeRabbit Configuration
+
+1. Add Linear's Team Keys to the `knowledge_base.linear.team_keys` field in your project's CodeRabbit configuration file at `.coderabbit.yaml`.
+
+[integrations]: https://app.coderabbit.ai/integrations
+
+### Example Usage
+
+To link a Linear Issue, you can add the Linear Issue via the team key and issue number into the PR description as shown below.
+
+```text
+// (Linear Team Key - Issue Number)
+Closes ENG-123
+```
+
+You can also create new Linear issues directly through CodeRabbit. Learn more in our [Issue Creation guide](../guides/issue-creation.md#linear).
+
+## GitHub
+
+```mdx-code-block
+
+```
+
+GitHub issue integration works automatically without any additional setup required.
+
+### Example Usage
+
+To link a GitHub Issue, you can add the issue into the PR description as shown below.
+
+```text
+// (# GitHub Issue Number)
+Closes #123
+```
diff --git a/docs/integrations/knowledge-base.md b/docs/integrations/knowledge-base.md
index d4c52540..61ff141e 100644
--- a/docs/integrations/knowledge-base.md
+++ b/docs/integrations/knowledge-base.md
@@ -1,84 +1,24 @@
---
-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.
-## Issues
+## Issue Tracking Integration
-The issues knowledge base allows CodeRabbit to use the context from linked and related issues while reviewing the code.
-
-### Jira {#jira}
-
-```mdx-code-block
-import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
-
-
-```
-
-#### CodeRabbit App
-
-1. Navigate to [integrations][integrations] in the CodeRabbit app.
-2. Toggle the Jira switch to enable the integration.
-
-Upon enabling the Jira integration, CodeRabbit will redirect you to the Jira login page. Enter your Jira credentials to authenticate the integration.
-
-#### CodeRabbit Configuration
-
-1. Add Jira's Project Keys to the `knowledge_base.jira.project_keys` field in your project's CodeRabbit configuration file at `.coderabbit.yaml`.
-
-### Linear {#Linear}
-
-```mdx-code-block
-
-```
-
-#### CodeRabbit App
-
-1. Navigate to [integrations][integrations] in the CodeRabbit app.
-2. Toggle the Linear switch to enable the integration.
-
-Upon enabling the Linear integration, CodeRabbit will redirect you to the Linear login page. Enter your Linear credentials to authenticate the integration.
-
-#### CodeRabbit Configuration
-
-1. Add Linear's Team Keys to the `knowledge_base.linear.team_keys` field in your project's CodeRabbit configuration file at `.coderabbit.yaml`.
-
-[integrations]: https://app.coderabbit.ai/integrations
+CodeRabbit can integrate with your issue tracking systems to provide better context during code reviews. For details on setting up issue tracking integrations, see our [Issue Integrations](./issue-integrations.md) guide.
## Learnings {#learnings}
You can tell the bot to remember things about either specific lines in files, or generally about the entire repository, or even across repositories.
-For example you can add a comment in a PR to chat directly with CodeRabbit. `@coderabbitai always remember to enforce camelCase`.
+For example, you can add a comment in a PR to chat directly with CodeRabbit. `@coderabbitai always remember to enforce camelCase`.
Or you can comment directly on some lines of code in the PR. `@coderabbitai do not complain about lack of error handling here, it is handled higher up the execution stack.`
:::tip Video Tutorial
-Watch our [video walkthrough on learnings](https://www.youtube.com/watch?v=Yu0cmmOYA-U) for more information.
-:::
-
-## Self-hosted knowledge base {#self-hosted}
-
-For self-hosted / on-premises deployments, you can enable the knowledge base features by setting `SELF_HOSTED_KNOWLEDGE_BASE=true` in the environment variables for your self-hosted docker image.
-You must also be running ChromaDB. Use image `chromadb/chroma:0.5.20`. In your CodeRabbit docker image environment variables, set `CHROMADB_URL` to point to the hostname where ChromaDB can be reached. For persistance of your ChromaDB data, mount `/chroma/chroma` in the container to a volume mount. For more information on ChromaDB docker deployment, including how to set up authentication, refer to the [official documentation](https://docs.trychroma.com/deployment/docker). CodeRabbit will use `CHROMA_CLIENT_AUTH_CREDENTIALS` if it is set.
-
-By default, CodeRabbit will store its data in the `coderabbitai/data` branch, unless you set a value for `SELF_HOSTED_KNOWLEDGE_BASE_BRANCH=`.
-
-### Walkthrough
-
-- Set up a ChromaDB service on your cloud provider of choice. There is extensive documentation for generic Docker deploys, as well as cloud native deployments, in the [official Chroma documentation](https://docs.trychroma.com/deployment)
-- Configure your environment variables for your CodeRabbit self-hosted deploy to be able to access Chroma. Documentation is available for [GitHub](/self-hosted/github#prepare-an-env-file).
-- Restart your CodeRabbit service so it has access to the new environment variable settings.
-- Create a new PR in your SCM platform.
-- Add a comment to the PR to tell CodeRabbit to remember something.
-
-`@coderabbitai always make sure to enforce camelCase`
+Watch our [video walkthrough on learnings](https://www.youtube.com/watch?v=Yu0cmmOYA-U) for more information.
-- CodeRabbit should respond that it has added a learning.
-- Check out the branch called `coderabbit/data` in the repository (or whatever branch name you have set for `SELF_HOSTED_KNOWLEDGE_BASE_BRANCH`). It should contain a file called learnings.json with an entry containing what you told it to remember.
-- Future PRs should utilize the contents of this learnings file. Congratulations! You have configured the CodeRabbit Self-hosted knowledge base.
+:::
diff --git a/docs/overview/introduction.md b/docs/overview/introduction.md
index 6f2e2e5b..f937ac67 100644
--- a/docs/overview/introduction.md
+++ b/docs/overview/introduction.md
@@ -9,56 +9,101 @@ 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.
-
+## 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.
-:::
+### Git platform integration
-
+CodeRabbit integrates in just a few clicks with many popular Git platforms:
+
+- GitHub, GitHub Enterprise Cloud, GitHub Enterprise Server,
+- GitLab, GitLab Self-Managed
+- Azure DevOps
+- Bitbucket Cloud
+
+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
+
+For more information, see [Issue Creation](/guides/issue-creation) and [Issue Chat](/guides/issue-chat).
+
+## Data privacy and security
+
+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 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.
+
+For more information about how we protect your data, see [the CodeRabbit Trust Center](https://trust.coderabbit.ai).
+
+## 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.
+
+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/docs/overview/why-coderabbit.md b/docs/overview/why-coderabbit.md
index ccad9f89..f04e347d 100644
--- a/docs/overview/why-coderabbit.md
+++ b/docs/overview/why-coderabbit.md
@@ -6,63 +6,435 @@ sidebar_position: 2
description: CodeRabbit is AI-powered code reviews built for modern development teams
---
-As developers, we understand the critical value of code reviews - they're the backbone of maintaining code quality and knowledge sharing across teams. But let's be honest about the growing challenges: as codebases expand and development velocity increases, traditional code reviews often become a bottleneck. This is where CodeRabbit comes in, not to replace human reviewers, but to make their work more impactful and helpful.
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
-### Deep Understanding, Immediate Insights
+# Why CodeRabbit?
-Think about how you approach reviewing a complex pull request. You first try to understand the context, examine potential edge cases, and consider architectural implications. CodeRabbit performs this same thoughtful analysis, but delivers insights within minutes of PR submission.
+Looking back at CodeRabbit's journey, our fundamental reasons remain unchanged:
-For example, when examining a change to your authentication system, CodeRabbit doesn't just flag syntax issues - it analyzes the entire authentication flow, identifying potential security vulnerabilities in token handling or session management specific to your implementation:
+- **To build the best code review experience in the tech**
+
+> This continues to be our core mission. It was clear to us then, as it is now, that development workflows are becoming increasingly complex โ and teams need intelligent automation to maintain quality while moving fast.
+
+- **In an ever-evolving tech space, we believe AI-powered code review is the future**
+
+> Just like Git revolutionized version control and CI/CD transformed deployments, we believe AI-assisted code review will become the standard for quality assurance.
+
+- **An insight that modern code review can be reimagined**
+
+We call this approach _contextual analysis_, which allows us to understand not just the code changes, but their implications across your entire codebase. This enables us to provide insights about:
+
+- Security vulnerabilities
+- Performance impacts
+- Architectural changes
+- Best practices
+- Knowledge sharing
+
+- **The conviction that our AI can provide a better Developer Experience (DevX)**
+
+Features such as:
+
+- Instant analysis
+- On-demand Reports
+- Review Instructions
+- CodeRabbit Commands
+- PR summary on the fly
+- Visual diagrams
+- Docstrings generation
+- Custom review rules
+
+> All these features improve the developer experience by reducing review time, maintaining consistency, and sharing knowledge effectively across teams.
+
+These are CodeRabbit's foundational principles, but given the many _code review tools_ available today, let's explore why **you** should choose CodeRabbit:
+
+---
+
+# CodeRabbit is AI-Powered
+
+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?free-trial), join the [Discord server](https://discord.gg/coderabbit), and start the journey with us.
+:::
+
+## CodeRabbit is Context-Aware
+
+An AI architecture built for understanding, reliability, and efficiency
+
+
+
+
+
+
Intelligent Features
+
+
+
+
Instant code understanding
+
Security vulnerability detection
+
Performance impact assessment
+
Architecture evaluation
+
+
+
+
+
+
+
+
Context Analysis
+
+
+ Understanding context means analyzing how code changes affect the entire system, not just the modified files. This approach contrasts with traditional code review tools that only look at direct changes.
+
+
+
+

-### Intelligence Through Integration
+:::tip DID YOU KNOW?
+CodeRabbit's AI can detect potential issues that would only surface in production, saving costly debugging time later.
+:::
+
+## CodeRabbit is Adaptive
+
+Let the AI learn and grow with your team.
+
+Being an adaptive system means that CodeRabbit continuously learns from your team's practices and preferences without requiring manual configuration or rule setting. When reviewers accept or reject suggestions, CodeRabbit learns and applies these preferences to future reviews.
+
+### Real-World Example: Performance Optimization
-CodeRabbit combines the specialized insights of over 20 analysis tools (ESLint, Semgrep, Checkov, and more) with AI understanding to provide meaningful, actionable feedback. But instead of drowning you in alerts, it provides curated, context-aware suggestions.
+Here's a real example of how CodeRabbit identifies opportunities for performance improvement:
-### Learning Your Team's DNA
+
+
+ ```typescript
+ const createdTools = await Promise.all(
+ tools.map(async (tool) => {
+ return prisma.tool.create({
+ data: {
+ name: tool.name,
+ description: tool.description,
+ headline: tool.headline,
+ features: tool.features,
+ logo: tool.name,
+ categories: tool.categories || [],
+ tags: tool.tags || [],
+ stars: tool.stars || 0,
+ forks: tool.forks || 0,
+ lastUpdated: new Date(),
+ websiteUrl: tool.websiteUrl,
+ githubUrl: tool?.githubUrl,
+ documentation: tool?.documentation
+ },
+ });
+ })
+ );
+ ```
+
+
+ ```typescript
+ const createdTools = await prisma.tool.createMany({
+ data: tools.map((tool) => ({
+ name: tool.name,
+ description: tool.description,
+ headline: tool.headline,
+ features: tool.features,
+ logo: tool.name,
+ categories: tool.categories || [],
+ tags: tool.tags || [],
+ stars: tool.stars || 0,
+ forks: tool.forks || 0,
+ lastUpdated: new Date(),
+ websiteUrl: tool.websiteUrl,
+ githubUrl: tool?.githubUrl,
+ documentation: tool?.documentation
+ }))
+ });
+ ```
+
+
-What makes CodeRabbit truly valuable is its ability to learn and adapt to your team's codebase, practices, and standards. It doesn't just pattern match - it builds a deep understanding through direct interactions with your team. For example, when a reviewer indicates a preference:
+:::note CodeRabbit's Analysis
+The current implementation processes each tool creation sequentially. Consider using Prisma's `createMany` for better performance. This batch operation can significantly reduce database round trips and improve overall execution time.
+
+

-CodeRabbit will then:
+:::tip Learning from Feedback
+When you accept or reject these suggestions, CodeRabbit learns your team's preferences and adjusts future recommendations accordingly. This ensures that suggestions become increasingly relevant to your specific needs and coding standards.
+:::
+
+## CodeRabbit is Integrated
+
+Seamless integration with your existing workflow.
+
+CodeRabbit combines insights from multiple specialized tools into a single, coherent review:
+
+
+
+
+
+
Security
+
+
+ Semgrep, Checkov
+
+
+
+
+
+
+
Style
+
+
+ ESLint, Prettier
+
+
+
+
+
+
+
Performance
+
+
+ Lighthouse
+
+
+
+
+
+
+
Dependencies
+
+
+ Dependabot
+
+
+
+
+
+But instead of flooding you with alerts, CodeRabbit provides curated, actionable feedback.
+
+## Tool Comparison
-- Remember this preference for future reviews
-- Apply this knowledge across the entire codebase
-- Share this learning with the whole team through its review comments
-- Maintain consistency with your established standards
+
+
+- โ Most comprehensive and detailed code analysis
+- โ Committable Suggestion
+- โ Context-aware feedback
+- โ Adaptive learning
+- โ Strong data protection policies
+- โ Chat capabilities with detailed explanations
+
+
+- โ Provides basic data protection
+- โ Conflicting suggestions
+- โ No context awareness
+- โ No detailed analysis
+- โ Least transparent privacy
+- โ Limited chat interaction
+- โ Lacks actionable code suggestions
+
+
-### Practical Impact on Your Workflow
+## Impact on Your Workflow
-When a developer opens a pull request, CodeRabbit:
+When a developer opens a pull request, CodeRabbit comes into action:
+
+
+
+
+
+
Immediate Analysis
+
+
+
+
Scans changed files and dependencies
+
Identifies security vulnerabilities
+
Evaluates performance impact
+
Checks architectural consistency
+
+
+
+
+
+
+
+
Communication
+
+
+
+
Generates concise summary
+
Creates visual diagrams
+
Generates a changelist and walkthrough
+
Chat option
+
+
+
+
+
+
+
+
Continuous Learning
+
+
+
+
Remembers team preferences
+
Adapts to coding patterns
+
Shares knowledge across teams
+
Maintains consistent standards
+
+
+
+
+
+
+:::note ENTERPRISE READY
+CodeRabbit is built for production environments with:
+
+- SOC 2 Type II certification
+- GDPR compliance
+- Zero data retention
+- Self-hosted options
+ :::
+
+## Start Reviewing Code in Seconds
+
+> CodeRabbit makes it effortless to begin AI-powered code reviews. Our architecture enables instant setup and immediate code analysis, providing you with intelligent feedback within minutes.
+
+### Three Steps to Better Code Reviews
+
+1. **Sign in** with [GitHub](../platforms/github-com.md), [GitLab](../platforms/gitlab-com.mdx), or [Azure DevOps](../platforms/azure-devops.md)
+2. Select and add repositories in CodeRabbit dashboard
+3. That's it. You're good to go.
+
+:::tip INSTANT ACTIVATION
+CodeRabbit starts analyzing your first pull request immediately - no complex configuration needed.
+:::
+
+### What You'll Get
+
+
-- Analyzes changes across the entire codebase context
-- Generates a clear, actionable summary
-- Creates visual sequence diagrams for complex changes
-- Provides specific feedback and suggestions
+### Quick Configuration Examples
-This means human reviewers can focus on architectural decisions and knowledge sharing, rather than catching basic issues.
+
+
+ ```bash
+ # Example GitHub Reviews
+ https://github.com/appsmithorg/appsmith/pull/38270
+ https://github.com/tyaga001/devtoolsacademy/pull/44
+ https://github.com/openreplay/openreplay/pull/1858
-### Built for Production Teams
+ # Browse All Reviews
+ https://github.com/search?q=coderabbitai&type=pullrequests
+ ```
-For teams building production software, CodeRabbit provides:
+
+
-- SOC 2 Type II and GDPR compliance for enterprise security requirements
-- Self-hosted deployment options for complete control
-- Zero data retention policy - code is analyzed in memory and immediately discarded
+:::note SUPPORT AT EVERY STEP
+Need help? read [quickstart](/getting-started/quickstart) or ask a question in [Discord community](https://discord.gg/coderabbit), and team is here to help.
+:::
-Want to see the impact yourself? Try CodeRabbit on your next complex refactoring PR - you might be surprised at the subtle implications it catches that could easily be missed in manual review.
+## See the Difference
-## Not convinced? Read more
+Try CodeRabbit on your next pull request. Experience how AI-powered code review can:
-You can read more about our custom [code review instructions](/guides/review-instructions) or how we verify issues using [knowledge bases](/integrations/knowledge-base) like Linear and Jira.
+- Reduce review time by up to 90%
+- Catch bugs before they reach production
+- Share knowledge across your team
+- Maintain consistent code quality
-Join thousands of developers who are already benefiting from AI-powered code reviews.
+> 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.
-After signing up, join our active Discord community where you'll find CodeRabbit users and team members ready to help you get the most out of your code reviews.
+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/azure-devops.md b/docs/platforms/azure-devops.md
index 7accacc6..12b70765 100644
--- a/docs/platforms/azure-devops.md
+++ b/docs/platforms/azure-devops.md
@@ -70,7 +70,7 @@ you will need to add the Personal Access Token.
management.
- **Use the CodeRabbit logo as the profile picture** - This further ensures easy
recognition. You can download our logo from
- [here](/img/integrations/logo.svg "download").
+ [here](/img/integrations/logo.png "download").
### Key Points to Remember
@@ -95,7 +95,8 @@ Follow these steps to generate the token:
accessible organizations."
6. Enter a name and an expiry date for the token.
7. We need to have read & write access to "Work Items" & "Code" to post reviews
- on pull requests.
+ on pull requests. If you are on the Pro tier also add "Build" access for pipeline
+ failure remediation.
8. Click "Create"

diff --git a/docs/platforms/bitbucket-cloud.md b/docs/platforms/bitbucket-cloud.md
new file mode 100644
index 00000000..286321d5
--- /dev/null
+++ b/docs/platforms/bitbucket-cloud.md
@@ -0,0 +1,130 @@
+---
+title: "Bitbucket Cloud"
+description: "Learn how to integrate CodeRabbit with Bitbucket Cloud."
+sidebar_label: "Bitbucket Cloud"
+sidebar_position: 6
+---
+
+CodeRabbit integrates with Bitbucket Cloud to enhance code review and collaboration by:
+
+- Automatically initiating code reviews for newly created merge requests.
+- Displaying review comments and suggestions directly on merge requests.
+- Enabling seamless interaction with the CodeRabbit bot for real-time feedback and assistance.
+
+This guide will assist you in effectively integrating CodeRabbit with Bitbucket Cloud.
+
+## Configure App Password
+
+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. 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.
+
+
+
+
+
+:::note
+
+If you wish to change the review user, you must provide the app password for the new user who will post reviews and comments. However, this requires manually removing the previous user from the projects and associated webhooks. Once this is done, you will need to reinstall the CodeRabbit app for each project.
+
+:::
+
+### Recommendations
+
+- **Create a dedicated user for CodeRabbit** - This ensures the user is exclusively for CodeRabbit, allowing better access control.
+- **Use "CodeRabbit" as the username** - This makes the user easily recognizable for future reference.
+- **Use a dedicated email address** - This helps in easy identification and management.
+- **Use the CodeRabbit logo as the profile picture** - This further ensures easy recognition. You can download our logo from [here](/img/integrations/logo.svg "download").
+- **Developer Access** Ensure the service account user has developer access to the projects that you wish to install CodeRabbit on.
+
+#### Key Points to Remember
+
+- Code reviews will be attributed to the owner of the app password.
+
+#### Generating an App password
+
+Bitbucket provides an option to generate an app password for a new user. Follow these steps to generate the password:
+
+1. Log in using the user designated for CodeRabbit reviews. This user serves as a service account for managing reviews and related activities.
+2. Go to "Personal Bitbucket Settings".
+3. Choose **App passwords**.
+4. Click **Create app password**.
+5. Enter a label easily recognizable for this app passwords usage.
+6. Ensure the following scopes are selected:
+ 1. Account - Read
+ 2. Issues - Write
+ 3. Workspace membership - Read
+ 4. Projects - Write
+ 5. Repositories - Write
+ 6. Pull requests - Write
+ 7. Webhooks - Read and write
+ 8. Pipelines - Read
+ 9. Runners - Read
+7. Click **Create**
+8. Note down the app password as it will only be displayed once.
+
+
+
+
+
+
+
+
+### Where to Provide CodeRabbit the App Password
+
+By default, if no app password is provided, CodeRabbit will prompt you to provide one during the installation process. However, if you wish to provide the token beforehand, you can do so by navigating to the **Organization Settings** tab, and selecting the **Bitbucket User** tab on the sidebar. Once entering the app password, the password will be validated and saved for future use.
+
+You can confirm the correct user is being selected by verifying the user ID shown on the UI with the user ID of the service account user you created.
+
+---
+
+### Installing CodeRabbit into your Bitbucket Repositories
+
+1. Go to the [Repositories page](https://app.coderabbit.ai/settings/repositories) in the CodeRabbit app.
+2. Select the checkbox next to the repositories where you want to install CodeRabbit. To install it on all repositories at once, select the checkbox at the top.
+3. Select **Install Repositories**.
+
+
+
+
+
+The webhook `https://coderabbit.ai/bitbucketHandler` will now be installed for the projects selected.
+
+
+
+
+
+### Troubleshooting
+
+:::note
+
+If you are experiencing issues with the webhook, such as CodeRabbit not being able to access the repository, or not reviewing pull requests, you can manually delete the webhook to the repository.
+
+Then refresh the repository page in the CodeRabbit app and you can reinstall the webhook.
+
+If you cannot install the webhook please check that your Bitbucket user has the necessary permissions to install the webhook and the App Password is properly configured.
+
+:::
diff --git a/docs/platforms/github-com.md b/docs/platforms/github-com.md
index b368ce74..60d919d7 100644
--- a/docs/platforms/github-com.md
+++ b/docs/platforms/github-com.md
@@ -7,7 +7,7 @@ sidebar_position: 1
This is a step-by-step guide to integrate CodeRabbit with your GitHub repositories.
-> **CodeRabbit** is an AI code reviewer designed to ease the challenges of code review, supporting repository maintainers and teams. It not only reviews your PRs but also provides concise summaries, identifies potential issues, and offers insights that might be missed during manual reviews.
+> **CodeRabbit** is an AI code reviewer designed to ease the challenges of code review, supporting repository maintainers and teams. It reviews your PRs and provides concise summaries, identifies potential issues, and offers insights that might be missed during manual reviews.
## How CodeRabbit Works?
@@ -21,13 +21,13 @@ It preprocesses the PR content, builds context, leverages Large Language Models
### 1. Accessing CodeRabbit
-Visit the [Code Rabbit login](https://app.coderabbit.ai/login?free-trial) page. You'll see all the authentication options, select "**Login with GitHub**" to proceed.
+Visit the [CodeRabbit login](https://app.coderabbit.ai/login?free-trial) page. You'll see all the authentication options, select "**Login with GitHub**" to proceed.

### 2. Authorization
-When you choose **Login with GitHub** in step1 , you'll be prompted to authorize CodeRabbit.
+When you choose **Login with GitHub** in step1, you'll be prompted to authorize CodeRabbit.
> This step grants the necessary permissions for CodeRabbit to interact with your repositories and pull requests.
@@ -53,15 +53,17 @@ 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.
+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.
:::note
-If a coderabbit.yaml file exists in your GitHub repository, it takes precedence over any UI settings. Choose either the YAML file or UI configuration - you don't need to use both. **Refer Coderabbit.yaml schema [here](https://storage.googleapis.com/coderabbit_public_assets/schema.v2.json)**
+
+If a `.coderabbit.yaml` file exists in your GitHub repository, it takes precedence over any UI settings. Choose either the YAML file or UI configuration - you don't need to use both. **Refer CodeRabbit YAML schema [here](https://storage.googleapis.com/coderabbit_public_assets/schema.v2.json)**
+
:::
-Once your coderabbit.yaml file is prepared according to your needs, simply place it in your GitHub repository, and you're all setโCodeRabbit is now integrated.
+Once your `.coderabbit.yaml` file is prepared according to your needs, simply place it in your GitHub repository, and you're all set โ CodeRabbit is now integrated.
> When a pull request is created targeting the master branch, CodeRabbit automatically initiates its review process. It analyzes the changes and generates a summary and walkthrough of the modifications. The specific feedback and analysis provided by CodeRabbit are determined by the options you've configured in your YAML file.
@@ -89,7 +91,7 @@ The sequence diagram illustrates the precise flow of interactions between the ob

-Also check out the response when i asked for what improvements can be done on the code level
+Also, check out the response when asked for what improvements can be done on the code level.

@@ -97,7 +99,7 @@ In addition to providing reviews and summaries, **CodeRabbit** can also detect c
> For example, I accidentally set up both CodeRabbit Pro (The process we've been discussing) and the open-source version (Refer to [different config process](https://github.com/coderabbitai/ai-pr-reviewer?tab=readme-ov-file#install-instructions)) in my repository at the same time.
-Interestingly, CodeRabbit automatically detects and alerts you about configuration conflicts.
+CodeRabbit automatically detects and alerts you about configuration conflicts.

@@ -107,7 +109,7 @@ CodeRabbit generates detailed statistics and test plans for each pull request.

-> 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/docs/platforms/github-enterprise-server.md b/docs/platforms/github-enterprise-server.md
index cb0e8084..733607cb 100644
--- a/docs/platforms/github-enterprise-server.md
+++ b/docs/platforms/github-enterprise-server.md
@@ -75,8 +75,7 @@ steps below to
[create a GitHub App](https://docs.github.com/en/enterprise-server@latest/apps/creating-github-apps/registering-a-github-app/registering-a-github-app):
1. Sign in to your GitHub Enterprise account.
-2. In the upper-right corner of any page, click your profile photo, then click
- **Settings**.
+2. In the upper-right corner of any page, click your profile photo, then click **Settings**.
3. In the left sidebar, click **Developer settings** > **GitHub Apps**
4. Click **New GitHub App**.
5. Set the following fields:
@@ -90,8 +89,10 @@ steps below to
- **Webhook secret**: Use a secure string and keep it handy.
- **Permissions**:
- **Repository permissions**:
+ - **Actions**: Read-only
- **Checks**: Read-only
- **Contents**: Read and write
+ - **Commit statuses**: Read and write
- **Discussions**: Read-only
- **Issues**: Read and write
- **Metadata**: Read-only
@@ -110,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**
@@ -129,6 +131,8 @@ Keep the following details handy:

+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
### **Step 4: CodeRabbit UI Onboarding**
Submit the details that were accumulated in previous steps:
@@ -166,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/gitlab-com.md b/docs/platforms/gitlab-com.md
deleted file mode 100644
index ebff5ce4..00000000
--- a/docs/platforms/gitlab-com.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-title: Integrating CodeRabbit with GitLab.com
-description: Learn how to integrate CodeRabbit and add to your GitLab workflow.
-sidebar_label: GitLab.com
-sidebar_position: 2
----
-
-This guide will assist you in effectively integrating CodeRabbit with SaaS GitLab.
-
-## How it works
-
-For the CodeRabbit app to post reviews on merge requests, it needs to interact with the GitLab API, which requires a Personal Access Token. This token can be generated either by using our default CodeRabbit user or by creating a Personal Access Token from one of your existing users.
-
-The CodeRabbit default user, named "coderabbitai", is already set up in GitLab SaaS and will be added to your project when you install the CodeRabbit app. During installation, the necessary webhook for the project will also be created.
-
-If your organization prefers to use an organization user, you can create a new user in GitLab and generate a Personal Access Token for that user, following [our recommendations](#recommendations).
-
-:::note
-
-Keep in mind that if you want to change the review user, you can either disable the organization user or add a new user via the CodeRabbit UI. However, this will require manually removing the previous user from the projects and associated webhooks. Afterward, you will need to reinstall the CodeRabbit app for each project.
-
-:::
-
-## GitLab Access Tokens
-
-To interact with the GitLab API, a **Personal Access Token** is required. This token can either be generated by using our default CodeRabbit user or by creating a **Personal Access Token** from one of your existing users.
-
-Upon first login to the application (immediately after the onboarding screen), you will need to choose based on your organization's requirements.
-
-
-
-**We recommend using the default CodeRabbit user** for most organizations, as it is pre-configured. However, we understand that some organizations may prefer more control over the user or have restrictions regarding user inclusion within their organization.
-
-### Personal Access Tokens
-
-If your organization opts to use another user within the organization, you can do so by [generating a personal access token](#generating-a-personal-access-token).
-
-
-
-#### Recommendations
-
-- **Create a dedicated user for CodeRabbit** - This ensures the user is exclusively for CodeRabbit, allowing better access control.
-- **Use "CodeRabbit" as the username** - This makes the user easily recognizable for future reference.
-- **Use a dedicated email address** - This helps in easy identification and management.
-- **Use the CodeRabbit logo as the profile picture** - This further ensures easy recognition. You can download our logo from [here](/img/integrations/logo.svg "download").
-
-#### Key Points to Remember
-
-- Personal access tokens have expiration dates. Ensure the expiration date covers the duration of your intended use of the CodeRabbit app.
-- Code reviews will be attributed to the owner of the personal access token.
-- If the personal access token expires, you can add a new one via the CodeRabbit UI:
- - Navigate to the "GitLab User" page in the sidebar.
- - Click the "Update" button on the displayed card to see the same modal as the initial login.
-
-### Generating a Personal Access Token
-
-GitLab provides an option to generate a personal access token for a new user. Follow these steps to generate the token:
-
-1. Log in as the user intended for CodeRabbit reviews.
-2. Select your avatar on the left sidebar.
-3. Choose "Edit Profile."
-4. Select "Access Tokens" from the left sidebar.
-5. Click "Add New Token."
-6. Enter a name and an expiry date for the token.
-7. If no expiry date is entered, it defaults to 365 days from the current date.
-8. Ensure the following scopes are selected: `api`, `read_api`, `read_user`.
-9. Click "Create Personal Access Token."
-10. Note down the token as it will only be displayed once.
-
-
diff --git a/docs/platforms/gitlab-com.mdx b/docs/platforms/gitlab-com.mdx
new file mode 100644
index 00000000..c276cd35
--- /dev/null
+++ b/docs/platforms/gitlab-com.mdx
@@ -0,0 +1,154 @@
+---
+title: Integrating CodeRabbit with GitLab.com
+description: Learn how to integrate CodeRabbit and add to your GitLab workflow.
+sidebar_label: GitLab.com
+sidebar_position: 2
+---
+
+CodeRabbit integrates with GitLab to enhance code review and collaboration by:
+
+- Automatically initiating code reviews for newly created merge requests.
+- Displaying review comments and suggestions directly on merge requests.
+- Enabling seamless interaction with the CodeRabbit bot for real-time feedback and assistance.
+
+This guide will assist you in effectively integrating CodeRabbit with SaaS GitLab.
+
+## GitLab Access Tokens
+
+To enable CodeRabbit to interact with your GitLab repositories, an access token is required. This token grants the necessary permissions for interacting with the Merge Requests and Discussions APIs.
+
+ 1. Personal Access Token (PAT): You can create a new GitLab account specifically for CodeRabbit, name it โCodeRabbitโ and treat it as a service account. Then generate a PAT from it where PAT will enable seamless integration between CodeRabbit and your GitLab repositories.
+ 2. Group Access Token: If your organization uses GitLab Premium or Ultimate, you can generate a Group Access Token. This option automatically creates a bot user associated with the group for managing access and posting reviews.
+
+### Personal Access Token
+
+We recommend creating a new user as a service account, associating this user to the group you'd like to install CodeRabbit on, and providing CodeRabbit with the personal access token to allow access. During the installation process, CodeRabbit will automatically configure the required webhook for seamless integration.
+
+
+
+
+
+:::note
+
+If you wish to change the review user, you must provide the access token for the new user who will post reviews and comments. However, this requires manually removing the previous user from the projects and associated webhooks. Once this is done, you will need to reinstall the CodeRabbit app for each project.
+
+:::
+
+
+
+
+
+#### Recommendations
+
+- **Create a dedicated user for CodeRabbit** - This ensures the user is exclusively for CodeRabbit, allowing better access control.
+- **Use "CodeRabbit" as the username** - This makes the user easily recognizable for future reference.
+- **Use a dedicated email address** - This helps in easy identification and management.
+- **Use the CodeRabbit logo as the profile picture** - This further ensures easy recognition. You can download our logo from [here](/img/integrations/logo.svg "download").
+- **Ensure Developer Access** - Ensure the dedicated user has (at least) **Developer** access to the group or projects that you wish to install CodeRabbit on.
+
+#### Key Points to Remember
+
+- Personal access tokens have expiration dates. Ensure the expiration date **covers the duration** of your intended use of CodeRabbit.
+- Code reviews will be attributed to the owner of the personal access token.
+- If the personal access token expires, you can add a new one via the CodeRabbit UI:
+ - Navigate to the **GitLab User** page in the sidebar.
+ - Enter the new Access token, and click the **Update** button on the page.
+
+#### Generating a Personal Access Token
+
+GitLab provides an option to generate a personal access token for a new user. Follow these steps to generate the token:
+
+1. Log in using the user designated for CodeRabbit reviews. This user serves as a service account for managing reviews and related activities.
+2. Select your avatar on the left sidebar.
+3. Choose **Edit Profile**.
+4. Select **Access Tokens** from the left sidebar.
+5. Click [Add New Token.](https://gitlab.com/-/user_settings/personal_access_tokens)
+6. Enter a name and an expiry date for the token.
+7. If no expiry date is entered, it defaults to 365 days from the current date.
+8. Ensure the following scopes are selected: `api`, `read_api`, `read_user`.
+9. Click **Create Personal Access Token**
+10. Note down the token as it will only be displayed once.
+
+
+
+
+
+---
+
+### Group Access Token
+
+Creating a Group Access Token in GitLab automatically generates a bot user. Ensure that the token is configured with Developer access. Once set up, you only need to provide this token for integration. Note that a Group Access Token is limited to the scope of the group where it was created. To configure additional groups, you will need to generate a separate Group Access Token for each group.
+
+:::note
+
+By default, GitLab restricts this option to users on the Premium or Ultimate tiers.
+
+:::
+
+#### Generating a Group Access Token
+
+1. Navigate to the group you wish to install CodeRabbit on.
+2. Select **Settings** from the left sidebar.
+3. Select **Access Tokens** within the Settings heading.
+4. Create a Group Access Token.
+5. Ensure the following scopes are selected: `api`.
+6. Ensure Developer Access is provided.
+
+---
+
+### Where to Provide CodeRabbit the Access Token
+
+By default, if no access token is provided, CodeRabbit will prompt you to provide one during the installation process. However, if you wish to provide the token beforehand, you can do so by navigating to the **Organization Settings** tab, and selecting the **GitLab User** tab on the sidebar. Once entering the token, the token will be validated and saved for future use.
+
+You can confirm the correct user is being selected by verifying the user ID shown on the UI with the user ID of the service account user you created.
+
+---
+
+### Installing CodeRabbit into your GitLab Repositories
+
+1. Go to the [Repositories page](https://app.coderabbit.ai/settings/repositories) in the CodeRabbit app.
+2. Select the checkbox next to the repositories where you want to install CodeRabbit. To install it on all repositories at once, select the checkbox at the top.
+3. Select **Install Repositories**.
+
+
+
+
+
+The webhook `https://coderabbit.ai/gitlabHandler` will now be installed for the projects selected.
+
+
+
+
+
+### Troubleshooting
+
+:::note
+
+If you are experiencing issues with the webhook, such as coderabbit not being able to access the repository, or not reviewing pull requests, you can manually delete the webhook to the repository.
+
+Then refresh the repository page in the CodeRabbit app and you can reinstall the webhook.
+
+If you cannot install the webhook please check that your GitLab user has the necessary permissions to install the webhook and the PAT is not expired.
+
+:::
diff --git a/docs/platforms/platforms.md b/docs/platforms/platforms.md
index ab0cc068..d4cb1748 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:
@@ -13,28 +11,25 @@ CodeRabbit supports various Git platforms to provide code review for your reposi
| ------------------------ | ---------------------------------------- |
| GitHub.com | [Supported](github-com.md) |
| GitHub Enterprise Server | [Supported](github-enterprise-server.md) |
-| GitHub Self Hosted | [Supported](../self-hosted/github.md) |
## GitLab
-| Host | Support |
-| ------------------- | ------------------------------------- |
-| GitLab.com | [Supported](gitlab-com.md) |
-| GitLab Self Managed | [Supported](self-hosted-gitlab.md) |
-| GitLab Self Hosted | [Supported](../self-hosted/gitlab.md) |
+| Host | Support |
+| ------------------- | ---------------------------------- |
+| GitLab.com | [Supported](gitlab-com.mdx) |
+| GitLab Self Managed | [Supported](self-hosted-gitlab.md) |
## Azure DevOps
-| Host | Support |
-| ------------------- | ------------------------------------------- |
-| Azure DevOps | [Supported](azure-devops.md) |
-| Azure DevOps Server | [Supported](../self-hosted/azure-devops.md) |
+| Host | Support |
+| ------------ | ---------------------------- |
+| Azure DevOps | [Supported](azure-devops.md) |
## Bitbucket
| Host | Support |
| -------------------- | ---------------------------------------- |
| Bitbucket Datacenter | [Supported](../self-hosted/bitbucket.md) |
-| Bitbucket Cloud | Coming soon |
+| 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 4ef7623c..3fa18a71 100644
--- a/docs/platforms/self-hosted-gitlab.md
+++ b/docs/platforms/self-hosted-gitlab.md
@@ -71,6 +71,8 @@ After the user is created, you can retrieve the **User ID** from that user's
profile and generate an [**access token**](#generating-personal-access-token).
The access token is used to post reviews on merge requests.
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
#### **Creating OAuth2 application**
For self-managed GitLab, we recommend creating an instance-wide application
@@ -120,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/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/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/_category_.yaml b/docs/self-hosted/_category_.yaml
index 1025807f..84f0b578 100644
--- a/docs/self-hosted/_category_.yaml
+++ b/docs/self-hosted/_category_.yaml
@@ -1,4 +1,4 @@
-label: Self-Hosted
+label: Self-Hosted CodeRabbit
position: 4
collapsible: true
collapsed: false
diff --git a/docs/self-hosted/azure-devops.md b/docs/self-hosted/azure-devops.md
index e56f937c..f1a820a3 100644
--- a/docs/self-hosted/azure-devops.md
+++ b/docs/self-hosted/azure-devops.md
@@ -11,11 +11,13 @@ The self-hosted option is only available for CodeRabbit Enterprise customers wit
:::
-## Create a Azure DevOps User
+## Create an Azure DevOps User
- **Username**: Set the username to "CodeRabbit" for easier identification (optional).
- **Profile Image**: Use the CodeRabbitAI logo for the user image (optional).
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
## Add User to Projects
Add the CodeRabbit user to each project where you want CodeRabbit to post reviews, with rights to post reviews & open PRs.
@@ -28,6 +30,7 @@ Generate a personal access token for the CodeRabbit user to be added in the `.en
- `Code` - Full
- `Work Items` - Read, write, and manage
+- `Build` - Read
Consult official CodeRabbitAI documentation for a detailed [guide](https://docs.coderabbit.ai/platforms/azure-devops#generating-a-personal-access-token) on creating personal access tokens.
@@ -61,39 +64,68 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o1-mini, and o1-preview deployments
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
-AZURE_O1_DEPLOYMENT_NAME=[]
-## gpt-4o is optional
-AZURE_GPT4O_DEPLOYMENT_NAME=
-## gpt-4-turbo is optional: itโs expensive but provides better reviews than gpt-4o
-AZURE_GPT4TURBO_DEPLOYMENT_NAME=[]
+## 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=
+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,
+# and use it to make requests to the LLM provider.
+# Here is more information on this flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow#first-case-access-token-request-with-a-shared-secret
+# It is expected that the response from the OAuth2 server will be in the format
+# {
+# "access_token": "",
+# "token_type": "Bearer",
+# "expires_in": 3599,
+# }
+OAUTH2_ENDPOINT=[]
+OAUTH2_CLIENT_ID=[]
+OAUTH2_CLIENT_SECRET=[]
+OAUTH2_SCOPE=[]
+
+HTTP_PROXY=[]
+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=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
TEMP_PATH=/cache
-AST_GREP_RULES_PATH=/home/jailuser/ast-grep-rules
-AST_GREP_ESSENTIALS=ast-grep-essentials
-
SELF_HOSTED=azure-devops
AZURE_DEVOPS_BOT_TOKEN=
AZURE_DEVOPS_BOT_USERNAME=
+
CODERABBIT_LICENSE_KEY=
-CODERABBIT_API_KEY=[]
-ENABLE_LEARNINGS=[true]
+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.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
@@ -115,7 +147,7 @@ docker pull /coderabbit-agent:latest
### Verify the image is up
-You can query `/health` endpoint to verify that the coderabbit-agent service is up and running.
+You can query `/health` endpoint to verify that the `coderabbit-agent` service is up and running.
```bash
curl 127.0.0.1:8080/health
diff --git a/docs/self-hosted/bitbucket.md b/docs/self-hosted/bitbucket.md
index 9559b6e0..51cb1895 100644
--- a/docs/self-hosted/bitbucket.md
+++ b/docs/self-hosted/bitbucket.md
@@ -1,5 +1,5 @@
---
-title: Use Self-Hosted CodeRabbit With Bitbucket Datacenter
+title: Use Self-Hosted CodeRabbit With Bitbucket Datacenter
sidebar_label: Bitbucket Datacenter
description: Instructions to self-host CodeRabbit and integrate it with Bitbucket Datacenter.
sidebar_position: 4
@@ -16,6 +16,8 @@ The self-hosted option is only available for CodeRabbit Enterprise customers wit
- **Username**: Set the username to "CodeRabbit" for easier identification (optional).
- **Profile Image**: Use the CodeRabbitAI logo for the user image (optional).
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
## Add User to Projects
Add the CodeRabbit user to each project where you want CodeRabbit to post reviews, with permissions to:
@@ -36,9 +38,9 @@ Generate a personal access token for the CodeRabbit user to be added in the `.en
- "Comment Added"
3. **Add Webhook URL**: Enter the URL pointing to the CodeRabbit service, followed by `/bitbucket_server_webhooks` (e.g., `http://127.0.0.1:8080/bitbucket_server_webhooks`).
-## Prepare an `.env` file
+## Prepare a `.env` file
-Create an `.env` file with the following content:
+Create a `.env` file with the following content:
```bash
# if using OpenAI
@@ -54,38 +56,71 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o1-mini, and o1-preview deployments
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
-AZURE_O1_DEPLOYMENT_NAME=[]
-## gpt-4o is optional
-AZURE_GPT4O_DEPLOYMENT_NAME=
-## gpt-4-turbo is optional: itโs expensive but provides better reviews than gpt-4o
-AZURE_GPT4TURBO_DEPLOYMENT_NAME=[]
+## 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=
+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,
+# and use it to make requests to the LLM provider.
+# Here is more information on this flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow#first-case-access-token-request-with-a-shared-secret
+# It is expected that the response from the OAuth2 server will be in the format
+# {
+# "access_token": "",
+# "token_type": "Bearer",
+# "expires_in": 3599,
+# }
+OAUTH2_ENDPOINT=[]
+OAUTH2_CLIENT_ID=[]
+OAUTH2_CLIENT_SECRET=[]
+OAUTH2_SCOPE=[]
+
+HTTP_PROXY=[]
+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=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
# System Configuration
TEMP_PATH=/cache
-AST_GREP_RULES_PATH=/home/jailuser/ast-grep-rules
-AST_GREP_ESSENTIALS=ast-grep-essentials
+
SELF_HOSTED=bitbucket-server
+
BITBUCKET_SERVER_URL=/rest
BITBUCKET_SERVER_WEBHOOK_SECRET=
BITBUCKET_SERVER_BOT_TOKEN=
BITBUCKET_SERVER_BOT_USERNAME=
+
CODERABBIT_LICENSE_KEY=
-CODERABBIT_API_KEY=[]
-# Optional Features
-ENABLE_LEARNINGS=[true]
+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.
+OBJECT_STORE_URI=[]
+
JIRA_HOST=[]
JIRA_PAT=[]
+
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
@@ -107,7 +142,7 @@ docker pull us-docker.pkg.dev/coderabbitprod/self-hosted/coderabbit-agent:latest
### Verify the image is up
-You can query `/health` endpoint to verify that the coderabbit-agent service is up and running.
+You can query `/health` endpoint to verify that the `coderabbit-agent` service is up and running.
```bash
curl 127.0.0.1:8080/health
diff --git a/docs/self-hosted/github.md b/docs/self-hosted/github.md
index 422b5e14..cce4296c 100644
--- a/docs/self-hosted/github.md
+++ b/docs/self-hosted/github.md
@@ -22,6 +22,7 @@ Set the following Repository permissions:
- Issues: Read & write
- Metadata: Read-only
- Pull requests: Read & write
+- Actions: Read-only
Set the following Organization permissions:
@@ -41,6 +42,8 @@ Set the following events:
- Push
- Release
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
## Gather information from the GitHub App
- App ID
@@ -64,16 +67,41 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o1-mini, and o1-preview deployments
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
-AZURE_O1_DEPLOYMENT_NAME=[]
-## gpt-4o is optional
-AZURE_GPT4O_DEPLOYMENT_NAME=
-## gpt-4-turbo is optional: itโs expensive but provides better reviews than gpt-4o
-AZURE_GPT4TURBO_DEPLOYMENT_NAME=[]
+# 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=
+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,
+# and use it to make requests to the LLM provider.
+# Here is more information on this flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow#first-case-access-token-request-with-a-shared-secret
+# It is expected that the response from the OAuth2 server will be in the format
+# {
+# "access_token": "",
+# "token_type": "Bearer",
+# "expires_in": 3599,
+# }
+OAUTH2_ENDPOINT=[]
+OAUTH2_CLIENT_ID=[]
+OAUTH2_CLIENT_SECRET=[]
+OAUTH2_SCOPE=[]
+
+HTTP_PROXY=[]
+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=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
@@ -86,9 +114,6 @@ ANTHROPIC_BASE_URL=[]
TEMP_PATH=/cache
-AST_GREP_RULES_PATH=/home/jailuser/ast-grep-rules
-AST_GREP_ESSENTIALS=ast-grep-essentials
-
SELF_HOSTED=github
GH_WEBHOOK_SECRET=
@@ -100,26 +125,20 @@ GITHUB_APP_PEM_FILE=
CODERABBIT_LICENSE_KEY=
-CODERABBIT_API_KEY=[]
-# This will use your CodeRabbit API key to store learnings on our servers.
-ENABLE_LEARNINGS=[true]
+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.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
-OAUTH2_ENDPOINT=[]
-OAUTH2_CLIENT_ID=[]
-OAUTH2_CLIENT_SECRET=[]
-
-# Set to true to use the on-prem knowledge base features. This will take precedence over the ENABLE_LEARNINGS flag above.
-SELF_HOSTED_KNOWLEDGE_BASE=[true]
-# The branch which CodeRabbit will store the knowledge base json files in.
-SELF_HOSTED_KNOWLEDGE_BASE_BRANCH=[coderabbitai/data]
-# URL to the host running ChromaDB 0.5.20.
-CHROMADB_URL=[http://chromadb:8000]
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
@@ -129,7 +148,7 @@ CHROMADB_URL=[http://chromadb:8000]
- For `GITHUB_APP_PEM_FILE`, flatten the PEM file by replacing newlines with `\n`.
- For `GITHUB_HOSTNAME`, use GitHub Enterprise server's hostname, for example, โgithub.acme-inc.comโ
- You can generate `CODERABBIT_API_KEY` from CodeRabbit UI -> Organizations Settings -> API Keys.
-- Refer to the [Self-hosted knowledge base](/integrations/knowledge-base#self-hosted) section for details on the `ON_PREM_KNOWLEDGE_BASE`.
+- When `ENABLE_LEARNINGS` is set to `true`, CodeRabbit will use `CODERABBIT_API_KEY` to store learnings on our servers.
:::
@@ -152,7 +171,7 @@ docker run --env-file .env --publish 127.0.0.1:8080:8080 /coder
### Verify the image is up
-You can query `/health` endpoint to verify that the coderabbit-agent service is up and running.
+You can query `/health` endpoint to verify that the `coderabbit-agent` service is up and running.
```bash
curl 127.0.0.1:8080/health
diff --git a/docs/self-hosted/gitlab.md b/docs/self-hosted/gitlab.md
index b594b509..9b3a6a28 100644
--- a/docs/self-hosted/gitlab.md
+++ b/docs/self-hosted/gitlab.md
@@ -16,6 +16,8 @@ The self-hosted option is only available for CodeRabbit Enterprise customers wit
- **Username**: Set the username to "CodeRabbit" for easier identification (optional).
- **Profile Image**: Use the CodeRabbitAI logo for the user image (optional).
+We recommend using the CodeRabbit [logo](/img/integrations/logo.png) as the profile picture to ensures easy recognition.
+
## Add User to Projects
Add the CodeRabbit user to each project where you want CodeRabbit to post reviews, with at least `Developer` access.
@@ -42,9 +44,9 @@ Consult official CodeRabbitAI documentation for a detailed [guide](https://docs.
- Issues events
- Merge request events
-## Prepare an `.env` file
+## Prepare a `.env` file
-Create an `.env` file with the following content:
+Create a `.env` file with the following content:
```bash
# if using OpenAI
@@ -60,16 +62,41 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o1-mini, and o1-preview deployments
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
-AZURE_O1_DEPLOYMENT_NAME=[]
-## gpt-4o is optional
-AZURE_GPT4O_DEPLOYMENT_NAME=
-## gpt-4-turbo is optional: itโs expensive but provides better reviews than gpt-4o
-AZURE_GPT4TURBO_DEPLOYMENT_NAME=[]
+## 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=
+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,
+# and use it to make requests to the LLM provider.
+# Here is more information on this flow: https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow#first-case-access-token-request-with-a-shared-secret
+# It is expected that the response from the OAuth2 server will be in the format
+# {
+# "access_token": "",
+# "token_type": "Bearer",
+# "expires_in": 3599,
+# }
+OAUTH2_ENDPOINT=[]
+OAUTH2_CLIENT_ID=[]
+OAUTH2_CLIENT_SECRET=[]
+OAUTH2_SCOPE=[]
+
+HTTP_PROXY=[]
+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=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=
@@ -82,23 +109,27 @@ ANTHROPIC_BASE_URL=[]
TEMP_PATH=/cache
-AST_GREP_RULES_PATH=/home/jailuser/ast-grep-rules
-AST_GREP_ESSENTIALS=ast-grep-essentials
-
SELF_HOSTED=gitlab
GITLAB_BOT_TOKEN=
GITLAB_WEBHOOK_SECRET=
+
CODERABBIT_LICENSE_KEY=
-CODERABBIT_API_KEY=[]
-ENABLE_LEARNINGS=[true]
+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.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
diff --git a/docs/tools/actionlint.md b/docs/tools/actionlint.md
index 0fa4f628..ab787e0d 100644
--- a/docs/tools/actionlint.md
+++ b/docs/tools/actionlint.md
@@ -1,7 +1,7 @@
---
-title: Actionlint
-sidebar_label: Actionlint
-description: CodeRabbit's guide to Actionlint.
+title: actionlint
+sidebar_label: actionlint
+description: CodeRabbit's guide to actionlint.
---
```mdx-code-block
@@ -10,7 +10,7 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
```
-[Actionlint](https://github.com/rhysd/actionlint/) is a static checker for
+[`actionlint`](https://github.com/rhysd/actionlint/) is a static checker for
GitHub Actions workflow files.
## Files
@@ -26,4 +26,4 @@ CodeRabbit will use the default configuration.
## Links
-- [Actionlint Configuration](https://github.com/rhysd/actionlint/blob/main/docs/config.md/)
+- [`actionlint` Configuration](https://github.com/rhysd/actionlint/blob/main/docs/config.md/)
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/circleci.md b/docs/tools/circleci.md
index ebd2318a..b7b54fb9 100644
--- a/docs/tools/circleci.md
+++ b/docs/tools/circleci.md
@@ -1,7 +1,7 @@
---
-title: CircleCi
-sidebar_label: CircleCi
-description: CodeRabbit's guide to CircleCi.
+title: CircleCI
+sidebar_label: CircleCI
+description: CodeRabbit's guide to CircleCI.
---
```mdx-code-block
@@ -10,11 +10,11 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
```
-[CircleCi](https://circleci.com/) is a static checker and validator for circleci config files.
+[CircleCI](https://circleci.com/) is a static checker and validator for circleci config files.
## Files
-We look for `CircleCi Configuration` files specifically in the following directory:
+We look for `CircleCI Configuration` files specifically in the following directory:
- `.circleci/config.yml`
- `.circleci/config.yaml`
@@ -25,4 +25,4 @@ CodeRabbit will use the default configuration.
## Links
-- [CircleCi Configuration](https://circleci.com/docs/configuration-reference/)
+- [CircleCI Configuration](https://circleci.com/docs/configuration-reference/)
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/detekt.md b/docs/tools/detekt.md
index 2a504a37..865dd69d 100644
--- a/docs/tools/detekt.md
+++ b/docs/tools/detekt.md
@@ -1,7 +1,7 @@
---
-title: Detekt
-sidebar_label: Detekt
-description: CodeRabbit's guide to Detekt.
+title: detekt
+sidebar_label: detekt
+description: CodeRabbit's guide to detekt.
---
```mdx-code-block
@@ -10,23 +10,23 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
```
-[Detekt](https://detekt.dev/) is a static code analysis tool specifically designed for Kotlin projects
+[`detekt`](https://detekt.dev/) is a static code analysis tool specifically designed for Kotlin projects
## Files
-Detekt will run on files with the following extensions:
+`detekt` will run on files with the following extensions:
- `.kt`
- `.kts`
## Configuration
-Detekt uses a YAML style configuration file.
+`detekt` uses a YAML style configuration file.
-Detekt supports the following config files:
+`detekt` supports the following config files:
-- User-defined config file set at `reviews.tools.detekt.config_file` in your project's `.coderabbit.yaml` file or setting the "Review โ Tools โ Detekt โ Config File" field in CodeRabbit's settings page.
+- User-defined config file set at `reviews.tools.detekt.config_file` in your project's `.coderabbit.yaml` file or setting the "Review โ Tools โ `detekt` โ Config File" field in CodeRabbit's settings page.
## Links
-- [Detekt Configuration](https://detekt.dev/docs/introduction/configurations/)
+- [`detekt` Configuration](https://detekt.dev/docs/introduction/configurations/)
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
new file mode 100644
index 00000000..7a106a78
--- /dev/null
+++ b/docs/tools/list.md
@@ -0,0 +1,82 @@
+---
+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 |
+| 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 |
+| 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 |
+| 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 |
+| Java | [PMD][PMD] | Code Quality |
+| Protobuf | [Buf][Buf] | 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 |
+| 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
+[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/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/docs/tools/markdownlint.md b/docs/tools/markdownlint.md
index 5b741843..0e883437 100644
--- a/docs/tools/markdownlint.md
+++ b/docs/tools/markdownlint.md
@@ -1,7 +1,7 @@
---
-title: Markdownlint
-sidebar_label: Markdownlint
-description: CodeRabbit's guide to Markdownlint.
+title: markdownlint
+sidebar_label: markdownlint
+description: CodeRabbit's guide to markdownlint.
---
```mdx-code-block
@@ -10,7 +10,7 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
```
-[Markdownlint](https://github.com/DavidAnson/markdownlint) is a linter for Markdown.
+[`markdownlint-cli2`](https://github.com/DavidAnson/markdownlint) is a linter for Markdown.
## Files
@@ -21,7 +21,7 @@ Markdownlint will run on files with the following extensions:
## Configuration
-Markdownlint supports the following config files:
+`markdownlint-cli2` supports the following config files:
- `.markdownlint.jsonc`
- `.markdownlint.json`
@@ -32,4 +32,4 @@ CodeRabbit will use the default settings based on the profile selected if no con
## Links
-- [Markdownlint Configuration](https://github.com/DavidAnson/markdownlint?tab=readme-ov-file#configuration)
+- [`markdownlint-cli2` Configuration](https://github.com/DavidAnson/markdownlint?tab=readme-ov-file#configuration)
diff --git a/docs/tools/oxlint.md b/docs/tools/oxlint.md
new file mode 100644
index 00000000..fd5e7e2c
--- /dev/null
+++ b/docs/tools/oxlint.md
@@ -0,0 +1,50 @@
+---
+title: Oxlint
+sidebar_label: Oxlint
+description: CodeRabbit's guide to Oxlint.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[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.
+
+## Supported Files
+
+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 configuration file:
+
+- `.oxlintrc.json`
+
+:::note
+
+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.
+
+Oxlint does not require configuration to run if Biome is disabled and Oxlint is enabled.
+
+:::
+
+## Links
+
+- [Oxlint GitHub Repository](https://github.com/oxc-project/oxc/releases/)
+- [Oxlint Website](https://oxc.rs/docs/guide/usage/linter)
diff --git a/docs/tools/pipeline-remediation.md b/docs/tools/pipeline-remediation.md
new file mode 100644
index 00000000..2beb0213
--- /dev/null
+++ b/docs/tools/pipeline-remediation.md
@@ -0,0 +1,177 @@
+---
+title: Pipeline Failure Remediation
+sidebar_label: Pipeline Remediation
+description: CodeRabbit's automated pipeline failure detection and remediation capabilities.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+## Overview
+
+Are pipeline failures holding up your pull requests? Is your latest code failing to build and digging through the failure logs is an absolute nightmare? CodeRabbit's Pipeline Failure Remediation tool automatically detects and fixes build failures across your CI/CD pipelines.
+
+Our intelligent AI system analyzes pipeline failures in real-time, providing inline comments and actionable suggestions to quickly resolve issues. We support multiple CI/CD platforms and integrate with popular security scanning tools to provide comprehensive remediation guidance.
+
+## Example Remediations
+
+With CodeRabbit CI/CD Pipeline Remediation, you have coderabbit automatically review the output of any tooling you desire. Here are some examples of the types of common issues we can help you fix:
+
+### Docker Build Issues
+
+- Missing build dependencies
+- Base image compatibility
+- Multi-stage build optimization
+- Cache utilization improvements
+
+
+
+### Java Build & Testing
+
+- Maven/Gradle dependency conflicts
+- Compilation errors
+- Test failures
+- Memory allocation issues
+
+
+
+### Kubernetes Deployments
+
+- Service configuration validation
+- Resource allocation optimization
+- Network policy fixes
+- Security context remediation
+
+
+
+### NPM Package Management
+
+- Package resolution conflicts
+- Version compatibility issues
+- Security vulnerability patches
+- Build script optimization
+
+
+
+### Python Environment
+
+- Package dependency resolution
+- Virtual environment setup
+- Test framework configuration
+- Code style compliance
+
+
+
+### Security Scanning
+
+- SAST finding remediation
+- Code injection prevention
+- Security best practices
+- Compliance validation
+
+
+
+### Terraform and Infrastructure as Code
+
+- Resource configuration validation
+- State management issues
+- Provider compatibility
+- Security group optimization
+
+
+
+## Supported Platforms
+
+### GitHub Actions
+
+- Automatic detection of workflow failures
+- Inline fixes for common build issues
+- Integration with GitHub Checks
+- Support for custom actions and workflows
+
+### GitLab CI/CD
+
+- 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
+
+
+
+
+
+### CircleCI
+
+- CircleCI Pipeline failure analysis
+- Job-level error analysis
+- Configuration validation
+- Dependency resolution
+
+
+
+### Azure DevOps Pipelines
+
+- Azure DevOps CI/CD Pipeline failure analysis
+- Integration with Azure DevOps Checks
+- Support for custom tasks and pipelines
+- Remediation for build issues
+
+
+
+## Common Use Cases
+
+Our tool handles a wide range of pipeline failures including:
+
+### Build Failures
+
+- Docker build issues
+- Node.js dependency conflicts
+- Java compilation errors
+- Python package resolution
+- Go module management
+
+### Infrastructure as Code
+
+- Kubernetes manifest validation
+- Terraform template errors
+- CloudFormation stack issues
+- Ansible playbook failures
+
+### Security Pipeline Integration
+
+- SAST finding remediation
+- DAST vulnerability fixes
+- Dependency scanning
+- Container security
+
+### Testing Failures
+
+- Unit test failures
+- Integration test errors
+- End-to-end test issues
+- Performance test threshold violations
+
+## How It Works
+
+1. **Detection**: CodeRabbit monitors your pipeline runs and automatically detects failures
+2. **Analysis**: Our AI analyzes the failure logs and context to determine the root cause
+3. **Remediation**: We provide inline suggestions and automated fixes where possible
+4. **Learning**: The system learns from successful fixes to improve future recommendations
+
+## Best Practices
+
+1. **Keep Dependencies Updated**: Regular dependency updates help prevent build failures
+2. **Use Lock Files**: Lock files ensure consistent builds across environments
+3. **Implement Caching**: Proper caching strategies speed up builds and reduce failures
+4. **Monitor Resource Usage**: Ensure sufficient resources are allocated to prevent timeouts
+5. **Maintain Clean Tests**: Well-maintained tests reduce false positives
+
+## Links
+
+- [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 Pipeline Documentation](https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/pipelines-get-started?view=azure-devops)
diff --git a/docs/tools/prisma-lint.md b/docs/tools/prisma-lint.md
new file mode 100644
index 00000000..33a36904
--- /dev/null
+++ b/docs/tools/prisma-lint.md
@@ -0,0 +1,46 @@
+---
+title: Prisma Lint
+sidebar_label: Prisma Lint
+description: CodeRabbit's guide to Prisma Lint.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Prisma Lint](https://github.com/loop-payments/prisma-lint) is a linter for Prisma schema files that helps enforce consistent conventions and best practices in your Prisma schemas.
+
+## Files
+
+Prisma Lint will run on files with the following extensions:
+
+- `.prisma`
+
+## Configuration
+
+Prisma Lint supports the following config files:
+
+- `.prismalintrc.json`
+- `.prismalintrc`
+- `.prismalintrc.js`
+- `.prismalintrc.yaml`
+- `.prismalintrc.yml`
+- `prismalint.config.js`
+- User-defined config file set at `reviews.tools.prismalint.config_file` in your project's `.coderabbit.yaml` file or setting the "Review โ Tools โ Prisma Lint โ Config File" field in CodeRabbit's settings page.
+
+:::note
+
+By default, Prisma Lint looks for schema files at `prisma/schema.prisma`. If you have a custom schema path specified in the `prisma.schema` field within `package.json`, that will be used instead.
+
+:::
+
+## Rule Configuration
+
+Rules can be configured in your `.prismalintrc.json` file. See the [Prisma Lint Rules Documentation](https://github.com/loop-payments/prisma-lint/blob/main/RULES.md) for more information on the available rules and their configuration options.
+
+## Links
+
+- [Prisma Lint GitHub Repository](https://github.com/loop-payments/prisma-lint)
+- [Prisma Lint Rules Documentation](https://github.com/loop-payments/prisma-lint/blob/main/RULES.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/docs/tools/regal.md b/docs/tools/regal.md
index 0783ebdd..d05be084 100644
--- a/docs/tools/regal.md
+++ b/docs/tools/regal.md
@@ -10,7 +10,7 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
```
-[Regal](https://docs.styra.com/regal/) is a linter and language server for Rego.
+[Regal](https://docs.styra.com/regal/) is a linter and language server for Rego, the language of [Open Policy Agent](http://openpolicyagent.org) (OPA).
## Files
@@ -20,12 +20,10 @@ Regal will run on files with the following extensions:
## Configuration
-Regal uses a YAML style configuration file. We look for the following config file:
+Regal uses a YAML configuration file located at `.regal/config.yaml`.
-- `.regal/config.yaml`
-
-CodeRabbit will use the default settings based on the profile selected if no config file is found.
+CodeRabbit will use the default settings based on the profile selected if no configuration file is found.
## Links
-- [Regal Configuration](https://docs.styra.com/regal#configuration/)
+- [Regal Configuration](https://docs.styra.com/regal#configuration)
diff --git a/docs/tools/rubocop.md b/docs/tools/rubocop.md
index 9bb68286..45a24de7 100644
--- a/docs/tools/rubocop.md
+++ b/docs/tools/rubocop.md
@@ -1,7 +1,7 @@
---
-title: Rubocop
-sidebar_label: Rubocop
-description: CodeRabbit's guide to Rubocop.
+title: RuboCop
+sidebar_label: RuboCop
+description: CodeRabbit's guide to RuboCop.
---
```mdx-code-block
@@ -10,11 +10,11 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
```
-[Rubocop](https://rubocop.org/) A Ruby static code analyzer and formatter, based on the community Ruby style guide.
+[RuboCop](https://rubocop.org/) A Ruby static code analyzer and formatter, based on the community Ruby style guide.
## Files
-Rubocop will run on the following files and extensions:
+RuboCop will run on the following files and extensions:
- `.rb`
- `.arb`
@@ -72,7 +72,7 @@ Rubocop will run on the following files and extensions:
## Configuration
-Rubocop uses a YAML style configuration file. We look for the following files anywhere in the repository:
+RuboCop uses a YAML style configuration file. We look for the following files anywhere in the repository:
- `.rubocop.yml`
- `.rubocop.yaml`
@@ -81,4 +81,4 @@ CodeRabbit will use the default settings based on the profile selected if no con
## Links
-- [Rubocop Configuration](https://docs.rubocop.org/rubocop/1.65/configuration.html/)
+- [RuboCop Configuration](https://docs.rubocop.org/rubocop/1.65/configuration.html/)
diff --git a/docs/tools/semgrep.md b/docs/tools/semgrep.md
index 0442acfb..441dcf38 100644
--- a/docs/tools/semgrep.md
+++ b/docs/tools/semgrep.md
@@ -10,14 +10,13 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
```
-[Semgrep](https://semgrep.dev/) is a static analysis tool designed to scan code
-for security vulnerabilities and code quality issues.
+[Semgrep](https://github.com/semgrep/semgrep) is an open-source static analysis tool designed to scan code for security vulnerabilities and code quality issues.
## Configuration
-Semgrep uses a YAML style configuration file. By default we will automatically
+Semgrep uses a YAML style configuration file. By default, we will automatically
use the following files if any are set in the root directory of your
-repostitory.
+repository.
- `semgrep.yml` or `semgrep.yaml`
- `semgrep.config.yml` or `semgrep.config.yaml`
@@ -28,10 +27,12 @@ Semgrep supports the following config files:
project's `.coderabbit.yaml` file or setting the "Review โ Tools โ Semgrep โ
Config File" field in CodeRabbit's settings page.
-Due to licensing, CodeRabbit does not ship with the [community-created Semgrep rules](https://github.com/returntocorp/semgrep-rules), but you're free to use these in your own `semgrep.yml` config file.
+Due to licensing, CodeRabbit does not ship with the [community-created Semgrep rules](https://github.com/returntocorp/semgrep-rules).
:::note
-CodeRabbit will only run Semgrep if your repository contains a Semgrep config file. This config must use the default file names or you must define the path to this file in the `.coderabbit.yaml` or config UI.
+
+CodeRabbit will only run Semgrep if your repository contains a Semgrep config file. This config must use the default file names, or you must define the path to this file in the `.coderabbit.yaml` or config UI.
+
:::
## Links
@@ -41,43 +42,21 @@ CodeRabbit will only run Semgrep if your repository contains a Semgrep config fi
## Files
-Semgrep will run on the following files and extensions:
-
-- `Apex`
-- `Bash`
-- `.c`
-- `.cpp`
-- `.cs`
-- `.clj`
-- `.dart`
-- `Dockerfile`
-- `.ex`
-- `.html`
-- `.go`
-- `.java`
-- `.js`
-- `.jsx`
-- `.json`
-- `.jl`
-- `.jsonnet`
-- `.kt`
-- `.kts`
-- `Lisp`
-- `.lua`
-- `.ml`
-- `.php`
-- `.py`
-- `.r`
-- `.rb`
-- `.rs`
-- `.scala`
-- `Scheme`
-- `.sol`
-- `.swift`
-- `.tf`
-- `.ts`
-- `.tsx`
-- `.yaml`
-- `.xml`
-- `ERB`
-- `Jinja`
+Semgrep will run on the following files types:
+
+- C/C++
+- C#
+- Go
+- Java
+- JavaScript
+- Kotlin
+- Python
+- TypeScript
+- Ruby
+- Rust
+- JSX
+- PHP
+- Scala
+- Swift
+- Terraform
+- JSON
diff --git a/docs/tools/shopify-cli.md b/docs/tools/shopify-cli.md
new file mode 100644
index 00000000..934a6345
--- /dev/null
+++ b/docs/tools/shopify-cli.md
@@ -0,0 +1,56 @@
+---
+title: Shopify CLI
+sidebar_label: Shopify CLI
+description: CodeRabbit's guide to Shopify CLI.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Shopify CLI](https://github.com/Shopify/cli) is a command-line tool that helps you build Shopify apps, themes, and custom storefronts. It provides functionality for initializing, building, developing, and deploying Shopify projects.
+
+## Validation Rules
+
+The tool checks for:
+
+### Theme Validation
+
+- Liquid syntax errors
+- Theme requirements compliance
+- Asset organization
+- Performance best practices
+- Accessibility standards
+
+### App Validation
+
+- App extension configuration
+- Function implementation
+- API version compatibility
+- Security best practices
+
+## Common Issues
+
+The tool helps identify and fix:
+
+1. Theme Issues:
+
+ - Invalid Liquid syntax
+ - Missing required templates
+ - Performance bottlenecks
+ - Accessibility violations
+
+2. App Issues:
+ - Invalid API usage
+ - Missing dependencies
+ - Configuration errors
+ - Security vulnerabilities
+
+## Links
+
+- [Shopify CLI GitHub Repository](https://github.com/Shopify/cli)
+- [Shopify CLI Theme Documentation](https://shopify.dev/docs/api/shopify-cli/theme)
+- [Shopify CLI App Documentation](https://shopify.dev/docs/apps/tools/cli)
+- [Theme Development Requirements](https://shopify.dev/docs/themes/store/requirements)
diff --git a/docs/tools/sqlfluff.md b/docs/tools/sqlfluff.md
new file mode 100644
index 00000000..9eb959f7
--- /dev/null
+++ b/docs/tools/sqlfluff.md
@@ -0,0 +1,41 @@
+---
+title: SQLFluff
+sidebar_label: SQLFluff
+description: CodeRabbit's guide to SQLFluff.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[SQLFluff](https://github.com/sqlfluff/sqlfluff) is a SQL linter and auto-formatter for standardizing SQL code.
+
+## Files
+
+SQLFluff will run on files with the following extensions:
+
+- `.sql`
+
+## Configuration
+
+SQLFluff supports the following config files:
+
+- User-defined config file set at `reviews.tools.sqlfluff.config_file` in your project's `.coderabbit.yaml` file or setting the "Review โ Tools โ SQLFluff โ Config File" field in CodeRabbit's settings page.
+- `setup.cfg`
+- `tox.ini`
+- `pep8.ini`
+- `.sqlfluff`
+- `pyproject.toml`
+
+:::note
+
+CodeRabbit will only run SQLFluff if your repository contains a SQLFluff config file. This config must use one of the default file names listed above, or you must define the path to this file in the `.coderabbit.yaml` or config UI.
+
+:::
+
+## Links
+
+- [SQLFluff Configuration](https://docs.sqlfluff.com/en/stable/configuration.html)
+- [SQLFluff Rules Reference](https://docs.sqlfluff.com/en/stable/rules.html)
diff --git a/docs/tools/tools.md b/docs/tools/tools.md
index 27313ab9..45b376c5 100644
--- a/docs/tools/tools.md
+++ b/docs/tools/tools.md
@@ -1,10 +1,10 @@
---
-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
---
+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';
@@ -13,6 +13,8 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
CodeRabbit supports various linters and security analysis tools to improve the code review process. The output of these tools is used to enhance the feedback provided by CodeRabbit, making it possible to provide 1-click fixes for common issues.
+All tool runs are done in a secure sandboxed execution environment.
+
## Enabling/Disabling Tools
You can enable or disable tools by setting `reviews.tools..enabled` in your project's `.coderabbit.yaml` file or setting the "Review โ Tools โ Tool โ Enabled" field in CodeRabbit's settings page.
@@ -40,58 +42,6 @@ Remove extraneous f prefix
(F541)
```
-## Supported Tools
-
-| Technology | Tools | Category |
-| :-------------------------- | :--------------------------------------------------------- | :----------------------------- |
-| All | [Gitleaks][Gitleaks] | Code Security |
-| CircleCi | [CircleCi][CircleCi] | Configuration Validation |
-| 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] | Code Quality |
-| Go | [golangci-lint][golangci-lint] | Code Quality |
-| Helm | [Checkov][Checkov] | Code Security |
-| Javascript | [Biome][Biome] | Code Quality |
-| JSON, JSONC | [Biome][Biome] | Code Quality |
-| JSX | [Biome][Biome] | 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 |
-| Swift | [SwiftLint][SwiftLint] | Code Quality |
-| Terraform | [Checkov][Checkov] | Code Security |
-| TSX | [Biome][Biome] | Code Quality |
-| Typescript | [Biome][Biome] | Code Quality |
-| YAML | [YamlLint][YamlLint] | Code Quality |
-
-[ShellCheck]: ./shellcheck.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
+## What's next
+
+- For a complete list of tools that CodeRabbit supports, see [Supported tools](/tools/list).
diff --git a/docs/tools/yamllint.md b/docs/tools/yamllint.md
index 293a4e57..31649cf0 100644
--- a/docs/tools/yamllint.md
+++ b/docs/tools/yamllint.md
@@ -1,7 +1,7 @@
---
-title: Yamllint
-sidebar_label: Yamllint
-description: CodeRabbit's guide to Yamllint.
+title: YAMLlint
+sidebar_label: YAMLlint
+description: CodeRabbit's guide to YAMLlint.
---
```mdx-code-block
@@ -10,18 +10,18 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
```
-[Yamllint](https://yamllint.readthedocs.io/en/stable/) is a linter for YAML.
+[YAMLlint](https://yamllint.readthedocs.io/en/stable/) is a linter for YAML.
## Files
-Yamllint will run on files with the following extensions:
+YAMLlint will run on files with the following extensions:
- `.yaml`
- `.yml`
## Configuration
-Yamllint supports the following config files:
+YAMLlint supports the following config files:
- `.yamllint`
- `.yamllint.yaml`
@@ -31,4 +31,4 @@ CodeRabbit will use the default settings based on the profile selected if no con
## Links
-- [Yamllint Configuration](https://yamllint.readthedocs.io/en/stable/configuration.html)
+- [YAMLlint Configuration](https://yamllint.readthedocs.io/en/stable/configuration.html)
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index 738de2d3..f4cd07ca 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -126,6 +126,48 @@ const config: Config = {
},
}
},
+ [
+ "@inkeep/cxkit-docusaurus",
+ {
+ SearchBar: {
+ baseSettings: {
+ apiKey: process.env.INKEEP_API_KEY,
+ primaryBrandColor: "#FF570A",
+ },
+ aiChatSettings: {
+ chatSubjectName: "CodeRabbit",
+ aiAssistantAvatar: "https://www.coderabbit.ai/favicon.ico",
+ getHelpOptions: [
+ {
+ name: "Discord",
+ icon: {
+ builtIn: "FaDiscord",
+ },
+ action: {
+ type: "open_link",
+ url: "https://discord.gg/coderabbit",
+ },
+ },
+ {
+ name: "Contact Us",
+ icon: {
+ builtIn: "IoChatbubblesOutline",
+ },
+ action: {
+ type: "open_link",
+ url: "https://www.coderabbit.ai/contact-us",
+ },
+ },
+ ],
+ exampleQuestions: [
+ "What is CodeRabbit?",
+ "How to integrate CodeRabbit with GitHub?",
+ "How to set up a AI Code Review?",
+ ],
+ },
+ },
+ },
+ ],
],
presets: [
diff --git a/package.json b/package.json
index 42ad5773..7c53d492 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
+ "format": "prettier --write .",
"lint": "markdownlint-cli2 \"**/*.md\" && prettier --check .",
"lint:fix": "markdownlint-cli2 \"**/*.md\" --fix; prettier --list-different --write .",
"write-translations": "docusaurus write-translations",
@@ -22,6 +23,7 @@
"@docusaurus/plugin-client-redirects": "^3.6.1",
"@docusaurus/plugin-content-blog": "^3.6.1",
"@docusaurus/preset-classic": "^3.6.1",
+ "@inkeep/cxkit-docusaurus": "^0.5.52",
"@mdx-js/react": "^3.1.0",
"autoprefixer": "^10.4.20",
"clsx": "^2.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3539e2b0..75704ea5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -20,6 +20,9 @@ importers:
'@docusaurus/preset-classic':
specifier: ^3.6.1
version: 3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3)
+ '@inkeep/cxkit-docusaurus':
+ specifier: ^0.5.52
+ version: 0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mdx-js/react':
specifier: ^3.1.0
version: 3.1.0(@types/react@18.3.12)(react@18.3.1)
@@ -989,12 +992,54 @@ packages:
resolution: {integrity: sha512-nS3WCvepwrnBEgSG5vQu40XG95lC9Jeh/odV5u5IhU1eQFEGDst9xBi6IK5yZdsGvbuaXBZLZtOqWYtuuFa/rQ==}
engines: {node: '>=18.0'}
+ '@floating-ui/core@1.6.9':
+ resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==}
+
+ '@floating-ui/dom@1.6.13':
+ resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==}
+
+ '@floating-ui/react-dom@2.1.2':
+ resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@floating-ui/utils@0.2.9':
+ resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
+
'@hapi/hoek@9.3.0':
resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
'@hapi/topo@5.1.0':
resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+ '@inkeep/cxkit-color-mode@0.5.52':
+ resolution: {integrity: sha512-Mm9ax+2yP+T4F9ICP2eQqqpnm1BaiVUbmuhOF3oNOEQVR8X9sENeSU6X6JIJnFKtVSXYb/AMRe1U4/c5wJzvww==}
+
+ '@inkeep/cxkit-docusaurus@0.5.52':
+ resolution: {integrity: sha512-Mv89214Gt0qe2djAHKpzCu1SQlpQ+dj4tqSFKNO4w5f54qRdLgaQ4Av1LFC2d3PRV1rp4KA6XNjiNC/z2PrP2w==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+
+ '@inkeep/cxkit-primitives@0.5.52':
+ resolution: {integrity: sha512-xq5ZGC8RX9qhelIbAvRM3EN7cFuwjYUERsoH6cwgyjtk5PnN3HoChlxuA18x1v9mqp8Bv3/lu4Bz0TDNUdiSxQ==}
+ peerDependencies:
+ react: '>=17.0.0'
+ react-dom: '>=17.0.0'
+
+ '@inkeep/cxkit-react@0.5.52':
+ resolution: {integrity: sha512-kNa+cvjH/JrWHVTh9DcYTgX/J6J4h2tyOh7FvK41zvbdKuAOarzQGWJMLvmAsDm4Z4tmPe104Yvm3nrmsrfTOA==}
+
+ '@inkeep/cxkit-styled@0.5.52':
+ resolution: {integrity: sha512-QLtJJ+/ufNG3PqrSMfwHSKWwOhnB4i0qOhsrNiAyNcOtQ5fMZdaAlShAjHDH2ye68sfw2tsyEBxXgZuxHji9dw==}
+
+ '@inkeep/cxkit-theme@0.5.52':
+ resolution: {integrity: sha512-2MWJc+J2n1d4gWkB3A+g4ZSmWxvi/nqxAgEOquiDDWWTrTWCEI8uk8MsWubtCBa73aEOa/tMTKiGYGjbdSCpgw==}
+
+ '@inkeep/cxkit-types@0.5.52':
+ resolution: {integrity: sha512-2AwsCpeB37wU8I+uhMsP2wFu/8goodgTvqL/V/QIaTGDBw62E1qsA6kjt+5V7rzkLzR658aSUOtL9D1G9zc31Q==}
+
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -1071,6 +1116,466 @@ packages:
'@polka/url@1.0.0-next.28':
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
+ '@radix-ui/number@1.1.0':
+ resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==}
+
+ '@radix-ui/primitive@1.1.1':
+ resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==}
+
+ '@radix-ui/react-arrow@1.1.1':
+ resolution: {integrity: sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-arrow@1.1.2':
+ resolution: {integrity: sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-avatar@1.1.2':
+ resolution: {integrity: sha512-GaC7bXQZ5VgZvVvsJ5mu/AEbjYLnhhkoidOboC50Z6FFlLA03wG2ianUoH+zgDQ31/9gCF59bE4+2bBgTyMiig==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-checkbox@1.1.3':
+ resolution: {integrity: sha512-HD7/ocp8f1B3e6OHygH0n7ZKjONkhciy1Nh0yuBgObqThc3oyx+vuMfFHKAknXRHHWVE9XvXStxJFyjUmB8PIw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collection@1.1.1':
+ resolution: {integrity: sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collection@1.1.2':
+ resolution: {integrity: sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-compose-refs@1.1.1':
+ resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-context@1.1.1':
+ resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-direction@1.1.0':
+ resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-dismissable-layer@1.1.3':
+ resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-dismissable-layer@1.1.5':
+ resolution: {integrity: sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-focus-guards@1.1.1':
+ resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-focus-scope@1.1.2':
+ resolution: {integrity: sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-hover-card@1.1.6':
+ resolution: {integrity: sha512-E4ozl35jq0VRlrdc4dhHrNSV0JqBb4Jy73WAhBEK7JoYnQ83ED5r0Rb/XdVKw89ReAJN38N492BAPBZQ57VmqQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-id@1.1.0':
+ resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-popover@1.1.6':
+ resolution: {integrity: sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popper@1.2.1':
+ resolution: {integrity: sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popper@1.2.2':
+ resolution: {integrity: sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.3':
+ resolution: {integrity: sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.4':
+ resolution: {integrity: sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-presence@1.1.2':
+ resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.0.1':
+ resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.0.2':
+ resolution: {integrity: sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-roving-focus@1.1.1':
+ resolution: {integrity: sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-scroll-area@1.2.2':
+ resolution: {integrity: sha512-EFI1N/S3YxZEW/lJ/H1jY3njlvTd8tBmgKEn4GHi51+aMm94i6NmAJstsm5cu3yJwYqYc93gpCPm21FeAbFk6g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-select@2.1.6':
+ resolution: {integrity: sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-slot@1.1.1':
+ resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-slot@1.1.2':
+ resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-tabs@1.1.2':
+ resolution: {integrity: sha512-9u/tQJMcC2aGq7KXpGivMm1mgq7oRJKXphDwdypPd/j21j/2znamPU8WkXgnhUaTrSFNIt8XhOyCAupg8/GbwQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-tooltip@1.1.6':
+ resolution: {integrity: sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-use-callback-ref@1.1.0':
+ resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-controllable-state@1.1.0':
+ resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-escape-keydown@1.1.0':
+ resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-layout-effect@1.1.0':
+ resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-previous@1.1.0':
+ resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-rect@1.1.0':
+ resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-size@1.1.0':
+ resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.1.1':
+ resolution: {integrity: sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.1.2':
+ resolution: {integrity: sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/rect@1.1.0':
+ resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
+
'@sideway/address@4.1.5':
resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
@@ -1200,6 +1705,9 @@ packages:
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
engines: {node: '>=14.16'}
+ '@tanem/svg-injector@10.1.68':
+ resolution: {integrity: sha512-UkJajeR44u73ujtr5GVSbIlELDWD/mzjqWe54YMK61ljKxFcJoPd9RBSaO7xj02ISCWUqJW99GjrS+sVF0UnrA==}
+
'@trysound/sax@0.2.0':
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
@@ -1291,12 +1799,18 @@ packages:
'@types/ms@0.7.34':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
+ '@types/node-fetch@2.6.12':
+ resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==}
+
'@types/node-forge@1.3.11':
resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
'@types/node@17.0.45':
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
+ '@types/node@18.19.86':
+ resolution: {integrity: sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ==}
+
'@types/node@22.9.0':
resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==}
@@ -1309,6 +1823,9 @@ packages:
'@types/prop-types@15.7.13':
resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
+ '@types/prop-types@15.7.14':
+ resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
+
'@types/qs@6.9.17':
resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==}
@@ -1417,6 +1934,19 @@ packages:
'@xtuc/long@4.2.2':
resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+ '@zag-js/dom-query@1.8.2':
+ resolution: {integrity: sha512-bn6Pxga19PJzpDb+Oh326kn1sgVfO97mxRzRFqzrKz9NuANGlCblmv2NTYmhfppqE1nt9QyLLhyQ2BLbzwouLg==}
+
+ '@zag-js/focus-trap@1.8.2':
+ resolution: {integrity: sha512-GzKdicdiVjlOOsNzmmRAZVccs902PXnoyO+qkzXlIsr8+RPRgtPlZthIp6wtr4CJ2vLOMByvrEt7wCNSIoDzxA==}
+
+ '@zag-js/types@1.8.2':
+ resolution: {integrity: sha512-J+94HhFAPOBchNdGcmvqjB8nbQFgKHcqGoPl5vNTKlcoibN0yFjn4XFZoQU6uCf8sPhNg6NUNTkluR5YjybyJA==}
+
+ abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+
accepts@1.3.8:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
engines: {node: '>= 0.6'}
@@ -1442,6 +1972,10 @@ packages:
resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
engines: {node: '>= 10.0.0'}
+ agentkeepalive@4.6.0:
+ resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==}
+ engines: {node: '>= 8.0.0'}
+
aggregate-error@3.1.0:
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
engines: {node: '>=8'}
@@ -1482,6 +2016,9 @@ packages:
resolution: {integrity: sha512-aYjI4WLamMxbhdJ2QAA99VbDCJOGzMOdT2agh57bi40n86ufkhZSIAf6mkocr7NmtBLtwCnSHvD5NJ+Ky5elWw==}
engines: {node: '>= 14.0.0'}
+ altcha-lib@1.2.0:
+ resolution: {integrity: sha512-S5WF8QLNRaM1hvK24XPhOLfu9is2EBCvH7+nv50sM5CaIdUCqQCd0WV/qm/ZZFGTdSoKLuDp+IapZxBLvC+SNg==}
+
ansi-align@3.0.1:
resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
@@ -1526,6 +2063,10 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ aria-hidden@1.2.4:
+ resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
+ engines: {node: '>=10'}
+
array-flatten@1.1.1:
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
@@ -1537,6 +2078,9 @@ packages:
resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
hasBin: true
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
at-least-node@1.0.0:
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
engines: {node: '>= 4.0.0'}
@@ -1641,6 +2185,10 @@ packages:
resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
engines: {node: '>=14.16'}
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
call-bind@1.0.7:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'}
@@ -1716,6 +2264,9 @@ packages:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
+ class-variance-authority@0.7.1:
+ resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
+
clean-css@5.3.3:
resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
engines: {node: '>= 10.0'}
@@ -1756,10 +2307,17 @@ packages:
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+ colorjs.io@0.5.2:
+ resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==}
+
combine-promises@1.2.0:
resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==}
engines: {node: '>=10'}
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
@@ -2036,6 +2594,10 @@ packages:
resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==}
engines: {node: '>=10'}
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
depd@1.1.2:
resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
engines: {node: '>= 0.6'}
@@ -2056,6 +2618,9 @@ packages:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+
detect-node@2.1.0:
resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
@@ -2135,6 +2700,10 @@ packages:
resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==}
engines: {node: '>=10'}
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
@@ -2189,6 +2758,10 @@ packages:
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
engines: {node: '>= 0.4'}
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+
es-errors@1.3.0:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
@@ -2196,6 +2769,14 @@ packages:
es-module-lexer@1.5.4:
resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+ engines: {node: '>= 0.4'}
+
esast-util-from-estree@2.0.0:
resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
@@ -2286,6 +2867,10 @@ packages:
resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==}
engines: {node: '>= 0.8'}
+ event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+
eventemitter3@4.0.7:
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
@@ -2407,14 +2992,25 @@ packages:
vue-template-compiler:
optional: true
+ form-data-encoder@1.7.2:
+ resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
+
form-data-encoder@2.1.4:
resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
engines: {node: '>= 14.17'}
+ form-data@4.0.2:
+ resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
+ engines: {node: '>= 6'}
+
format@0.2.2:
resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
engines: {node: '>=0.4.x'}
+ formdata-node@4.4.1:
+ resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
+ engines: {node: '>= 12.20'}
+
forwarded@0.2.0:
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
engines: {node: '>= 0.6'}
@@ -2456,9 +3052,21 @@ packages:
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
engines: {node: '>= 0.4'}
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+ get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+
get-own-enumerable-property-symbols@3.0.2:
resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
+
get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
@@ -2516,6 +3124,10 @@ packages:
gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+
got@12.6.1:
resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==}
engines: {node: '>=14.16'}
@@ -2552,6 +3164,14 @@ packages:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
has-yarn@3.0.0:
resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -2617,6 +3237,9 @@ packages:
resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
engines: {node: '>=8'}
+ html-url-attributes@3.0.1:
+ resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
+
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
@@ -2676,6 +3299,12 @@ packages:
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
engines: {node: '>=10.17.0'}
+ humanize-ms@1.2.1:
+ resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
+
+ humps@2.0.1:
+ resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==}
+
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -2859,6 +3488,10 @@ packages:
is-typedarray@1.0.0:
resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+ is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+
is-wsl@2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
@@ -3074,6 +3707,10 @@ packages:
resolution: {integrity: sha512-s73fU2CQN7WCgjhaQUQ8wYESQNzGRNOKDd+3xgVqu8kuTEhmwepd/mxOv1LR2oV046ONrTLBFsM7IoKWNvmy5g==}
engines: {node: '>=18'}
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
mdast-util-directive@3.0.0:
resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==}
@@ -3145,6 +3782,10 @@ packages:
resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
engines: {node: '>= 4.0.0'}
+ merge-anything@5.1.7:
+ resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==}
+ engines: {node: '>=12.13'}
+
merge-descriptors@1.0.3:
resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
@@ -3391,10 +4032,23 @@ packages:
no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ node-domexception@1.0.0:
+ resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
+ engines: {node: '>=10.5.0'}
+
node-emoji@2.1.3:
resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==}
engines: {node: '>=18'}
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
node-forge@1.3.1:
resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
engines: {node: '>= 6.13.0'}
@@ -3472,6 +4126,15 @@ packages:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
+ openai@4.78.1:
+ resolution: {integrity: sha512-drt0lHZBd2lMyORckOXFPQTmnGLWSLt8VK0W9BhOKWpMFBEoHMoz5gxMPmVq5icp+sOrsbMnsmZTVHUlKvD1Ow==}
+ hasBin: true
+ peerDependencies:
+ zod: ^3.23.8
+ peerDependenciesMeta:
+ zod:
+ optional: true
+
opener@1.5.2:
resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
hasBin: true
@@ -3600,6 +4263,9 @@ packages:
resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
engines: {node: '>=12'}
+ path@0.12.7:
+ resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==}
+
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -3908,6 +4574,11 @@ packages:
peerDependencies:
react: '>=16.0.0'
+ prism-react-renderer@2.4.1:
+ resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==}
+ peerDependencies:
+ react: '>=16.0.0'
+
prismjs@1.29.0:
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
engines: {node: '>=6'}
@@ -3915,6 +4586,10 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+
prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -4015,6 +4690,17 @@ packages:
peerDependencies:
react: ^16.6.0 || ^17.0.0 || ^18.0.0
+ react-hook-form@7.54.2:
+ resolution: {integrity: sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ react: ^16.8.0 || ^17 || ^18 || ^19
+
+ react-icons@5.4.0:
+ resolution: {integrity: sha512-7eltJxgVt7X64oHh6wSWNwwbKTCtMfK35hcjvJS0yxEAhPM8oUKdS3+kqaW1vicIltw+kR2unHaa12S9pPALoQ==}
+ peerDependencies:
+ react: '*'
+
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
@@ -4031,6 +4717,12 @@ packages:
react-loadable: '*'
webpack: '>=4.41.1 || 5.x'
+ react-markdown@9.0.3:
+ resolution: {integrity: sha512-Yk7Z94dbgYTOrdk41Z74GoKA7rThnsbbqBTRYuxoe08qvfQ9tJVhmAKw6BJS/ZORG7kTy/s1QvYzSuaoBA1qfw==}
+ peerDependencies:
+ '@types/react': '>=18'
+ react: '>=18'
+
react-monaco-editor@0.55.0:
resolution: {integrity: sha512-GdEP0Q3Rn1dczfKEEyY08Nes5plWwIYU4sWRBQO0+jsQWQsKMHKCC6+hPRwR7G/4aA3V/iU9jSmWPzVJYMVFSQ==}
peerDependencies:
@@ -4038,6 +4730,26 @@ packages:
monaco-editor: ^0.44.0
react: '>=16 <= 18'
+ react-remove-scroll-bar@2.3.8:
+ resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-remove-scroll@2.6.3:
+ resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
react-router-config@5.1.1:
resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==}
peerDependencies:
@@ -4054,6 +4766,28 @@ packages:
peerDependencies:
react: '>=15'
+ react-style-singleton@2.2.3:
+ resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-svg@16.3.0:
+ resolution: {integrity: sha512-MvoQbITgkmpPJYwDTNdiUyoncJFfoa0D86WzoZuMQ9c/ORJURPR6rPMnXDsLOWDCAyXuV9nKZhQhGyP0HZ0MVQ==}
+ peerDependencies:
+ react: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ react-textarea-autosize@8.5.7:
+ resolution: {integrity: sha512-2MqJ3p0Jh69yt9ktFIaZmORHXw4c4bxSIhCeWiFwmJ9EYKgLmuNII3e9c9b2UO+ijl4StnpZdqpxNIhTdHvqtQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
react@18.3.1:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
@@ -4150,6 +4884,9 @@ packages:
remark-gfm@4.0.0:
resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
remark-mdx@3.1.0:
resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==}
@@ -4508,6 +5245,9 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
+ tailwind-merge@2.6.0:
+ resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==}
+
tailwindcss@3.4.15:
resolution: {integrity: sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==}
engines: {node: '>=14.0.0'}
@@ -4573,6 +5313,9 @@ packages:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'}
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
@@ -4612,6 +5355,9 @@ packages:
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
+ undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+
undici-types@6.19.8:
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
@@ -4685,22 +5431,77 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- urijs@1.19.11:
- resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==}
+ urijs@1.19.11:
+ resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==}
+
+ url-loader@4.1.1:
+ resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ file-loader: '*'
+ webpack: ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ file-loader:
+ optional: true
+
+ use-callback-ref@1.3.3:
+ resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-composed-ref@1.4.0:
+ resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-isomorphic-layout-effect@1.2.0:
+ resolution: {integrity: sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-latest@1.3.0:
+ resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- url-loader@4.1.1:
- resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
- engines: {node: '>= 10.13.0'}
+ use-sidecar@1.1.3:
+ resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
+ engines: {node: '>=10'}
peerDependencies:
- file-loader: '*'
- webpack: ^4.0.0 || ^5.0.0
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
peerDependenciesMeta:
- file-loader:
+ '@types/react':
optional: true
+ use-sync-external-store@1.5.0:
+ resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ util@0.10.4:
+ resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==}
+
utila@0.4.0:
resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
@@ -4742,6 +5543,13 @@ packages:
web-namespaces@2.0.1:
resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+ web-streams-polyfill@4.0.0-beta.3:
+ resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
+ engines: {node: '>= 14'}
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
webpack-bundle-analyzer@4.10.2:
resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==}
engines: {node: '>= 10.13.0'}
@@ -4802,6 +5610,9 @@ packages:
resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
engines: {node: '>=0.8.0'}
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
which@1.3.1:
resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
hasBin: true
@@ -6636,12 +7447,133 @@ snapshots:
- uglify-js
- webpack-cli
+ '@floating-ui/core@1.6.9':
+ dependencies:
+ '@floating-ui/utils': 0.2.9
+
+ '@floating-ui/dom@1.6.13':
+ dependencies:
+ '@floating-ui/core': 1.6.9
+ '@floating-ui/utils': 0.2.9
+
+ '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/dom': 1.6.13
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@floating-ui/utils@0.2.9': {}
+
'@hapi/hoek@9.3.0': {}
'@hapi/topo@5.1.0':
dependencies:
'@hapi/hoek': 9.3.0
+ '@inkeep/cxkit-color-mode@0.5.52': {}
+
+ '@inkeep/cxkit-docusaurus@0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@inkeep/cxkit-react': 0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ merge-anything: 5.1.7
+ path: 0.12.7
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - supports-color
+ - zod
+
+ '@inkeep/cxkit-primitives@0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@inkeep/cxkit-color-mode': 0.5.52
+ '@inkeep/cxkit-theme': 0.5.52
+ '@inkeep/cxkit-types': 0.5.52
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-avatar': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-checkbox': 1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-hover-card': 1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popover': 1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-scroll-area': 1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-select': 2.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-tabs': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-tooltip': 1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@zag-js/focus-trap': 1.8.2
+ altcha-lib: 1.2.0
+ aria-hidden: 1.2.4
+ dequal: 2.0.3
+ humps: 2.0.1
+ merge-anything: 5.1.7
+ openai: 4.78.1
+ prism-react-renderer: 2.4.1(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-hook-form: 7.54.2(react@18.3.1)
+ react-icons: 5.4.0(react@18.3.1)
+ react-markdown: 9.0.3(@types/react@18.3.12)(react@18.3.1)
+ react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@18.3.1)
+ react-svg: 16.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-textarea-autosize: 8.5.7(@types/react@18.3.12)(react@18.3.1)
+ rehype-raw: 7.0.0
+ remark-gfm: 4.0.1
+ unist-util-visit: 5.0.0
+ use-sync-external-store: 1.5.0(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - supports-color
+ - zod
+
+ '@inkeep/cxkit-react@0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@inkeep/cxkit-styled': 0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - react
+ - react-dom
+ - supports-color
+ - zod
+
+ '@inkeep/cxkit-styled@0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@inkeep/cxkit-primitives': 0.5.52(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ class-variance-authority: 0.7.1
+ clsx: 2.1.1
+ merge-anything: 5.1.7
+ tailwind-merge: 2.6.0
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - react
+ - react-dom
+ - supports-color
+ - zod
+
+ '@inkeep/cxkit-theme@0.5.52':
+ dependencies:
+ colorjs.io: 0.5.2
+
+ '@inkeep/cxkit-types@0.5.52': {}
+
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -6718,40 +7650,460 @@ snapshots:
- acorn
- supports-color
- '@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1)':
+ '@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@types/mdx': 2.0.13
+ '@types/react': 18.3.12
+ react: 18.3.1
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@pnpm/config.env-replace@1.1.0': {}
+
+ '@pnpm/network.ca-file@1.0.2':
+ dependencies:
+ graceful-fs: 4.2.10
+
+ '@pnpm/npm-conf@2.3.1':
+ dependencies:
+ '@pnpm/config.env-replace': 1.1.0
+ '@pnpm/network.ca-file': 1.0.2
+ config-chain: 1.1.13
+
+ '@polka/url@1.0.0-next.28': {}
+
+ '@radix-ui/number@1.1.0': {}
+
+ '@radix-ui/primitive@1.1.1': {}
+
+ '@radix-ui/react-arrow@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-arrow@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-avatar@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-checkbox@1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-collection@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-collection@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-dismissable-layer@1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-dismissable-layer@1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-focus-scope@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-hover-card@1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-popover@1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ aria-hidden: 1.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-popper@1.2.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-popper@1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-portal@1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-portal@1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-presence@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-primitive@2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-primitive@2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-roving-focus@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-scroll-area@1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/number': 1.1.0
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-select@2.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/number': 1.1.0
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-collection': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.2(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ aria-hidden: 1.2.4
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-remove-scroll: 2.6.3(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-slot@1.1.1(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-slot@1.1.2(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-tabs@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@types/mdx': 2.0.13
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
'@types/react': 18.3.12
+
+ '@radix-ui/react-tooltip@1.1.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.1
+ '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.3(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-visually-hidden': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@nodelib/fs.scandir@2.1.5':
+ '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@nodelib/fs.stat@2.0.5': {}
+ '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@nodelib/fs.walk@1.2.8':
+ '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@pkgjs/parseargs@0.11.0':
- optional: true
+ '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@pnpm/config.env-replace@1.1.0': {}
+ '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@pnpm/network.ca-file@1.0.2':
+ '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- graceful-fs: 4.2.10
+ '@radix-ui/rect': 1.1.0
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@pnpm/npm-conf@2.3.1':
+ '@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@pnpm/config.env-replace': 1.1.0
- '@pnpm/network.ca-file': 1.0.2
- config-chain: 1.1.13
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@polka/url@1.0.0-next.28': {}
+ '@radix-ui/react-visually-hidden@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/react-visually-hidden@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.0.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ '@radix-ui/rect@1.1.0': {}
'@sideway/address@4.1.5':
dependencies:
@@ -6903,6 +8255,12 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
+ '@tanem/svg-injector@10.1.68':
+ dependencies:
+ '@babel/runtime': 7.26.0
+ content-type: 1.0.5
+ tslib: 2.8.1
+
'@trysound/sax@0.2.0': {}
'@types/acorn@4.0.6':
@@ -7010,12 +8368,21 @@ snapshots:
'@types/ms@0.7.34': {}
+ '@types/node-fetch@2.6.12':
+ dependencies:
+ '@types/node': 22.9.0
+ form-data: 4.0.2
+
'@types/node-forge@1.3.11':
dependencies:
'@types/node': 22.9.0
'@types/node@17.0.45': {}
+ '@types/node@18.19.86':
+ dependencies:
+ undici-types: 5.26.5
+
'@types/node@22.9.0':
dependencies:
undici-types: 6.19.8
@@ -7026,6 +8393,8 @@ snapshots:
'@types/prop-types@15.7.13': {}
+ '@types/prop-types@15.7.14': {}
+
'@types/qs@6.9.17': {}
'@types/range-parser@1.2.7': {}
@@ -7175,6 +8544,22 @@ snapshots:
'@xtuc/long@4.2.2': {}
+ '@zag-js/dom-query@1.8.2':
+ dependencies:
+ '@zag-js/types': 1.8.2
+
+ '@zag-js/focus-trap@1.8.2':
+ dependencies:
+ '@zag-js/dom-query': 1.8.2
+
+ '@zag-js/types@1.8.2':
+ dependencies:
+ csstype: 3.1.3
+
+ abort-controller@3.0.0:
+ dependencies:
+ event-target-shim: 5.0.1
+
accepts@1.3.8:
dependencies:
mime-types: 2.1.35
@@ -7194,6 +8579,10 @@ snapshots:
address@1.2.2: {}
+ agentkeepalive@4.6.0:
+ dependencies:
+ humanize-ms: 1.2.1
+
aggregate-error@3.1.0:
dependencies:
clean-stack: 2.2.0
@@ -7265,6 +8654,8 @@ snapshots:
'@algolia/requester-fetch': 5.14.2
'@algolia/requester-node-http': 5.14.2
+ altcha-lib@1.2.0: {}
+
ansi-align@3.0.1:
dependencies:
string-width: 4.2.3
@@ -7300,12 +8691,18 @@ snapshots:
argparse@2.0.1: {}
+ aria-hidden@1.2.4:
+ dependencies:
+ tslib: 2.8.1
+
array-flatten@1.1.1: {}
array-union@2.1.0: {}
astring@1.9.0: {}
+ asynckit@0.4.0: {}
+
at-least-node@1.0.0: {}
autoprefixer@10.4.20(postcss@8.4.49):
@@ -7447,6 +8844,11 @@ snapshots:
normalize-url: 8.0.1
responselike: 3.0.0
+ call-bind-apply-helpers@1.0.2:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+
call-bind@1.0.7:
dependencies:
es-define-property: 1.0.0
@@ -7531,6 +8933,10 @@ snapshots:
ci-info@3.9.0: {}
+ class-variance-authority@0.7.1:
+ dependencies:
+ clsx: 2.1.1
+
clean-css@5.3.3:
dependencies:
source-map: 0.6.1
@@ -7565,8 +8971,14 @@ snapshots:
colorette@2.0.20: {}
+ colorjs.io@0.5.2: {}
+
combine-promises@1.2.0: {}
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
comma-separated-tokens@2.0.3: {}
commander@10.0.1: {}
@@ -7854,6 +9266,8 @@ snapshots:
rimraf: 3.0.2
slash: 3.0.0
+ delayed-stream@1.0.0: {}
+
depd@1.1.2: {}
depd@2.0.0: {}
@@ -7864,6 +9278,8 @@ snapshots:
destroy@1.2.0: {}
+ detect-node-es@1.1.0: {}
+
detect-node@2.1.0: {}
detect-port-alt@1.1.6:
@@ -7963,6 +9379,12 @@ snapshots:
dependencies:
is-obj: 2.0.0
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
duplexer@0.1.2: {}
eastasianwidth@0.2.0: {}
@@ -8002,10 +9424,23 @@ snapshots:
dependencies:
get-intrinsic: 1.2.4
+ es-define-property@1.0.1: {}
+
es-errors@1.3.0: {}
es-module-lexer@1.5.4: {}
+ es-object-atoms@1.1.1:
+ dependencies:
+ es-errors: 1.3.0
+
+ es-set-tostringtag@2.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
esast-util-from-estree@2.0.0:
dependencies:
'@types/estree-jsx': 1.0.5
@@ -8095,6 +9530,8 @@ snapshots:
'@types/node': 22.9.0
require-like: 0.1.2
+ event-target-shim@5.0.1: {}
+
eventemitter3@4.0.7: {}
events@3.3.0: {}
@@ -8259,10 +9696,24 @@ snapshots:
typescript: 5.6.3
webpack: 5.96.1
+ form-data-encoder@1.7.2: {}
+
form-data-encoder@2.1.4: {}
+ form-data@4.0.2:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ es-set-tostringtag: 2.1.0
+ mime-types: 2.1.35
+
format@0.2.2: {}
+ formdata-node@4.4.1:
+ dependencies:
+ node-domexception: 1.0.0
+ web-streams-polyfill: 4.0.0-beta.3
+
forwarded@0.2.0: {}
fraction.js@4.3.7: {}
@@ -8301,8 +9752,28 @@ snapshots:
has-symbols: 1.0.3
hasown: 2.0.2
+ get-intrinsic@1.3.0:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ function-bind: 1.1.2
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ hasown: 2.0.2
+ math-intrinsics: 1.1.0
+
+ get-nonce@1.0.1: {}
+
get-own-enumerable-property-symbols@3.0.2: {}
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
+
get-stream@6.0.1: {}
github-slugger@1.5.0: {}
@@ -8381,6 +9852,8 @@ snapshots:
dependencies:
get-intrinsic: 1.2.4
+ gopd@1.2.0: {}
+
got@12.6.1:
dependencies:
'@sindresorhus/is': 5.6.0
@@ -8422,6 +9895,12 @@ snapshots:
has-symbols@1.0.3: {}
+ has-symbols@1.1.0: {}
+
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.0.3
+
has-yarn@3.0.0: {}
hasown@2.0.2:
@@ -8570,6 +10049,8 @@ snapshots:
html-tags@3.3.1: {}
+ html-url-attributes@3.0.1: {}
+
html-void-elements@3.0.0: {}
html-webpack-plugin@5.6.3(webpack@5.96.1):
@@ -8644,6 +10125,12 @@ snapshots:
human-signals@2.1.0: {}
+ humanize-ms@1.2.1:
+ dependencies:
+ ms: 2.1.3
+
+ humps@2.0.1: {}
+
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
@@ -8770,6 +10257,8 @@ snapshots:
is-typedarray@1.0.0: {}
+ is-what@4.1.16: {}
+
is-wsl@2.2.0:
dependencies:
is-docker: 2.2.1
@@ -8974,6 +10463,8 @@ snapshots:
markdown-it: 14.1.0
markdownlint-micromark: 0.1.12
+ math-intrinsics@1.1.0: {}
+
mdast-util-directive@3.0.0:
dependencies:
'@types/mdast': 4.0.4
@@ -9173,6 +10664,10 @@ snapshots:
dependencies:
fs-monkey: 1.0.6
+ merge-anything@5.1.7:
+ dependencies:
+ is-what: 4.1.16
+
merge-descriptors@1.0.3: {}
merge-stream@2.0.0: {}
@@ -9563,6 +11058,8 @@ snapshots:
lower-case: 2.0.2
tslib: 2.8.1
+ node-domexception@1.0.0: {}
+
node-emoji@2.1.3:
dependencies:
'@sindresorhus/is': 4.6.0
@@ -9570,6 +11067,10 @@ snapshots:
emojilib: 2.4.0
skin-tone: 2.0.0
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
node-forge@1.3.1: {}
node-releases@2.0.18: {}
@@ -9633,6 +11134,18 @@ snapshots:
is-docker: 2.2.1
is-wsl: 2.2.0
+ openai@4.78.1:
+ dependencies:
+ '@types/node': 18.19.86
+ '@types/node-fetch': 2.6.12
+ abort-controller: 3.0.0
+ agentkeepalive: 4.6.0
+ form-data-encoder: 1.7.2
+ formdata-node: 4.4.1
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+
opener@1.5.2: {}
p-cancelable@3.0.0: {}
@@ -9757,6 +11270,11 @@ snapshots:
path-type@5.0.0: {}
+ path@0.12.7:
+ dependencies:
+ process: 0.11.10
+ util: 0.10.4
+
picocolors@1.1.1: {}
picomatch@2.3.1: {}
@@ -10033,10 +11551,18 @@ snapshots:
clsx: 2.1.1
react: 18.3.1
+ prism-react-renderer@2.4.1(react@18.3.1):
+ dependencies:
+ '@types/prismjs': 1.26.5
+ clsx: 2.1.1
+ react: 18.3.1
+
prismjs@1.29.0: {}
process-nextick-args@2.0.1: {}
+ process@0.11.10: {}
+
prompts@2.4.2:
dependencies:
kleur: 3.0.3
@@ -10170,6 +11696,14 @@ snapshots:
react-fast-compare: 3.2.2
shallowequal: 1.1.0
+ react-hook-form@7.54.2(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
+ react-icons@5.4.0(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
react-is@16.13.1: {}
react-json-view-lite@1.5.0(react@18.3.1):
@@ -10182,6 +11716,23 @@ snapshots:
react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)'
webpack: 5.96.1
+ react-markdown@9.0.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/react': 18.3.12
+ devlop: 1.1.0
+ hast-util-to-jsx-runtime: 2.3.2
+ html-url-attributes: 3.0.1
+ mdast-util-to-hast: 13.2.0
+ react: 18.3.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.1
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
react-monaco-editor@0.55.0(@types/react@18.3.12)(monaco-editor@0.44.0)(react@18.3.1):
dependencies:
'@types/react': 18.3.12
@@ -10189,6 +11740,25 @@ snapshots:
prop-types: 15.8.1
react: 18.3.1
+ react-remove-scroll-bar@2.3.8(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-style-singleton: 2.2.3(@types/react@18.3.12)(react@18.3.1)
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ react-remove-scroll@2.6.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-remove-scroll-bar: 2.3.8(@types/react@18.3.12)(react@18.3.1)
+ react-style-singleton: 2.2.3(@types/react@18.3.12)(react@18.3.1)
+ tslib: 2.8.1
+ use-callback-ref: 1.3.3(@types/react@18.3.12)(react@18.3.1)
+ use-sidecar: 1.1.3(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
react-router-config@5.1.1(react-router@5.3.4(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.26.0
@@ -10219,6 +11789,32 @@ snapshots:
tiny-invariant: 1.3.3
tiny-warning: 1.0.3
+ react-style-singleton@2.2.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ get-nonce: 1.0.1
+ react: 18.3.1
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ react-svg@16.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ '@tanem/svg-injector': 10.1.68
+ '@types/prop-types': 15.7.14
+ prop-types: 15.8.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ react-textarea-autosize@8.5.7(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.26.0
+ react: 18.3.1
+ use-composed-ref: 1.4.0(@types/react@18.3.12)(react@18.3.1)
+ use-latest: 1.3.0(@types/react@18.3.12)(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+
react@18.3.1:
dependencies:
loose-envify: 1.4.0
@@ -10375,6 +11971,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ remark-gfm@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.0.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
remark-mdx@3.1.0:
dependencies:
mdast-util-mdx: 3.0.0
@@ -10792,6 +12399,8 @@ snapshots:
csso: 5.0.5
picocolors: 1.1.1
+ tailwind-merge@2.6.0: {}
+
tailwindcss@3.4.15:
dependencies:
'@alloc/quick-lru': 5.2.0
@@ -10863,6 +12472,8 @@ snapshots:
totalist@3.0.1: {}
+ tr46@0.0.3: {}
+
trim-lines@3.0.1: {}
trough@2.2.0: {}
@@ -10890,6 +12501,8 @@ snapshots:
uc.micro@2.1.0: {}
+ undici-types@5.26.5: {}
+
undici-types@6.19.8: {}
unicode-canonical-property-names-ecmascript@2.0.1: {}
@@ -10990,8 +12603,50 @@ snapshots:
optionalDependencies:
file-loader: 6.2.0(webpack@5.96.1)
+ use-callback-ref@1.3.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-composed-ref@1.4.0(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-isomorphic-layout-effect@1.2.0(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-latest@1.3.0(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.12)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-sidecar@1.1.3(@types/react@18.3.12)(react@18.3.1):
+ dependencies:
+ detect-node-es: 1.1.0
+ react: 18.3.1
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 18.3.12
+
+ use-sync-external-store@1.5.0(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+
util-deprecate@1.0.2: {}
+ util@0.10.4:
+ dependencies:
+ inherits: 2.0.3
+
utila@0.4.0: {}
utility-types@3.11.0: {}
@@ -11030,6 +12685,10 @@ snapshots:
web-namespaces@2.0.1: {}
+ web-streams-polyfill@4.0.0-beta.3: {}
+
+ webidl-conversions@3.0.1: {}
+
webpack-bundle-analyzer@4.10.2:
dependencies:
'@discoveryjs/json-ext': 0.5.7
@@ -11161,6 +12820,11 @@ snapshots:
websocket-extensions@0.1.4: {}
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
which@1.3.1:
dependencies:
isexe: 2.0.0
diff --git a/sidebars.ts b/sidebars.ts
index 5f41290e..3deb1cb8 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -29,13 +29,182 @@ import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"
const sidebars: SidebarsConfig = {
docsSidebar: [
{
- type: "autogenerated",
- dirName: ".",
+ type: "category",
+ collapsed: true,
+ 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: true,
+ 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: true,
+ label: "Configure CodeRabbit",
+ items: [
+ "getting-started/configure-coderabbit",
+ "integrations/knowledge-base",
+ "guides/review-instructions",
+ "tools/tools",
+ ],
+ },
+ {
+ type: "category",
+ 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",
+ collapsed: true,
+ label: "Analyze and improve your code",
+ items: [
+ "integrations/code-graph-analysis",
+ "finishing-touches/docstrings",
+ ],
+ },
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Create and resolve issues",
+ items: [
+ "integrations/issue-integrations",
+ "guides/issue-chat",
+ "guides/issue-creation",
+ "guides/linked-issues",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Review local changes",
+ items: [
+ "guides/about-vscode",
+ "guides/install-vscode",
+ "guides/use-vscode",
+ "guides/config-vscode",
+ "guides/uninstall-vscode",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Generate reports",
+ items: [
+ "guides/reports-overview",
+ "guides/scheduled-reports",
+ "guides/ondemand-reports",
+ "guides/custom-reports",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Best practices",
+ items: [
+ "guides/setup-best-practices",
+ "guides/code-review-best-practices",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Reference",
+ items: [
+ {
+ type: "link",
+ label: "CodeRabbit API",
+ href: "https://api.coderabbit.ai/api/swagger/",
+ },
+ "reference/review-commands",
+ {
+ type: "category",
+ label: "Supported tools",
+ collapsed: true,
+ items: [
+ "tools/list",
+ "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/luacheck",
+ "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",
+ ],
+ },
+ "reference/caching",
+ ],
+ },
+ {
+ type: "category",
+ collapsed: true,
+ label: "Resources",
+ items: [
+ "getting-started/support",
+ "getting-started/subscription-management",
+ "overview/why-coderabbit",
+ "faq",
+ "early-access",
+ "future-development",
+ "changelog",
+ ],
},
],
}
diff --git a/src/css/custom.css b/src/css/custom.css
index 161e174a..933d51d0 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -90,19 +90,6 @@ a[docid="docs"] > svg {
align-items: center;
}
-@media screen and (max-width: 480px) {
- a.navbar__item.navbar__link[docid="docs"] {
- display: none !important;
- }
-}
-
-@media screen and (max-width: 480px) {
- a.navbar__item.navbar__link[href="https://coderabbit.ai/blog"]
- {
- display: none;
- }
-}
-
[data-theme="light"] img[src$="#gh-dark-mode-only"],
[data-theme="dark"] img[src$="#gh-light-mode-only"] {
display: none;
@@ -157,19 +144,6 @@ a[docid="docs"] > svg {
align-items: center;
}
-@media screen and (max-width: 480px) {
- a.navbar__item.navbar__link[docid="docs"] {
- display: none !important;
- }
-}
-
-@media screen and (max-width: 480px) {
- a.navbar__item.navbar__link[href="https://coderabbit.ai/blog"]
- {
- display: none;
- }
-}
-
/* Light mode Discord icon */
/* .header-discord-link:before {
-webkit-filter: invert(100%);
@@ -263,39 +237,64 @@ a[docid="docs"] > svg {
}
/* Light mode specific styles */
-[data-theme="light"] {
- .navbar-icon-link::before {
- opacity: 0.7;
- }
+[data-theme="light"] .navbar-icon-link::before {
+ opacity: 0.7;
+}
- .navbar-icon-link:hover::before {
- opacity: 0.9;
- }
+[data-theme="light"] .navbar-icon-link:hover::before {
+ opacity: 0.9;
+}
- .discord-link::before {
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36' fill='%23424242'%3E%3Cpath d='M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z'/%3E%3C/svg%3E");
- }
+[data-theme="light"] .discord-link::before {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36' fill='%23424242'%3E%3Cpath d='M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z'/%3E%3C/svg%3E");
+}
- .github-link::before {
- background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%23424242'%3E%3Cpath d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E");
- }
+[data-theme="light"] .github-link::before {
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%23424242'%3E%3Cpath d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E");
}
/* Dark mode specific styles */
-[data-theme="dark"] {
- .navbar-icon-link::before {
- opacity: 0.85;
- }
+[data-theme="dark"] .navbar-icon-link::before {
+ opacity: 0.85;
+}
+
+[data-theme="dark"] .navbar-icon-link:hover::before {
+ opacity: 1;
+}
+
+[data-theme="dark"] .discord-link::before {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36' fill='%23fff'%3E%3Cpath d='M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z'/%3E%3C/svg%3E");
+}
+
+[data-theme="dark"] .github-link::before {
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E");
+}
+
+.center-image {
+ text-align: center;
+}
- .navbar-icon-link:hover::before {
- opacity: 1;
+@media screen and (max-width: 480px) {
+ a.navbar__item.navbar__link[href="/"] {
+ display: none;
}
+}
- .discord-link::before {
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 127.14 96.36' fill='%23fff'%3E%3Cpath d='M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z'/%3E%3C/svg%3E");
+@media screen and (max-width: 480px) {
+ a.navbar__item.navbar__link[href*="https://docs.coderabbit.ai"]
+ {
+ display: none;
}
+}
- .github-link::before {
- background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z'/%3E%3C/svg%3E");
+@media screen and (max-width: 480px) {
+ a.navbar__item.navbar__link[href*="https://coderabbit.ai/blog"]
+ {
+ display: none;
}
}
+
+/* Disable automatic next/previous pagination links */
+.pagination-nav {
+ display: none;
+}
diff --git a/static/img/faq/add-repository.png b/static/img/faq/add-repository.png
new file mode 100644
index 00000000..e69c4a7c
Binary files /dev/null and b/static/img/faq/add-repository.png differ
diff --git a/static/img/faq/coderabbit-github-menu.png b/static/img/faq/coderabbit-github-menu.png
new file mode 100644
index 00000000..c599ca95
Binary files /dev/null and b/static/img/faq/coderabbit-github-menu.png differ
diff --git a/static/img/faq/github-app-settings.png b/static/img/faq/github-app-settings.png
new file mode 100644
index 00000000..ff120953
Binary files /dev/null and b/static/img/faq/github-app-settings.png differ
diff --git a/static/img/faq/gitlab-webhook.png b/static/img/faq/gitlab-webhook.png
new file mode 100644
index 00000000..a233f902
Binary files /dev/null and b/static/img/faq/gitlab-webhook.png differ
diff --git a/static/img/faq/seat-assignment.png b/static/img/faq/seat-assignment.png
new file mode 100644
index 00000000..073194be
Binary files /dev/null and b/static/img/faq/seat-assignment.png differ
diff --git a/static/img/faq/select-repos.png b/static/img/faq/select-repos.png
new file mode 100644
index 00000000..1c1222ff
Binary files /dev/null and b/static/img/faq/select-repos.png differ
diff --git a/static/img/getting-started/billing-history.png b/static/img/getting-started/billing-history.png
new file mode 100644
index 00000000..8fd36af6
Binary files /dev/null and b/static/img/getting-started/billing-history.png differ
diff --git a/static/img/getting-started/change-plan.png b/static/img/getting-started/change-plan.png
new file mode 100644
index 00000000..e41f00ce
Binary files /dev/null and b/static/img/getting-started/change-plan.png differ
diff --git a/static/img/getting-started/change-seats.png b/static/img/getting-started/change-seats.png
new file mode 100644
index 00000000..cc736ac5
Binary files /dev/null and b/static/img/getting-started/change-seats.png differ
diff --git a/static/img/getting-started/check-for-new-orgs.png b/static/img/getting-started/check-for-new-orgs.png
new file mode 100644
index 00000000..d0049686
Binary files /dev/null and b/static/img/getting-started/check-for-new-orgs.png differ
diff --git a/static/img/getting-started/download-invoice.png b/static/img/getting-started/download-invoice.png
new file mode 100644
index 00000000..5451693d
Binary files /dev/null and b/static/img/getting-started/download-invoice.png differ
diff --git a/static/img/getting-started/edit-subscription.png b/static/img/getting-started/edit-subscription.png
new file mode 100644
index 00000000..065d0cc2
Binary files /dev/null and b/static/img/getting-started/edit-subscription.png differ
diff --git a/static/img/getting-started/grant-permission.png b/static/img/getting-started/grant-permission.png
new file mode 100644
index 00000000..e9654574
Binary files /dev/null and b/static/img/getting-started/grant-permission.png differ
diff --git a/static/img/getting-started/manage-subscription.png b/static/img/getting-started/manage-subscription.png
new file mode 100644
index 00000000..1234acf9
Binary files /dev/null and b/static/img/getting-started/manage-subscription.png differ
diff --git a/static/img/getting-started/permission-warning.png b/static/img/getting-started/permission-warning.png
new file mode 100644
index 00000000..6283c930
Binary files /dev/null and b/static/img/getting-started/permission-warning.png differ
diff --git a/static/img/getting-started/quickstart-comment.png b/static/img/getting-started/quickstart-comment.png
new file mode 100644
index 00000000..9813172b
Binary files /dev/null and b/static/img/getting-started/quickstart-comment.png differ
diff --git a/static/img/getting-started/subscription-page.png b/static/img/getting-started/subscription-page.png
new file mode 100644
index 00000000..8fb90f96
Binary files /dev/null and b/static/img/getting-started/subscription-page.png differ
diff --git a/static/img/getting-started/updated-permissions.png b/static/img/getting-started/updated-permissions.png
new file mode 100644
index 00000000..37ef9038
Binary files /dev/null and b/static/img/getting-started/updated-permissions.png differ
diff --git a/static/img/guides/agentic-thought-chain.png b/static/img/guides/agentic-thought-chain.png
new file mode 100644
index 00000000..1fd49a55
Binary files /dev/null and b/static/img/guides/agentic-thought-chain.png differ
diff --git a/static/img/guides/chat-example.png b/static/img/guides/chat-example.png
new file mode 100644
index 00000000..3acb40e1
Binary files /dev/null and b/static/img/guides/chat-example.png differ
diff --git a/static/img/guides/chat-learnings-use.png b/static/img/guides/chat-learnings-use.png
new file mode 100644
index 00000000..f1b3a2f1
Binary files /dev/null and b/static/img/guides/chat-learnings-use.png differ
diff --git a/static/img/guides/chat-script-execution.png b/static/img/guides/chat-script-execution.png
new file mode 100644
index 00000000..4cd29f97
Binary files /dev/null and b/static/img/guides/chat-script-execution.png differ
diff --git a/static/img/guides/create-issue-agentic.png b/static/img/guides/create-issue-agentic.png
new file mode 100644
index 00000000..a7ad04ae
Binary files /dev/null and b/static/img/guides/create-issue-agentic.png differ
diff --git a/static/img/guides/create-issue-inline.png b/static/img/guides/create-issue-inline.png
new file mode 100644
index 00000000..873df82f
Binary files /dev/null and b/static/img/guides/create-issue-inline.png differ
diff --git a/static/img/guides/example-report-1.png b/static/img/guides/example-report-1.png
new file mode 100644
index 00000000..d88931a5
Binary files /dev/null and b/static/img/guides/example-report-1.png differ
diff --git a/static/img/guides/example-report-2.png b/static/img/guides/example-report-2.png
new file mode 100644
index 00000000..98a54896
Binary files /dev/null and b/static/img/guides/example-report-2.png differ
diff --git a/static/img/guides/feature-planning.png b/static/img/guides/feature-planning.png
new file mode 100644
index 00000000..017d3e4b
Binary files /dev/null and b/static/img/guides/feature-planning.png differ
diff --git a/static/img/guides/gitlab-issue-chat.png b/static/img/guides/gitlab-issue-chat.png
new file mode 100644
index 00000000..0b6a1f69
Binary files /dev/null and b/static/img/guides/gitlab-issue-chat.png differ
diff --git a/static/img/guides/high-level-docs.png b/static/img/guides/high-level-docs.png
new file mode 100644
index 00000000..702c5dee
Binary files /dev/null and b/static/img/guides/high-level-docs.png differ
diff --git a/static/img/guides/linked-issue.png b/static/img/guides/linked-issue.png
new file mode 100644
index 00000000..ba585890
Binary files /dev/null and b/static/img/guides/linked-issue.png differ
diff --git a/static/img/guides/marketing-posts.png b/static/img/guides/marketing-posts.png
new file mode 100644
index 00000000..ce607fd4
Binary files /dev/null and b/static/img/guides/marketing-posts.png differ
diff --git a/static/img/guides/open-source-support.png b/static/img/guides/open-source-support.png
new file mode 100644
index 00000000..14c35530
Binary files /dev/null and b/static/img/guides/open-source-support.png differ
diff --git a/static/img/guides/report-params.png b/static/img/guides/report-params.png
new file mode 100644
index 00000000..abde1754
Binary files /dev/null and b/static/img/guides/report-params.png differ
diff --git a/static/img/guides/report-platforms.png b/static/img/guides/report-platforms.png
new file mode 100644
index 00000000..f762091e
Binary files /dev/null and b/static/img/guides/report-platforms.png differ
diff --git a/static/img/integrations/azure-access-token.png b/static/img/integrations/azure-access-token.png
index 9ce2b44b..2b3111b1 100644
Binary files a/static/img/integrations/azure-access-token.png and b/static/img/integrations/azure-access-token.png differ
diff --git a/static/img/integrations/bitbucket-app-password-modal.png b/static/img/integrations/bitbucket-app-password-modal.png
new file mode 100644
index 00000000..fd6c556b
Binary files /dev/null and b/static/img/integrations/bitbucket-app-password-modal.png differ
diff --git a/static/img/integrations/bitbucket-app-password-page.png b/static/img/integrations/bitbucket-app-password-page.png
new file mode 100644
index 00000000..c9e25cbe
Binary files /dev/null and b/static/img/integrations/bitbucket-app-password-page.png differ
diff --git a/static/img/integrations/bitbucket-app-password-permissions.png b/static/img/integrations/bitbucket-app-password-permissions.png
new file mode 100644
index 00000000..7e27e6af
Binary files /dev/null and b/static/img/integrations/bitbucket-app-password-permissions.png differ
diff --git a/static/img/integrations/bitbucket-webhook.png b/static/img/integrations/bitbucket-webhook.png
new file mode 100644
index 00000000..687c9b78
Binary files /dev/null and b/static/img/integrations/bitbucket-webhook.png differ
diff --git a/static/img/integrations/gitlab-repo-install.png b/static/img/integrations/gitlab-repo-install.png
new file mode 100644
index 00000000..498443ee
Binary files /dev/null and b/static/img/integrations/gitlab-repo-install.png differ
diff --git a/static/img/integrations/gitlab-webhook.png b/static/img/integrations/gitlab-webhook.png
new file mode 100644
index 00000000..e02e0bfa
Binary files /dev/null and b/static/img/integrations/gitlab-webhook.png differ
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/logo.png b/static/img/integrations/logo.png
new file mode 100644
index 00000000..18eb4911
Binary files /dev/null and b/static/img/integrations/logo.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/img/tools/az-devops-pipeline.png b/static/img/tools/az-devops-pipeline.png
new file mode 100644
index 00000000..b06dafab
Binary files /dev/null and b/static/img/tools/az-devops-pipeline.png differ
diff --git a/static/img/tools/circle-cicd.png b/static/img/tools/circle-cicd.png
new file mode 100644
index 00000000..9af6cf95
Binary files /dev/null and b/static/img/tools/circle-cicd.png differ
diff --git a/static/img/tools/docker-build-cicd.png b/static/img/tools/docker-build-cicd.png
new file mode 100644
index 00000000..01e6ed58
Binary files /dev/null and b/static/img/tools/docker-build-cicd.png differ
diff --git a/static/img/tools/gitlab-advanced-security.png b/static/img/tools/gitlab-advanced-security.png
new file mode 100644
index 00000000..94dc3d75
Binary files /dev/null and b/static/img/tools/gitlab-advanced-security.png differ
diff --git a/static/img/tools/gitlab-cicd.png b/static/img/tools/gitlab-cicd.png
new file mode 100644
index 00000000..0f9c029f
Binary files /dev/null and b/static/img/tools/gitlab-cicd.png differ
diff --git a/static/img/tools/java-cicd.png b/static/img/tools/java-cicd.png
new file mode 100644
index 00000000..b90ec904
Binary files /dev/null and b/static/img/tools/java-cicd.png differ
diff --git a/static/img/tools/kubernetes-cicd.png b/static/img/tools/kubernetes-cicd.png
new file mode 100644
index 00000000..3b8beb53
Binary files /dev/null and b/static/img/tools/kubernetes-cicd.png differ
diff --git a/static/img/tools/npm-cicd.png b/static/img/tools/npm-cicd.png
new file mode 100644
index 00000000..f0402362
Binary files /dev/null and b/static/img/tools/npm-cicd.png differ
diff --git a/static/img/tools/python-cicd.png b/static/img/tools/python-cicd.png
new file mode 100644
index 00000000..cab40924
Binary files /dev/null and b/static/img/tools/python-cicd.png differ
diff --git a/static/img/tools/semgrep-cicd.png b/static/img/tools/semgrep-cicd.png
new file mode 100644
index 00000000..261cfb5e
Binary files /dev/null and b/static/img/tools/semgrep-cicd.png differ
diff --git a/static/img/tools/terraform-cicd.png b/static/img/tools/terraform-cicd.png
new file mode 100644
index 00000000..ede7a0c2
Binary files /dev/null and b/static/img/tools/terraform-cicd.png differ
diff --git a/static/schema/schema.v2.json b/static/schema/schema.v2.json
index 105ad584..afee77cb 100644
--- a/static/schema/schema.v2.json
+++ b/static/schema/schema.v2.json
@@ -82,6 +82,8 @@
"zh",
"crh-UA",
"crh",
+ "cs-CZ",
+ "cs",
"nb",
"no",
"nl-NL",
@@ -91,7 +93,9 @@
"fa-IR",
"sv-SE",
"de-LU",
- "fr-FR"
+ "fr-FR",
+ "bg-BG",
+ "bg"
],
"default": "en-US",
"description": "Set the language for reviews by using the corresponding ISO language code."
@@ -136,11 +140,21 @@
"default": "@coderabbitai summary",
"description": "Placeholder in the PR/MR description that gets replaced with the high level summary."
},
+ "high_level_summary_in_walkthrough": {
+ "type": "boolean",
+ "default": false,
+ "description": "Include the high level summary in the walkthrough comment."
+ },
"auto_title_placeholder": {
"type": "string",
"default": "@coderabbitai",
"description": "Add this keyword in the PR/MR title to auto-generate the title."
},
+ "auto_title_instructions": {
+ "type": "string",
+ "default": "",
+ "description": "Auto Title Instructions | Custom instructions for auto-generating the PR/MR title."
+ },
"review_status": {
"type": "boolean",
"default": true,
@@ -151,6 +165,11 @@
"default": true,
"description": "Set the commit status to 'pending' when the review is in progress and 'success' when it is complete."
},
+ "fail_commit_status": {
+ "type": "boolean",
+ "default": false,
+ "description": "Set the commit status to 'failure' when the PR cannot be reviewed by CodeRabbit for any reason."
+ },
"collapse_walkthrough": {
"type": "boolean",
"default": false,
@@ -186,11 +205,21 @@
"default": true,
"description": "Suggest labels based on the changes in the pull request in the walkthrough."
},
+ "auto_apply_labels": {
+ "type": "boolean",
+ "default": false,
+ "description": "Automatically apply the suggested labels to the PR/MR."
+ },
"suggested_reviewers": {
"type": "boolean",
"default": true,
"description": "Suggest reviewers based on the changes in the pull request in the walkthrough."
},
+ "auto_assign_reviewers": {
+ "type": "boolean",
+ "default": false,
+ "description": "Automatically assign suggested reviewers to the pull request"
+ },
"poem": {
"type": "boolean",
"default": true,
@@ -223,7 +252,7 @@
"type": "string"
},
"default": [],
- "description": "Specify file patterns to exclude or include for a review. Accepts glob patterns. Example: !dist/**, src/**"
+ "description": "Specify file patterns to include or exclude in a review using glob patterns (e.g., !dist/**, src/**). These patterns also apply to 'git sparse-checkout', including specified patterns and ignoring excluded ones (starting with '!') when cloning the repository."
},
"path_instructions": {
"type": "array",
@@ -236,7 +265,7 @@
},
"instructions": {
"type": "string",
- "maxLength": 3000,
+ "maxLength": 20000,
"description": "Provides specific additional guidelines for code review based on file paths."
}
},
@@ -251,6 +280,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": {
@@ -297,6 +331,39 @@
"additionalProperties": false,
"default": {}
},
+ "finishing_touches": {
+ "type": "object",
+ "properties": {
+ "docstrings": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Docstrings | Allow CodeRabbit to generate docstrings for PRs/MRs."
+ }
+ },
+ "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,
+ "default": {}
+ },
"tools": {
"type": "object",
"properties": {
@@ -308,6 +375,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "List of rules directories."
},
"util_dirs": {
@@ -315,6 +383,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "List of utils directories."
},
"essential_rules": {
@@ -332,7 +401,8 @@
}
},
"additionalProperties": false,
- "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"
+ "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"
},
"shellcheck": {
"type": "object",
@@ -340,12 +410,12 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable ShellCheck | ShellCheck is a static analysis tool that finds bugs in your shell. | Enable shellcheck integration. | v0.10.0"
+ "description": "Enable ShellCheck | ShellCheck is a static analysis tool that finds bugs in your shell. | Enable ShellCheck integration. | v0.10.0"
}
},
"additionalProperties": false,
"default": {},
- "description": "Shellcheck is a static analysis tool that finds bugs in your shell scripts."
+ "description": "ShellCheck is a static analysis tool that finds bugs in your shell scripts."
},
"ruff": {
"type": "object",
@@ -353,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,
@@ -366,12 +436,12 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable Markdownlint | Markdownlint is a static analysis tool for Node.js with a library of rules to enforce standards and consistency for Markdown files. | Enable markdownlint integration. | v0.37.0"
+ "description": "Enable markdownlint | markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files. | Enable markdownlint integration. | v0.17.2"
}
},
"additionalProperties": false,
"default": {},
- "description": "Markdownlint is a static analysis tool to enforce standards and consistency for Markdown files."
+ "description": "markdownlint-cli2 is a static analysis tool to enforce standards and consistency for Markdown files."
},
"github-checks": {
"type": "object",
@@ -383,7 +453,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."
@@ -406,6 +476,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of rules to be enabled. The rule won't run unless 'level' is set to a level that activates the rule."
},
"disabled_rules": {
@@ -413,6 +484,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of rules to be disabled. Note: EN_UNPAIRED_BRACKETS, and EN_UNPAIRED_QUOTES are always disabled."
},
"enabled_categories": {
@@ -420,6 +492,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of categories to be enabled."
},
"disabled_categories": {
@@ -427,6 +500,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of categories to be disabled. Note: TYPOS, TYPOGRAPHY, and CASING are always disabled."
},
"enabled_only": {
@@ -494,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",
@@ -526,7 +600,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable golangci-lint | golangci-lint is a fast linters runner for Go. | Enable golangci-lint integration. | v1.62.2"
+ "description": "Enable golangci-lint | golangci-lint is a fast linters runner for Go. | Enable golangci-lint integration. | v1.64.8"
},
"config_file": {
"type": "string",
@@ -543,12 +617,12 @@
"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,
"default": {},
- "description": "yamllint is a linter for YAML files."
+ "description": "YAMLlint is a linter for YAML files."
},
"gitleaks": {
"type": "object",
@@ -556,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,
@@ -582,11 +656,11 @@
"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",
- "description": "Optional path to the Detekt configuration file relative to the repository."
+ "description": "Optional path to the detekt configuration file relative to the repository."
}
},
"additionalProperties": false,
@@ -612,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.69.1"
+ "description": "Enable RuboCop | RuboCop is a Ruby static code analyzer (a.k.a. linter ) and code formatter. | v1.75.5"
}
},
"additionalProperties": false,
@@ -625,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,
@@ -638,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,
@@ -651,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,
@@ -664,11 +738,11 @@
"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",
- "description": "Optional path to the Pmd configuration file relative to the repository."
+ "description": "Optional path to the PMD configuration file relative to the repository."
}
},
"additionalProperties": false,
@@ -681,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,
@@ -694,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",
@@ -711,12 +785,129 @@
"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,
+ "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": "CircleCi tool is a static checker for CircleCi config files."
+ "description": "Clippy is a collection of lints to catch common mistakes and improve your Rust code."
+ },
+ "sqlfluff": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable SQLFluff | SQLFluff is an open source, dialect-flexible and configurable SQL linter. | v3.4.0"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "SQLFluff is an open source, dialect-flexible and configurable SQL linter."
+ },
+ "prismaLint": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable Prisma Schema linting | Prisma Schema linting helps maintain consistent and error-free schema files | v0.10.1"
+ }
+ },
+ "additionalProperties": false,
+ "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": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable OXC | OXC is a JavaScript/TypeScript linter written in Rust. | v0.16.10"
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "OXC is a JavaScript/TypeScript linter written in Rust."
+ },
+ "shopifyThemeCheck": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable Shopify Theme Check | A linter for Shopify themes that helps you follow Shopify theme & Liquid best practices | cli 3.77.1 | theme 3.58.2"
+ }
+ },
+ "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"
+ },
+ "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,
@@ -735,6 +926,39 @@
"type": "boolean",
"default": true,
"description": "Enable the bot to reply automatically without requiring the user to tag it."
+ },
+ "integrations": {
+ "type": "object",
+ "properties": {
+ "jira": {
+ "type": "object",
+ "properties": {
+ "usage": {
+ "type": "string",
+ "enum": ["auto", "enabled", "disabled"],
+ "default": "auto",
+ "description": "Jira | Enable the Jira integration for opening issues, etc. 'auto' disables the integration for public repositories."
+ }
+ },
+ "additionalProperties": false,
+ "default": {}
+ },
+ "linear": {
+ "type": "object",
+ "properties": {
+ "usage": {
+ "type": "string",
+ "enum": ["auto", "enabled", "disabled"],
+ "default": "auto",
+ "description": "Linear | Enable the Linear integration for opening issues, etc. 'auto' disables the integration for public repositories."
+ }
+ },
+ "additionalProperties": false,
+ "default": {}
+ }
+ },
+ "additionalProperties": false,
+ "default": {}
}
},
"additionalProperties": false,
@@ -746,7 +970,19 @@
"opt_out": {
"type": "boolean",
"default": false,
- "description": "Opt out | Opt out of all knowledge base features."
+ "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",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Web Search | Enable the web search integration."
+ }
+ },
+ "additionalProperties": false,
+ "default": {}
},
"learnings": {
"type": "object",
@@ -777,6 +1013,12 @@
"jira": {
"type": "object",
"properties": {
+ "usage": {
+ "type": "string",
+ "enum": ["auto", "enabled", "disabled"],
+ "default": "auto",
+ "description": "Jira | Enable the Jira knowledge base integration. 'auto' disables the integration for public repositories."
+ },
"project_keys": {
"type": "array",
"items": {
@@ -792,6 +1034,12 @@
"linear": {
"type": "object",
"properties": {
+ "usage": {
+ "type": "string",
+ "enum": ["auto", "enabled", "disabled"],
+ "default": "auto",
+ "description": "Linear | Enable the Linear knowledge base integration. 'auto' disables the integration for public repositories."
+ },
"team_keys": {
"type": "array",
"items": {
@@ -820,9 +1068,174 @@
},
"additionalProperties": false,
"default": {}
+ },
+ "code_generation": {
+ "type": "object",
+ "properties": {
+ "docstrings": {
+ "type": "object",
+ "properties": {
+ "language": {
+ "type": "string",
+ "enum": [
+ "de",
+ "de-DE",
+ "de-AT",
+ "de-CH",
+ "en",
+ "en-US",
+ "en-AU",
+ "en-GB",
+ "en-CA",
+ "en-NZ",
+ "en-ZA",
+ "es",
+ "es-AR",
+ "fr",
+ "fr-CA",
+ "fr-CH",
+ "fr-BE",
+ "nl",
+ "nl-BE",
+ "pt-AO",
+ "pt",
+ "pt-BR",
+ "pt-MZ",
+ "pt-PT",
+ "ar",
+ "ast-ES",
+ "ast",
+ "be-BY",
+ "be",
+ "br-FR",
+ "br",
+ "ca-ES",
+ "ca",
+ "ca-ES-valencia",
+ "ca-ES-balear",
+ "da-DK",
+ "da",
+ "de-DE-x-simple-language",
+ "el-GR",
+ "el",
+ "eo",
+ "fa",
+ "ga-IE",
+ "ga",
+ "gl-ES",
+ "gl",
+ "it",
+ "ja-JP",
+ "ja",
+ "km-KH",
+ "km",
+ "ko-KR",
+ "ko",
+ "pl-PL",
+ "pl",
+ "ro-RO",
+ "ro",
+ "ru-RU",
+ "ru",
+ "sk-SK",
+ "sk",
+ "sl-SI",
+ "sl",
+ "sv",
+ "ta-IN",
+ "ta",
+ "tl-PH",
+ "tl",
+ "tr",
+ "uk-UA",
+ "uk",
+ "zh-CN",
+ "zh",
+ "crh-UA",
+ "crh",
+ "cs-CZ",
+ "cs",
+ "nb",
+ "no",
+ "nl-NL",
+ "de-DE-x-simple-language-DE",
+ "es-ES",
+ "it-IT",
+ "fa-IR",
+ "sv-SE",
+ "de-LU",
+ "fr-FR",
+ "bg-BG",
+ "bg"
+ ],
+ "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": []
+ },
+ "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,
+ "default": {}
}
},
- "additionalProperties": false
+ "additionalProperties": true
}
},
"$schema": "http://json-schema.org/draft-07/schema#"