diff --git a/.github/workflows/node.js.yaml b/.github/workflows/node.js.yaml
index d7897810..22575dd0 100644
--- a/.github/workflows/node.js.yaml
+++ b/.github/workflows/node.js.yaml
@@ -26,6 +26,8 @@ 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:
diff --git a/README.md b/README.md
index cf7d301d..de8e5ece 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
diff --git a/docs/changelog.md b/docs/changelog.md
index a4577bd9..6a21a8ab 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -5,6 +5,170 @@ description: The latest updates and changes to CodeRabbit.
sidebar_position: 13
---
+## May 19, 2025
+
+### Lua Support with Luacheck
+
+We're excited to announce enhanced support for Lua code analysis with [Luacheck](https://github.com/mpeterv/luacheck), a powerful static analyzer and linter for Lua code.
+
+## 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
@@ -27,6 +191,14 @@ We've expanded our pipeline error detection to [CircleCI](https://circleci.com/)
---
+## 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
@@ -73,7 +245,7 @@ With this update, you can:
## 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.
diff --git a/docs/faq.md b/docs/faq.md
index 07d866aa..f4158154 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -31,10 +31,10 @@ CodeRabbit works with all programming languages, with varying proficiency based
- - No persistent code storage
- - Temporary cloning during review only
- Complete data isolation
- - Immediate disposal post-review
+ - Caching of encrypted code and dependency archives for faster reviews
+ - Code indexing in which we store vector representations of code for efficient code base context
+ - Both caching and code indexing can be disabled which means we store nothing post-review
- Uses only public datasets
@@ -92,7 +92,7 @@ Email field and click Update to save your changes.
### Usage and Configuration
- **Language Settings**: Configure review language in repository settings
-- **Review Rules**: Customize via [Review Instructions](/guides/review-instructions)
+- **Review Rules**: Customize via [review instructions](/guides/review-instructions)
- **Branch Selection**: Default branch reviews enabled by default (configurable)
### Access & Permissions
@@ -108,7 +108,7 @@ Interact with CodeRabbit by:
1. Replying directly to CodeRabbit comments
2. Tagging `@coderabbitai` in PR discussions
3. Adding review comments for specific lines
-4. Customize via [Review Instructions](/guides/review-instructions)
+4. Customize via [review instructions](/guides/review-instructions)
:::tip Collaboration Mode
When team members are active in PRs, use `@coderabbitai` to engage the bot.
@@ -128,7 +128,7 @@ The following limits enforced _per developer_:
| ---------------- | ------------------------------------------ | ----------------------------- | ----------------------------- | ----------------------------- |
| Files per hour | 200/hour | 200/hour | 200/hour | 400/hour |
| Files per PR | 100 | 100 | 100 | 200 |
-| Reviews per hour | 3 back-to-back, then 3/hour (Summary only) | 3 back-to-back, then 3/hour | 2 back-to-back, then 2/hour | 4 back-to-back, then 4/hour |
+| Reviews per hour | 3 back-to-back, then 3/hour (Summary only) | 4 back-to-back, then 4/hour | 3 back-to-back, then 3/hour | 5 back-to-back, then 5/hour |
| Chat | N/A | 25 back-to-back, then 50/hour | 10 back-to-back, then 25/hour | 25 back-to-back, then 50/hour |
## Integration Guide {#integration-guide}
@@ -157,12 +157,40 @@ level group for Self-Hosted GitLab.
#### Unable to Enable Repositories in GitLab
-If you’re having trouble enabling the GitLab Repositories toggle, confirm that
+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
@@ -226,6 +254,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 39defef5..5d78366e 100644
--- a/docs/finishing-touches/docstrings.md
+++ b/docs/finishing-touches/docstrings.md
@@ -1,6 +1,5 @@
---
-title: Docstrings generation with CodeRabbit
-sidebar_label: Docstrings (Beta)
+title: Generate docstrings
description: Automated docstrings pull requests with CodeRabbit
---
@@ -14,12 +13,6 @@ import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
Docstrings generation is part of the [finishing touches](/future-development#finishing-touches).
-:::info
-
-This feature is in [beta](/early-access#beta).
-
-:::
-
## Usage
Once you are done with your pull request and its reviews, you may want to perform finishing touches to your code, such as adding in-code documentation. You can request CodeRabbit to generate docstrings by typing `@coderabbitai generate docstrings` in a comment under that pull request.
@@ -37,27 +30,42 @@ 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] Azure DevOps
+- [ ] Bitbucket Cloud
+- [ ] Bitbucket Data Center
- [x] GitHub
-- [ ] GitLab
+- [x] 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:
+These languages are supported:
- [x] Bash
- [x] C
-- [x] C++
- [x] C#
+- [x] C++
- [x] Elixir
- [x] Go
- [ ] Haskell
@@ -74,8 +82,4 @@ The checked languages are supported:
- [x] 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 and the React versions of both, there are tons of ways to declare functions. At the moment, we only support the keyword `function` at the top level.
-:::
+CodeRabbit uses `ast-grep` to parse the code. If you want a new language to be supported, please look into [Add New Language to ast-grep](https://ast-grep.github.io/contributing/add-lang.html#add-new-language-to-ast-grep) first.
diff --git a/docs/getting-started/adding-organizations.md b/docs/getting-started/adding-organizations.md
index 81fa8cf6..5f4b635b 100644
--- a/docs/getting-started/adding-organizations.md
+++ b/docs/getting-started/adding-organizations.md
@@ -1,8 +1,6 @@
---
-title: Adding Organizations
+title: Add organizations
description: Learn how to add new organizations to CodeRabbit
-sidebar_label: Adding Organizations
-sidebar_position: 5
---
To add new organizations to CodeRabbit, follow these steps:
diff --git a/docs/getting-started/configure-coderabbit.md b/docs/getting-started/configure-coderabbit.md
index 09bcb8b3..e8ee2e06 100644
--- a/docs/getting-started/configure-coderabbit.md
+++ b/docs/getting-started/configure-coderabbit.md
@@ -1,11 +1,9 @@
---
-title: Configure CodeRabbit
-sidebar_label: Configure
+title: Add a configuration file
description:
CodeRabbit offers various configuration options to tailor the reviews to your
specific requirements. Configuration can be made using one of the below
options.
-sidebar_position: 2
---
```mdx-code-block
diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md
index 280732f0..17cc091c 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).
+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..9b1ef18b 100644
--- a/docs/getting-started/support.md
+++ b/docs/getting-started/support.md
@@ -1,8 +1,6 @@
---
-title: Support
-sidebar_label: Support
+title: Get support
description: Get help with CodeRabbit and find answers to common questions.
-sidebar_position: 3
---
Welcome to CodeRabbit Support. Please refer to the following sections for
diff --git a/docs/getting-started/upgrading-permissions.md b/docs/getting-started/upgrading-permissions.md
index dad00a38..c5553abe 100644
--- a/docs/getting-started/upgrading-permissions.md
+++ b/docs/getting-started/upgrading-permissions.md
@@ -1,8 +1,6 @@
---
-title: Upgrading App Permissions
+title: Set permissions
description: Learn how to upgrade CodeRabbit's GitHub App permissions when new features are added
-sidebar_label: Upgrading Permissions
-sidebar_position: 6
---
Sometimes when we add new features to CodeRabbit, we need to request additional GitHub permissions. If you see a warning about permissions or resources not being accessible, you'll need to approve the new permissions. Here's how to do it:
@@ -17,6 +15,8 @@ Sometimes when we add new features to CodeRabbit, we need to request additional

+
+
Common reasons for permission updates include:
- Access to new GitHub features
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..83bd8abb
--- /dev/null
+++ b/docs/guides/code-review-best-practices.md
@@ -0,0 +1,42 @@
+---
+title: Code review best practices
+description: Best practices for managing CodeRabbit code reviews.
+sidebar_label: Best practices
+---
+
+This page lists best practices for performing code reviews with CodeRabbit.
+
+For more information about working with
+CodeRabbit through chat, see [Control and manage code reviews](/guides/commands).
+
+For a CodeRabbit command reference, see [Code review command reference](/reference/review-commands).
+
+## Recommended code-review workflow
+
+- Start with `@coderabbitai review` for checking new changes.
+- Use `@coderabbitai full review` when major changes require a fresh perspective.
+- Generate summaries after significant updates using `@coderabbitai summary`.
+
+## Managing large changes
+
+- Use `@coderabbitai pause` before making multiple commits.
+- Resume reviews with `@coderabbitai resume` when ready.
+- Consider `@coderabbitai full review` after substantial changes.
+
+## Documentation flow
+
+- Run `@coderabbitai generate docstrings` after finalizing function implementations.
+- Learn more about [docstring generation](/finishing-touches/docstrings).
+
+## Overall tips
+
+- Commands are case-insensitive (`@coderabbitai REVIEW` works the same as `@coderabbitai review`).
+- Commands can be issued by anyone with write access to the repository.
+- Multiple commands can be used in sequence as needed.
+- Use `@coderabbitai configuration` to export your settings before making changes.
+
+## Command response time
+
+- Most commands (pause, resume, ignore) take effect immediately.
+- Review commands typically complete within a few minutes, depending on PR size.
+- Docstring generation time varies based on the number of functions.
diff --git a/docs/guides/code-review-overview.md b/docs/guides/code-review-overview.md
new file mode 100644
index 00000000..cd511c76
--- /dev/null
+++ b/docs/guides/code-review-overview.md
@@ -0,0 +1,89 @@
+---
+title: Review pull requests
+description: An overview of CodeRabbit's core code review features.
+sidebar_label: Overview
+---
+
+The central feature of CodeRabbit is its ability to proactively review
+new pull requests on your code repository.
+
+CodeRabbit reviews take the form of pull request comments that
+include summaries, analyses, and initial critiques of the proposed changes.
+This information, usually added to pull requests within minutes, can help your team perform more rapid, better-informed code reviews.
+
+The following sections present an overview of this feature. For a hands-on example that lets you experience a CodeRabbit code review using
+a real repository, see [Quickstart](/getting-started/quickstart).
+
+## Automatically review pull requests {#review}
+
+After you [integrate CodeRabbit with your repository](/platforms), CodeRabbit proceeds
+to automatically review every subsequent pull request, as soon as each one is created.
+
+CodeRabbit performs code reviews by attaching comments to the pull request.
+These comments contain detailed summaries and analyses of the changes,
+as well as listing out problems or areas for potential improvement that it found.
+
+CodeRabbit uses [a variety of open-source linters and security tools](/tools) and a custom
+code verification agent to provide this analysis. CodeRabbit
+also consults several models to further analyze and critique the proposed changes,
+using all of the content of your repository as context. The code-review comment that CodeRabbit attaches
+to your pull request synthesizes and summarizes all of the information collected from these different sources.
+
+For more information about the graph analysis that CodeRabbit includes with its reviews
+when available, see [CodeRabbit Code Graph Analysis](/integrations/code-graph-analysis).
+
+### Events that trigger automated reviews {#events}
+
+By default, the following activity in your repository triggers CodeRabbit to
+perform a code review:
+
+- If CodeRabbit sees a new pull request, then it immediately performs a full review
+ of the proposed code changes.
+- If an open pull request that CodeRabbit has already reviewed gets modified with another
+ commit, then CodeRabbit performs an incremental review that focuses on the new commit.
+
+## Interact with CodeRabbit reviews {#interact}
+
+After CodeRabbit attaches its initial code-review comment to a pull request, you can
+directly interact with CodeRabbit by mentioning its username, `@coderabbitai`, in comments
+that you post to the pull request.
+
+These interactions can serve several purposes:
+
+- Free-form discussion about the pull request and the ongoing code review.
+- Commands to have CodeRabbit perform specific actions regarding the code review.
+- Prompts to have CodeRabbit generate its own improvements to the branch under review.
+
+### Chat with CodeRabbit {#chat}
+
+You can have open-ended, natural-language discussion with CodeRabbit during a code review, treating it
+as an LLM-powered chatbot that has your entire code repository available for context. For more information, see [CodeRabbit Chat](/guides/agent_chat).
+
+### Manage CodeRabbit review behavior {#manage}
+
+CodeRabbit recognizes a variety of keyword-based commands that let you control its
+behavior during a code review, including the following:
+
+- Pause or resume automated reviews of the pull request.
+- Manually request a review, when automated reviews are paused.
+- Resolve all open comments authored by CodeRabbit.
+
+For more information, see [Control and manage code reviews](/guides/commands).
+
+### Generate improvements {#generate}
+
+You can command CodeRabbit to generate improvements to the branch under review.
+CodeRabbit accomplishes this by publishing a new branch based on the branch under review,
+and creating a new pull request for your own review.
+
+Available code-generation commands let you request the following from CodeRabbit:
+
+- Implement the suggestions for improvements that CodeRabbit has made in its earlier code review comments.
+- Generate inline documentation for any undocumented functions that this pull request proposes to add.
+
+For more information, see [Generate improvements](/guides/generate-improvements).
+
+## What's next {#whats-next}
+
+- [Control and manage code reviews](/guides/commands)
+- [Generate code improvements](/guides/generate-improvements)
diff --git a/docs/guides/code-review-troubleshooting.md b/docs/guides/code-review-troubleshooting.md
new file mode 100644
index 00000000..72539453
--- /dev/null
+++ b/docs/guides/code-review-troubleshooting.md
@@ -0,0 +1,17 @@
+---
+title: Code review troubleshooting
+description: Troubleshooting CodeRabbit code reviews.
+sidebar_label: Troubleshooting
+---
+
+This page is about troubleshooting interactive code review sessions with CodeRabbit. For more information about working with
+CodeRabbit through chat, see [Control and manage code reviews](/guides/commands).
+
+If a CodeRabbit command doesn't seem to work:
+
+1. Check that you have the necessary repository permissions.
+2. Verify the command syntax.
+3. Look for any response from CodeRabbit in the PR comments.
+4. Use `@coderabbitai help` for command guidance.
+
+Need help? Join our community on [Discord](https://discord.gg/coderabbit) or [contact our support team](/getting-started/support).
diff --git a/docs/guides/commands.md b/docs/guides/commands.md
index bcbfb9ce..43e6283a 100644
--- a/docs/guides/commands.md
+++ b/docs/guides/commands.md
@@ -1,83 +1,154 @@
-# CodeRabbit Commands
+---
+title: Control and manage code reviews
+description: Learn how to control CodeRabbit using commands in pull request comments
+---
-> Control your code reviews directly from pull request comments using CodeRabbit's command system. Each command starts with `@coderabbitai` followed by the specific action you want to take.
+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).
-## Review Control Commands
+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.
-### Managing Reviews
+For a complete CodeRabbit command reference, see [Code review command reference](/reference/review-commands).
-| 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 |
+## Control automatic code reviews {#flow}
-### Review Flow Control
+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.
-| 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 |
+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.
-### Comment Management
+For more information about permanently configuring the behavior of CodeRabbit on
+your repository, see [Add a configuration file](/getting-started/configure-coderabbit).
-| Command | Description | Use Case |
-| ----------------------- | --------------------------------------- | ------------------------------------------------------- |
-| `@coderabbitai resolve` | Resolves all CodeRabbit review comments | When you've addressed all feedback and want to clean up |
+### Pause and resume automatic code reviews {#pause-resume}
-### Documentation Commands
+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).
-| 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 |
+To pause automated reviews of a pull request, post the following comment to the
+pull request:
-### Help & Support
+```text
+@coderabbitai pause
+```
-| Command | Description | Use Case |
-| -------------------- | ------------------------------------------ | ------------------------------------------ |
-| `@coderabbitai help` | Displays available commands and usage info | When you need guidance on using CodeRabbit |
+To resume automated reviews after pausing them, post the following comment to the
+pull request:
-## Best Practices
+```text
+@coderabbitai resume
+```
-### Review Workflow
+### Disable automatic code reviews {#ignore}
-- Start with `@coderabbitai review` for checking new changes
-- Use `@coderabbitai full review` when major changes require a fresh perspective
-- Generate summaries after significant updates using `@coderabbitai summary`
+To disable automatic code reviews for a pull request, add the following line
+anywhere in the pull request description:
-### Managing Large Changes
+```text
+@coderabbitai ignore
+```
-- Use `@coderabbitai pause` before making multiple commits
-- Resume reviews with `@coderabbitai resume` when ready
-- Consider `@coderabbitai full review` after substantial changes
+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.
-### Documentation Flow
+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.
-- Run `@coderabbitai generate docstrings` after finalizing function implementations
-- Learn more about [docstring generation](/finishing-touches/docstrings)
+## Manually request code reviews {#request}
-## Tips
+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:
-- 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
+- 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.
-## Command Response Time
+- 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.
-- 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
+To manually request a full review, post the following comment to the
+pull request:
-## Troubleshooting
+```text
+@coderabbitai full review
+```
-If a command doesn't seem to work:
+To manually request an incremental review, post the following comment to the
+pull request:
-1. Check that you have the necessary repository permissions
-2. Verify the command syntax
-3. Look for any response from CodeRabbit in the PR comments
-4. Use `@coderabbitai help` for command guidance
+```text
+@coderabbitai review
+```
-Need help? Join our community on [Discord](https://discord.gg/coderabbit) or contact our support team.
+## 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
index 11581b38..dbc04280 100644
--- a/docs/guides/custom-reports.md
+++ b/docs/guides/custom-reports.md
@@ -1,8 +1,6 @@
---
-title: Custom Reports
-sidebar_label: Custom Reports
+title: Customize reports
description: Learn how to create custom reports with CodeRabbit Pro's flexible reporting system
-sidebar_position: 7
---
```mdx-code-block
@@ -71,14 +69,23 @@ Your custom reports can access the following PR information that you can referen
#### 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
@@ -86,40 +93,102 @@ Your custom reports can access the following PR information that you can referen
- `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
-
-#### Additional Context
-
+- `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
-- `Description`: markdown - Full PR description
-- `Summary`: string - AI-generated summary of changes
-- `Comments`: array of objects
- - `username`: string - Comment author
- - `body`: markdown - Comment content
+
+#### 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
-Generate a summary with the following format for each PR:
-
-## [PR Title](URL)
-**Status**: {Use these symbols based on state}
-- 🔀 if Merged is true
-- 📝 if Draft is true
-- đź’¬ if State is "open"
-- đź”’ if State is "closed" and not merged
-Add ⚠️ if Is stale is true
-
-**Author**: {Author name}
-**Created**: {Created at}
-**Labels**: {Labels joined by commas}
-**Reviewers**: {Reviewers joined by commas}
-
-### Summary
-{Summary limited to 50 words}
-
-### Recent Activity
-{List last 3 comments with username and content}
+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
@@ -191,17 +260,38 @@ Within each group, sort by:
- Impact level
```
-### Time-Based Analysis
+### Optional Data Sources
-Add temporal analysis to your reports:
+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.
-```text
-Provide:
-- Week-over-week comparison
-- Trend analysis for the past month
-- Velocity metrics
-- Time to merge statistics
-```
+#### 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
@@ -236,6 +326,42 @@ Provide:
- 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
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..ec71e213
--- /dev/null
+++ b/docs/guides/install-vscode.md
@@ -0,0 +1,55 @@
+---
+title: Install the VSCode extension
+description: How to install the CodeRabbit VSCode extension
+---
+
+This page is about installing the CodeRabbit VSCode extension. For more information about the extension, see
+[Review local changes](/code-editors).
+
+:::note
+The instructions on this page are specific to using the extension with VSCode. If you are instead using a VSCode-compatible editor such as Cursor or Windsurf, then the steps that you need to follow are similar, but might require some adaptation.
+:::
+
+## Before you begin
+
+Before you can use the CodeRabbit VSCode extension, you need a CodeRabbit account.
+
+If you don't already have an account, you can create one by visiting [the CodeRabbit login page](https://app.coderabbit.ai/login).
+
+## Install the extension
+
+To install the CodeRabbit 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.
+
+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 bad251f7..41dbe9bb 100644
--- a/docs/guides/ondemand-reports.md
+++ b/docs/guides/ondemand-reports.md
@@ -1,8 +1,6 @@
---
-title: On-demand Reports
-sidebar_label: On-demand Reports
+title: Generate reports
description: CodeRabbit offers a way to generate on-demand reports using a simple API request
-sidebar_position: 8
---
```mdx-code-block
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
index b5027ca9..44a11f56 100644
--- a/docs/guides/scheduled-reports.md
+++ b/docs/guides/scheduled-reports.md
@@ -1,8 +1,6 @@
---
-title: Scheduled Reports
-sidebar_label: Scheduled Reports
+title: Schedule reports
description: Learn how to set up automated recurring reports with CodeRabbit Pro
-sidebar_position: 6
---
```mdx-code-block
@@ -129,6 +127,7 @@ Configure where your reports will be delivered:
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
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
index 11562df3..0ad69f54 100644
--- a/docs/integrations/issue-integrations.md
+++ b/docs/integrations/issue-integrations.md
@@ -1,8 +1,6 @@
---
-title: Issue Integrations
+title: Integrate issue tracking
description: Learn about CodeRabbit's integrations with issue tracking systems like Jira and Linear.
-sidebar_label: Issue Integrations
-sidebar_position: 5
---
CodeRabbit integrates with popular issue tracking systems to provide context from linked and related issues while reviewing code.
@@ -37,12 +35,16 @@ To link a Jira Issue, you can add the Jira Issue into the PR description as show
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.
@@ -65,6 +67,8 @@ To link a Linear Issue, you can add the Linear Issue via the team key and issue
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
diff --git a/docs/integrations/knowledge-base.md b/docs/integrations/knowledge-base.md
index c15f2f9f..61ff141e 100644
--- a/docs/integrations/knowledge-base.md
+++ b/docs/integrations/knowledge-base.md
@@ -1,8 +1,6 @@
---
-title: Knowledge Base
+title: Apply your code review preferences
description: Learn about CodeRabbit's internal knowledge base and its integrations with external services.
-sidebar_label: Knowledge Base
-sidebar_position: 4
---
CodeRabbit utilizes an internal knowledge base that integrates with several external services to provide a seamless review and issue management experience.
diff --git a/docs/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 66053f72..cbdfc5f6 100644
--- a/docs/overview/why-coderabbit.md
+++ b/docs/overview/why-coderabbit.md
@@ -41,7 +41,7 @@ Features such as:
- CodeRabbit Commands
- PR summary on the fly
- Visual diagrams
-- Docstrings (Beta)
+- Docstrings generation
- Custom review rules
> All these features improve the developer experience by reducing review time, maintaining consistency, and sharing knowledge effectively across teams.
diff --git a/docs/platforms/azure-devops.md b/docs/platforms/azure-devops.md
index 8e5608c1..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
diff --git a/docs/platforms/bitbucket-cloud.md b/docs/platforms/bitbucket-cloud.md
index 96719ae7..acb37f34 100644
--- a/docs/platforms/bitbucket-cloud.md
+++ b/docs/platforms/bitbucket-cloud.md
@@ -1,7 +1,7 @@
---
-title: "[Beta] Bitbucket Cloud"
+title: "Bitbucket Cloud"
description: "Learn how to integrate CodeRabbit with Bitbucket Cloud."
-sidebar_label: "[Beta] Bitbucket Cloud"
+sidebar_label: "Bitbucket Cloud"
sidebar_position: 6
---
@@ -73,9 +73,14 @@ Bitbucket provides an option to generate an app password for a new user. Follow

+
+
+
diff --git a/docs/platforms/github-com.md b/docs/platforms/github-com.md
index 4866fd00..ecc07272 100644
--- a/docs/platforms/github-com.md
+++ b/docs/platforms/github-com.md
@@ -109,7 +109,7 @@ CodeRabbit generates detailed statistics and test plans for each pull request.

-> 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..2e8a6876 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
@@ -129,6 +130,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:
diff --git a/docs/platforms/gitlab-com.mdx b/docs/platforms/gitlab-com.mdx
index 61a10ca8..c276cd35 100644
--- a/docs/platforms/gitlab-com.mdx
+++ b/docs/platforms/gitlab-com.mdx
@@ -53,7 +53,7 @@ choice"
- **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 group or projects that you wish to install CodeRabbit on.
+- **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
diff --git a/docs/platforms/platforms.md b/docs/platforms/platforms.md
index a0ed92b6..996089fc 100644
--- a/docs/platforms/platforms.md
+++ b/docs/platforms/platforms.md
@@ -1,8 +1,6 @@
---
-title: Supported Git Platforms
-sidebar_label: Supported Git Platforms
+title: Integrate with Git platforms
description: Overview of CodeRabbit's supported Git platforms.
-sidebar_position: 1
---
CodeRabbit supports various Git platforms to provide code review for your repositories. For the cloud-hosted Git platforms, you can [login][login] to CodeRabbit and add your repositories. The following platforms are supported:
@@ -32,6 +30,6 @@ CodeRabbit supports various Git platforms to provide code review for your reposi
| 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
diff --git a/docs/platforms/self-hosted-gitlab.md b/docs/platforms/self-hosted-gitlab.md
index 4ef7623c..53fae56f 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
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/azure-devops.md b/docs/self-hosted/azure-devops.md
index 858dd3b5..97137b11 100644
--- a/docs/self-hosted/azure-devops.md
+++ b/docs/self-hosted/azure-devops.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 rights to post reviews & open PRs.
@@ -62,18 +64,36 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments.
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O3MINI_DEPLOYMENT_NAME=
-AZURE_O1_DEPLOYMENT_NAME=
-# optionally, you can swap o3-mini with o1-mini
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
+## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally).
+AZURE_GPT41MINI_DEPLOYMENT_NAME=
+AZURE_O4MINI_DEPLOYMENT_NAME=
+AZURE_O3_DEPLOYMENT_NAME=
+AZURE_GPT41_DEPLOYMENT_NAME=[]
+# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini
+AZURE_GPT4OMINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o3-mini instead of o4-mini
+AZURE_O3MINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o1 instead of o3
+AZURE_O1_DEPLOYMENT_NAME=[]
# OAuth2 Configuration (optional)
-# This will use client credentials grant flow to get an access token, and use that token in headers while making requests to AZURE_OPENAI_ENDPOINT.
+# 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
LLM_PROVIDER=bedrock-anthropic
@@ -92,13 +112,19 @@ AZURE_DEVOPS_BOT_USERNAME=
CODERABBIT_LICENSE_KEY=
CODERABBIT_API_KEY=
-ENABLE_LEARNINGS=[true]
ENABLE_METRICS=[true]
+ENABLE_LEARNINGS=[true]
+# if using CodeRabbit's learnings, also provide the following
+# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
diff --git a/docs/self-hosted/bitbucket.md b/docs/self-hosted/bitbucket.md
index 746727a8..0adbeed6 100644
--- a/docs/self-hosted/bitbucket.md
+++ b/docs/self-hosted/bitbucket.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 permissions to:
@@ -54,18 +56,36 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments.
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O3MINI_DEPLOYMENT_NAME=
-AZURE_O1_DEPLOYMENT_NAME=
-# optionally, you can swap o3-mini with o1-mini
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
+## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally).
+AZURE_GPT41MINI_DEPLOYMENT_NAME=
+AZURE_O4MINI_DEPLOYMENT_NAME=
+AZURE_O3_DEPLOYMENT_NAME=
+AZURE_GPT41_DEPLOYMENT_NAME=[]
+# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini
+AZURE_GPT4OMINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o3-mini instead of o4-mini
+AZURE_O3MINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o1 instead of o3
+AZURE_O1_DEPLOYMENT_NAME=[]
# OAuth2 Configuration (optional)
-# This will use client credentials grant flow to get an access token, and use that token in headers while making requests to AZURE_OPENAI_ENDPOINT.
+# 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
LLM_PROVIDER=bedrock-anthropic
@@ -87,13 +107,19 @@ BITBUCKET_SERVER_BOT_USERNAME=
CODERABBIT_LICENSE_KEY=
CODERABBIT_API_KEY=
-ENABLE_LEARNINGS=[true]
ENABLE_METRICS=[true]
+ENABLE_LEARNINGS=[true]
+# if using CodeRabbit's learnings, also provide the following
+# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
diff --git a/docs/self-hosted/github.md b/docs/self-hosted/github.md
index 821f951f..8f7e4962 100644
--- a/docs/self-hosted/github.md
+++ b/docs/self-hosted/github.md
@@ -42,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
@@ -65,18 +67,36 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments.
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O3MINI_DEPLOYMENT_NAME=
-AZURE_O1_DEPLOYMENT_NAME=
-# optionally, you can swap o3-mini with o1-mini
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
+## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally).
+AZURE_GPT41MINI_DEPLOYMENT_NAME=
+AZURE_O4MINI_DEPLOYMENT_NAME=
+AZURE_O3_DEPLOYMENT_NAME=
+AZURE_GPT41_DEPLOYMENT_NAME=[]
+# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini
+AZURE_GPT4OMINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o3-mini instead of o4-mini
+AZURE_O3MINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o1 instead of o3
+AZURE_O1_DEPLOYMENT_NAME=[]
# OAuth2 Configuration (optional)
-# This will use client credentials grant flow to get an access token, and use that token in headers while making requests to AZURE_OPENAI_ENDPOINT.
+# 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
LLM_PROVIDER=bedrock-anthropic
@@ -105,13 +125,19 @@ GITHUB_APP_PEM_FILE=
CODERABBIT_LICENSE_KEY=
CODERABBIT_API_KEY=
-ENABLE_LEARNINGS=[true]
ENABLE_METRICS=[true]
+ENABLE_LEARNINGS=[true]
+# if using CodeRabbit's learnings, also provide the following
+# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
diff --git a/docs/self-hosted/gitlab.md b/docs/self-hosted/gitlab.md
index eabe410e..42736e2f 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.
@@ -60,18 +62,36 @@ LLM_PROVIDER=azure-openai
LLM_TIMEOUT=360000
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
-## it is recommended to use gpt-4o-mini, o3-mini, and o1 deployments.
-AZURE_GPT4OMINI_DEPLOYMENT_NAME=
-AZURE_O3MINI_DEPLOYMENT_NAME=
-AZURE_O1_DEPLOYMENT_NAME=
-# optionally, you can swap o3-mini with o1-mini
-AZURE_O1MINI_DEPLOYMENT_NAME=[]
+## it is recommended to deploy gpt-4.1-mini, o4-mini, o3 deployments, gpt-4.1 (optionally).
+AZURE_GPT41MINI_DEPLOYMENT_NAME=
+AZURE_O4MINI_DEPLOYMENT_NAME=
+AZURE_O3_DEPLOYMENT_NAME=
+AZURE_GPT41_DEPLOYMENT_NAME=[]
+# optionally, deploy gpt-4o-mini instead of gpt-4.1-mini
+AZURE_GPT4OMINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o3-mini instead of o4-mini
+AZURE_O3MINI_DEPLOYMENT_NAME=[]
+# optionally, deploy o1 instead of o3
+AZURE_O1_DEPLOYMENT_NAME=[]
# OAuth2 Configuration (optional)
-# This will use client credentials grant flow to get an access token, and use that token in headers while making requests to AZURE_OPENAI_ENDPOINT.
+# 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
LLM_PROVIDER=bedrock-anthropic
@@ -96,13 +116,19 @@ GITLAB_WEBHOOK_SECRET=
CODERABBIT_LICENSE_KEY=
CODERABBIT_API_KEY=
-ENABLE_LEARNINGS=[true]
ENABLE_METRICS=[true]
+ENABLE_LEARNINGS=[true]
+# if using CodeRabbit's learnings, also provide the following
+# For example, s3://bucket/path/to/database, gs://bucket/path/to/database, etc.
+OBJECT_STORE_URI=[]
JIRA_HOST=[]
JIRA_PAT=[]
LINEAR_PAT=[]
+
+ENABLE_WEB_SEARCH=[true]
+PERPLEXITY_API_KEY=[]
```
:::note
diff --git a/docs/tools/list.md b/docs/tools/list.md
new file mode 100644
index 00000000..d85b4c78
--- /dev/null
+++ b/docs/tools/list.md
@@ -0,0 +1,76 @@
+---
+title: List of supported tools
+description: Overview of CodeRabbit's supported linters and security analysis tools
+---
+
+This is a list of the third-party open-source linters and security analysis tools that CodeRabbit uses to generate code reviews.
+
+For more information about fine-tuning the CodeRabbit configuration of a tool, click that tool's name in the following list.
+
+For an overview of how CodeRabbit uses these tools when generating code reviews, as well as general information about controlling their use, see [Configure third-party tools](/tools/).
+
+| Technology | Tools | Category |
+| :-------------------------- | :--------------------------------------------------------- | :-------------------------------------------------- |
+| All | [Gitleaks][Gitleaks], [Pipeline Remediation][Pipeline] | Code Security, CI/CD |
+| Azure DevOps Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation |
+| CircleCI | [CircleCI][CircleCI], [Pipeline Remediation][Pipeline] | Configuration Validation, CI/CD Failure Remediation |
+| CloudFormation | [Checkov][Checkov] | Code Security |
+| Cppcheck | [Cppcheck][Cppcheck] | Code Quality |
+| CSS | [Biome][Biome] | Code Quality |
+| Docker | [Hadolint][Hadolint], [Checkov][Checkov] | Code Quality, Code Security |
+| GitHub Actions | [actionlint][actionlint], [Pipeline Remediation][Pipeline] | Code Quality, CI/CD Failure Remediation |
+| GitLab Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation |
+| Go | [golangci-lint][golangci-lint] | Code Quality |
+| Helm | [Checkov][Checkov] | Code Security |
+| Javascript | [Biome][Biome], [oxlint][oxlint] | Code Quality |
+| JSON, JSONC | [Biome][Biome] | Code Quality |
+| JSX | [Biome][Biome], [oxlint][oxlint] | Code Quality |
+| Kotlin | [detekt][detekt] | Code Quality |
+| Kubernetes | [Checkov][Checkov] | Code Security |
+| 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] | Code Quality |
+| Regal | [Regal][Regal] | Code Quality |
+| Ruby | [RuboCop][RuboCop] | Code Quality |
+| Semgrep | [Semgrep][Semgrep] | Code Security |
+| Shell (sh, bash, ksh, dash) | [ShellCheck][ShellCheck] | Code Quality |
+| Shopify | [Shopify CLI][ShopifyCLI] | Code Quality |
+| SQL | [SQLFluff][SQLFluff] | Code Quality |
+| Swift | [SwiftLint][SwiftLint] | Code Quality |
+| Terraform | [Checkov][Checkov] | Code Security |
+| TSX | [Biome][Biome], [oxlint][oxlint] | Code Quality |
+| Typescript | [Biome][Biome], [oxlint][oxlint] | Code Quality |
+| YAML | [YAMLlint][YAMLlint] | Code Quality |
+| Prisma | [Prisma Lint][PrismaLint] | Code Quality |
+
+[ShellCheck]: /tools/shellcheck.md
+[SQLFluff]: /tools/sqlfluff.md
+[Ruff]: /tools/ruff.md
+[markdownlint]: /tools/markdownlint.md
+[LanguageTool]: /tools/languagetool.md
+[Biome]: /tools/biome.md
+[Hadolint]: /tools/hadolint.md
+[SwiftLint]: /tools/swiftlint.md
+[PHPStan]: /tools/phpstan.md
+[golangci-lint]: /tools/golangci-lint.md
+[YAMLlint]: /tools/yamllint.md
+[Gitleaks]: /tools/gitleaks.md
+[Checkov]: /tools/checkov.md
+[detekt]: /tools/detekt.md
+[RuboCop]: /tools/rubocop.md
+[Buf]: /tools/buf.md
+[actionlint]: /tools/actionlint.md
+[Regal]: /tools/regal.md
+[PMD]: /tools/pmd.md
+[Cppcheck]: /tools/cppcheck.md
+[CircleCI]: /tools/circleci.md
+[Semgrep]: /tools/semgrep.md
+[Pipeline]: /tools/pipeline-remediation.md
+[PrismaLint]: /tools/prisma-lint.md
+[oxlint]: /tools/oxlint.md
+[ShopifyCLI]: /tools/shopify-cli.md
+[Luacheck]: /tools/luacheck.md
diff --git a/docs/tools/luacheck.md b/docs/tools/luacheck.md
new file mode 100644
index 00000000..3a8414b6
--- /dev/null
+++ b/docs/tools/luacheck.md
@@ -0,0 +1,49 @@
+---
+title: Luacheck
+sidebar_label: Luacheck
+description: CodeRabbit's guide to Luacheck.
+---
+
+```mdx-code-block
+import ProPlanNotice from '@site/src/components/ProPlanNotice.mdx';
+
+
+```
+
+[Luacheck](https://github.com/mpeterv/luacheck) is a static analyzer and linter for Lua code that detects various issues such as undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code, and more.
+
+## Supported Files
+
+Luacheck will run on files with the following extensions:
+
+- `.lua`
+
+## Configuration
+
+Luacheck supports the following configuration files:
+
+- `.luacheckrc`
+- `luacheckrc`
+- `.luacheckrc.lua`
+- `luacheckrc.lua`
+
+:::note
+
+Luacheck does not require configuration to run. If no configuration file is found, it will use default settings.
+
+:::
+
+## Features
+
+Luacheck can detect:
+
+- Usage of undefined global variables
+- Unused variables and values
+- Accessing uninitialized variables
+- Unreachable code
+- And many more issues
+
+## Links
+
+- [Luacheck GitHub Repository](https://github.com/mpeterv/luacheck)
+- [Luacheck Documentation](https://luacheck.readthedocs.io/)
diff --git a/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
index 98fd14b0..2beb0213 100644
--- a/docs/tools/pipeline-remediation.md
+++ b/docs/tools/pipeline-remediation.md
@@ -94,7 +94,7 @@ With CodeRabbit CI/CD Pipeline Remediation, you have coderabbit automatically re
### GitLab CI/CD
-- Pipeline failure analysis
+- GitLab CI/CD Pipeline failure analysis
- Integration with GitLab Advanced Security
- Support for DAST (Dynamic Application Security Testing) findings
- Remediation for SAST (Static Application Security Testing) issues
@@ -105,13 +105,22 @@ With CodeRabbit CI/CD Pipeline Remediation, you have coderabbit automatically re
### CircleCI
-- Workflow failure detection
+- CircleCI Pipeline failure analysis
- Job-level error analysis
- Configuration validation
- Dependency resolution
+### 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:
@@ -165,3 +174,4 @@ Our tool handles a wide range of pipeline failures including:
- [GitHub Actions Configuration](https://docs.github.com/en/actions)
- [GitLab CI/CD Documentation](https://docs.gitlab.com/ee/ci/)
- [CircleCI Documentation](https://circleci.com/docs/)
+- [Azure DevOps 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/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 e13cda31..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,60 +42,6 @@ Remove extraneous f prefix
(F541)
```
-## Supported Tools
-
-| Technology | Tools | Category |
-| :-------------------------- | :--------------------------------------------------------- | :-------------------------------------------------- |
-| All | [Gitleaks][Gitleaks], [Pipeline Remediation][Pipeline] | Code Security, CI/CD |
-| CircleCI | [CircleCI][CircleCI], [Pipeline Remediation][Pipeline] | Configuration Validation, CI/CD Failure Remediation |
-| CloudFormation | [Checkov][Checkov] | Code Security |
-| Cppcheck | [Cppcheck][Cppcheck] | Code Quality |
-| CSS | [Biome][Biome] | Code Quality |
-| Docker | [Hadolint][Hadolint], [Checkov][Checkov] | Code Quality, Code Security |
-| GitHub Actions | [actionlint][actionlint], [Pipeline Remediation][Pipeline] | Code Quality, CI/CD Failure Remediation |
-| GitLab Pipelines | [Pipeline Remediation][Pipeline] | CI/CD Failure Remediation |
-| Go | [golangci-lint][golangci-lint] | Code Quality |
-| Helm | [Checkov][Checkov] | Code Security |
-| Javascript | [Biome][Biome] | 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
-[Pipeline]: ./pipeline-remediation.md
+## What's next
+
+- For a complete list of tools that CodeRabbit supports, see [Supported tools](/tools/list).
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 1a3689fe..7c53d492 100644
--- a/package.json
+++ b/package.json
@@ -23,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..210e385d 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -29,13 +29,173 @@ 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-best-practices",
+ "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/ondemand-reports",
+ "guides/custom-reports",
+ "guides/scheduled-reports",
+ ],
+ },
+ {
+ 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/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/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/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/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/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/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-app-password.png b/static/img/integrations/bitbucket-app-password.png
deleted file mode 100644
index 259235e9..00000000
Binary files a/static/img/integrations/bitbucket-app-password.png and /dev/null 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/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/schema/schema.v2.json b/static/schema/schema.v2.json
index efb65f11..66ccd0a5 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."
@@ -211,6 +215,11 @@
"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,
@@ -243,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",
@@ -256,7 +265,7 @@
},
"instructions": {
"type": "string",
- "maxLength": 3000,
+ "maxLength": 20000,
"description": "Provides specific additional guidelines for code review based on file paths."
}
},
@@ -271,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": {
@@ -332,6 +346,19 @@
"additionalProperties": false,
"default": {},
"description": "Docstrings | Options for generating Docstrings for your PRs/MRs."
+ },
+ "unit_tests": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Unit Tests | Allow CodeRabbit to generate unit tests for PRs/MRs."
+ }
+ },
+ "additionalProperties": false,
+ "default": {},
+ "description": "Unit Tests | Options for generating unit tests for your PRs/MRs."
}
},
"additionalProperties": false,
@@ -348,6 +375,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "List of rules directories."
},
"util_dirs": {
@@ -355,6 +383,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "List of utils directories."
},
"essential_rules": {
@@ -372,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",
@@ -393,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,
@@ -423,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."
@@ -446,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": {
@@ -453,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": {
@@ -460,6 +492,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of categories to be enabled."
},
"disabled_categories": {
@@ -467,6 +500,7 @@
"items": {
"type": "string"
},
+ "default": [],
"description": "IDs of categories to be disabled. Note: TYPOS, TYPOGRAPHY, and CASING are always disabled."
},
"enabled_only": {
@@ -534,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",
@@ -566,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",
@@ -583,7 +617,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.35.1"
+ "description": "Enable YAMLlint | YAMLlint is a linter for YAML files. | Enable YAMLlint integration. | v1.37.1"
}
},
"additionalProperties": false,
@@ -596,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,
@@ -622,7 +656,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.7"
+ "description": "Enable detekt | detekt is a static code analysis tool for Kotlin files. | v1.23.8"
},
"config_file": {
"type": "string",
@@ -652,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,
@@ -665,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,
@@ -678,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,
@@ -691,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,
@@ -704,7 +738,7 @@
"enabled": {
"type": "boolean",
"default": true,
- "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.8.0"
+ "description": "Enable PMD | PMD is an extensible multilanguage static code analyzer. It’s mainly concerned with Java. | v7.13.0"
},
"config_file": {
"type": "string",
@@ -721,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,
@@ -734,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",
@@ -751,12 +785,77 @@
"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."
+ },
+ "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"
+ },
+ "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"
}
},
"additionalProperties": false,
@@ -819,7 +918,7 @@
"opt_out": {
"type": "boolean",
"default": false,
- "description": "Opt out | Opt out of all knowledge base features that require data retention."
+ "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",
@@ -917,9 +1016,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#"