diff --git a/config/_default/menus/main.en.yaml b/config/_default/menus/main.en.yaml index 43280a77a02..914c6fea623 100644 --- a/config/_default/menus/main.en.yaml +++ b/config/_default/menus/main.en.yaml @@ -1547,32 +1547,32 @@ menu: parent: platform_heading weight: 100000 - name: Bits Investigation - url: bits_ai/bits_ai_sre + url: bits_ai/bits_investigation identifier: bits_ai_sre parent: bits_ai weight: 1 - name: Investigate Issues - url: bits_ai/bits_ai_sre/investigate_issues + url: bits_ai/bits_investigation/investigate_issues identifier: bits_ai_sre_investigate_issues parent: bits_ai_sre weight: 101 - name: Take Action - url: bits_ai/bits_ai_sre/take_action + url: bits_ai/bits_investigation/take_action identifier: bits_ai_sre_take_action parent: bits_ai_sre weight: 102 - name: Bits Investigation Integrations and Settings - url: bits_ai/bits_ai_sre/configure + url: bits_ai/bits_investigation/configure identifier: bits_ai_sre_configure parent: bits_ai_sre weight: 103 - name: Knowledge Sources - url: bits_ai/bits_ai_sre/knowledge_sources + url: bits_ai/bits_investigation/knowledge_sources identifier: bits_ai_sre_knowledge_sources parent: bits_ai_sre weight: 104 - name: Chat with Bits Investigation - url: bits_ai/bits_ai_sre/chat_bits_ai_sre + url: bits_ai/bits_investigation/chat_bits_investigation identifier: bits_ai_sre_chat parent: bits_ai_sre weight: 105 @@ -1582,17 +1582,17 @@ menu: parent: bits_ai weight: 2 - name: Bits Code - url: bits_ai/bits_ai_dev_agent + url: bits_ai/bits_code parent: bits_ai identifier: bits_ai_dev_agent weight: 3 - name: Setup - url: bits_ai/bits_ai_dev_agent/setup + url: bits_ai/bits_code/setup parent: bits_ai_dev_agent identifier: bits_ai_dev_agent_setup weight: 301 - name: Automations - url: bits_ai/bits_ai_dev_agent/automations + url: bits_ai/bits_code/automations parent: bits_ai_dev_agent identifier: bits_ai_dev_agent_automations weight: 302 @@ -2353,7 +2353,7 @@ menu: identifier: error_tracking_error_grouping weight: 4 - name: Bits Code - url: bits_ai/bits_ai_dev_agent + url: bits_ai/bits_code parent: error_tracking identifier: error_tracking_bits_ai_dev_agent weight: 5 diff --git a/config/_default/params.yaml b/config/_default/params.yaml index 6d15040efa3..b084e6698f2 100644 --- a/config/_default/params.yaml +++ b/config/_default/params.yaml @@ -305,6 +305,7 @@ unsupported_sites: bits_ai: [gov,gov2] bits_ai_sre: [gov,gov2] bits_data_analysis: [gov,gov2] + bits_investigation: [gov,gov2] byoti: [gov, gov2] case_management: [gov2] ci_visibility: [gov,gov2] diff --git a/content/en/account_management/billing/ai_credits.md b/content/en/account_management/billing/ai_credits.md index e96d9f4bfc6..66b0917b512 100644 --- a/content/en/account_management/billing/ai_credits.md +++ b/content/en/account_management/billing/ai_credits.md @@ -7,10 +7,10 @@ further_reading: - link: "/bits_ai/bits_chat/" tag: "Documentation" text: "Bits Chat" -- link: "/bits_ai/bits_ai_dev_agent/" +- link: "/bits_ai/bits_code/" tag: "Documentation" text: "Bits Code" -- link: "/bits_ai/bits_ai_sre/" +- link: "/bits_ai/bits_investigation/" tag: "Documentation" text: "Bits Investigation" - link: "/actions/agents/" @@ -87,8 +87,8 @@ AI Credits are available to all Datadog customers except: {{< partial name="whats-next/whats-next.html" >}} [1]: /bits_ai/bits_chat/ -[2]: /bits_ai/bits_ai_dev_agent/ -[3]: /bits_ai/bits_ai_sre/ +[2]: /bits_ai/bits_code/ +[3]: /bits_ai/bits_investigation/ [4]: /actions/agents/ [5]: https://www.datadoghq.com/pricing/?site=us&product=ai-credits#products [6]: https://app.datadoghq.com/account/login?next=%2Fbilling%2Fbill-overview%3Fdetail_bd%3Dai_credits diff --git a/content/en/ai_agents_console/_index.md b/content/en/ai_agents_console/_index.md index cfbdba8da0f..ab439243f28 100644 --- a/content/en/ai_agents_console/_index.md +++ b/content/en/ai_agents_console/_index.md @@ -105,7 +105,7 @@ To start sending data to Agent Console, see [Set Up Agent Console][8]. [2]: https://docs.claude.com/en/docs/claude-code/overview [3]: https://www.cursor.com/ [4]: /integrations/github-copilot/ -[5]: /bits_ai/bits_ai_sre/ -[6]: /bits_ai/bits_ai_dev_agent/ +[5]: /bits_ai/bits_investigation/ +[6]: /bits_ai/bits_code/ [7]: /actions/agents/ [8]: /ai_agents_console/setup/ diff --git a/content/en/bits_ai/_index.md b/content/en/bits_ai/_index.md index f8c0af5c18a..cf281615066 100644 --- a/content/en/bits_ai/_index.md +++ b/content/en/bits_ai/_index.md @@ -39,8 +39,8 @@ Learn about Bits AI pricing on [AI Credits][1]. ## Features {{< whatsnext desc="Learn about how you can use Bits AI:" >}} - {{< nextlink href="bits_ai/bits_ai_sre" >}}Investigate alerts with Bits Investigation{{< /nextlink >}} - {{< nextlink href="bits_ai/bits_ai_dev_agent" >}}Automate code fixes with Bits Code{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_investigation" >}}Investigate alerts with Bits Investigation{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_code" >}}Automate code fixes with Bits Code{{< /nextlink >}} {{< nextlink href="bits_ai/bits_security_analyst" >}}Triage security threat signals with Bits Security Analyst{{< /nextlink >}} {{< nextlink href="bits_ai/bits_chat" >}}Explore your observability data with Bits Chat{{< /nextlink >}} {{< nextlink href="bits_ai/bits_data_analysis" >}}Explore your business data in natural language with Bits Data Analysis{{< /nextlink >}} diff --git a/content/en/bits_ai/bits_ai_dev_agent/_index.md b/content/en/bits_ai/bits_code/_index.md similarity index 97% rename from content/en/bits_ai/bits_ai_dev_agent/_index.md rename to content/en/bits_ai/bits_code/_index.md index 0c838dd7317..7efc7ca62f8 100644 --- a/content/en/bits_ai/bits_ai_dev_agent/_index.md +++ b/content/en/bits_ai/bits_code/_index.md @@ -1,5 +1,7 @@ --- title: Bits Code +aliases: +- /bits_ai/bits_ai_dev_agent/ further_reading: - link: "https://www.datadoghq.com/blog/bits-ai-dev-agent/" tag: "Blog" @@ -87,7 +89,7 @@ Use the freeform prompt field at [**Sessions**][7] to work with Bits Code on gen You can build automations from triggers (a product finding, a custom prompt, a schedule, or a combination) and configure one or more outputs. Datadog-provided templates are also available to help you get started. Create and manage automations at **Bits AI** > **Bits Code** > [**Automations**][29]. -### Pull or merge request collaboration +### Pull or merge request collaboration Bits Code integrates with [source code providers](#supported-source-code-providers) to: - Create pull or merge requests, generating titles and descriptions based on your repository's pull or merge request template @@ -110,15 +112,15 @@ Bits Code never auto-merges PRs or MRs. See all the PRs or MRs that Bits Code is [3]: /profiler/ [4]: /tests/ [5]: https://app.datadoghq.com/integrations/github -[6]: /bits_ai/bits_ai_dev_agent/setup/ +[6]: /bits_ai/bits_code/setup/ [7]: https://app.datadoghq.com/code -[8]: /bits_ai/bits_ai_sre/ +[8]: /bits_ai/bits_investigation/ [10]: /profiler/automated_analysis/ [12]: /containers/ [13]: /containers/bits_ai_kubernetes_remediation [15]: /security/code_security/static_analysis/ai_enhanced_sast/#remediation [16]: /bits_ai/bits_chat/ -[17]: /bits_ai/bits_ai_sre/ +[17]: /bits_ai/bits_investigation/ [20]: /tracing/ [21]: /tracing/recommendations/ [22]: /cloud_cost_management/ @@ -127,7 +129,7 @@ Bits Code never auto-merges PRs or MRs. See all the PRs or MRs that Bits Code is [25]: /security/code_security/iac_security/ [26]: /security/code_security/software_composition_analysis/ [27]: /account_management/billing/ai_credits/ -[28]: /bits_ai/bits_ai_dev_agent/automations/ +[28]: /bits_ai/bits_code/automations/ [29]: https://app.datadoghq.com/code/automations [30]: https://docs.github.com/en/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud [31]: https://docs.github.com/en/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud#about-data-residency diff --git a/content/en/bits_ai/bits_ai_dev_agent/automations.md b/content/en/bits_ai/bits_code/automations.md similarity index 98% rename from content/en/bits_ai/bits_ai_dev_agent/automations.md rename to content/en/bits_ai/bits_code/automations.md index 52c286e5741..1953077971e 100644 --- a/content/en/bits_ai/bits_ai_dev_agent/automations.md +++ b/content/en/bits_ai/bits_code/automations.md @@ -1,15 +1,17 @@ --- title: Automations +aliases: +- /bits_ai/bits_ai_dev_agent/automations/ disable_toc: false description: Create Bits Code automations that run sessions on a schedule or in response to Datadog signals. further_reading: -- link: "/bits_ai/bits_ai_dev_agent/" +- link: "/bits_ai/bits_code/" tag: "Documentation" text: "Bits Code" --- ## Overview -Create an automation to have Bits Code start a [session][1] when a trigger fires—such as a new Code Security finding or a recurring schedule. Bits Code delivers the results as a pull or merge request, or a Slack notification. +Create an automation to have Bits Code start a [session][1] when a trigger fires—such as a new Code Security finding or a recurring schedule. Bits Code delivers the results as a pull or merge request, or a Slack notification. {{< img src="bits_ai/dev_agent/automations/list.png" alt="Under an 'Automate with Bits' title, a table with columns like Name, Author, and Last Run has four rows." style="width:100%;" >}} @@ -17,7 +19,7 @@ With Bits Code automations, you can: - Generate code fixes on a schedule, without starting each session manually - Have Bits Code respond to signals from other Datadog products, such as a new APM Recommendation, a flaky test, or a Code Security finding -- Route the resulting code changes directly to a pull or merge request, or notify a team in Slack +- Route the resulting code changes directly to a pull or merge request, or notify a team in Slack ## Prerequisites To set up a Bits Code automation, each of the following must be true: @@ -102,8 +104,8 @@ You can pause or resume any automation, but you can only edit or delete automati ## Further reading {{< partial name="whats-next/whats-next.html" >}} -[1]: /bits_ai/bits_ai_dev_agent/#sessions -[2]: /bits_ai/bits_ai_dev_agent/setup/ +[1]: /bits_ai/bits_code/#sessions +[2]: /bits_ai/bits_code/setup/ [3]: https://app.datadoghq.com/code/automations [4]: /integrations/slack/ [5]: /internal_developer_portal/catalog/ diff --git a/content/en/bits_ai/bits_ai_dev_agent/setup.md b/content/en/bits_ai/bits_code/setup.md similarity index 96% rename from content/en/bits_ai/bits_ai_dev_agent/setup.md rename to content/en/bits_ai/bits_code/setup.md index 9b473ae572b..ad5494d5302 100644 --- a/content/en/bits_ai/bits_ai_dev_agent/setup.md +++ b/content/en/bits_ai/bits_code/setup.md @@ -1,154 +1,156 @@ ---- -title: Bits Code Setup -disable_toc: false ---- - -## Overview - -[Bits Code][8] integrates with [source code providers][11] to open, update, and iterate on pull or merge requests based on issues detected in Datadog. After completing setup, you can [start using Bits Code][7]. - -## Prerequisites - -To set up Bits Code, you need the **Bits Code Write** (`bits_dev_write`) permission. This permission is included in managed Datadog roles such as the Datadog Standard Role. - -If your organization uses custom roles, an admin must add this permission manually. For details, see [Access Control][1]. - -## Setup - -Set up Bits Code for one of the [supported source code providers][11]. - -{{< tabs >}} - -{{% tab "GitHub" %}} -1. Install the [GitHub integration][1]. For full installation and configuration steps, see the [GitHub integration guide][2]. -1. In your GitHub account, navigate to {{< ui >}}Settings{{< /ui >}} > {{< ui >}}Apps{{< /ui >}} > {{< ui >}}Datadog{{< /ui >}} to configure GitHub permissions. - 1. To enable basic Bits Code functionality, set the following permissions: - - {{< ui >}}Repository permissions{{< /ui >}} - - Repository contents: Read & write - - Pull requests: Read & write - - {{< ui >}}Subscribe to events{{< /ui >}} - - Push - 1. (Optional) To allow Bits Code to use CI logs when iterating on pull requests, you must send CI logs to Datadog and enable the [auto-push](#enable-auto-push) feature. This requires additional permissions: - - {{< ui >}}Repository permissions{{< /ui >}} - - Checks: Read - - Commit statuses: Read only - - {{< ui >}}Subscribe to events{{< /ui >}} - - Check run - - Check suite - - Issue comment - - Status - -[1]: https://app.datadoghq.com/integrations/github -[2]: /integrations/github/ -{{% /tab %}} - -{{% tab "GitLab" %}} -1. Install the [GitLab Source Code integration][1]. For full installation and configuration steps, see the [GitLab Source Code integration guide][2]. -1. Verify that the GitLab [service account][3] meets the following requirements: - - The service account must have the [Developer role][4] on the project. This role can be inherited from a [group][5]. - - The service account's personal access token must have the following [scopes][6]: `api`, `write_repository`, and `read_user`. - -[1]: https://app.datadoghq.com/integrations/gitlab-source-code -[2]: /integrations/gitlab-source-code/ -[3]: https://docs.gitlab.com/user/profile/service_accounts/ -[4]: https://docs.gitlab.com/user/permissions/#default-roles -[5]: https://docs.gitlab.com/user/permissions/#groups -[6]: https://docs.gitlab.com/user/profile/personal_access_tokens/#personal-access-token-scopes -{{% /tab %}} - -{{< /tabs >}} - -## Additional configuration - -These optional configurations help you get the most out of Bits Code. - -### Configure telemetry tagging - -Bits Code uses the `service` and `version` telemetry tags to match detected issues (such as errors or vulnerabilities) to the version of code that was running at the time. - -To configure telemetry tagging, see [Tag your APM telemetry with Git information][4]. - -You can also configure service-to-repository mapping manually in Bits Code settings under [{{< ui >}}Repositories{{< /ui >}}][5] > {{< ui >}}Service Repository Mapping{{< /ui >}}. - -### Enable auto-push - -Auto-push allows Bits Code to create branches, push code, and open PRs or MRs when it detects something it can help you with. Auto-push only opens PRs or MRs and pushes changes; it never merges code. When auto-push is disabled, you must review code in Datadog before it gets pushed. - -To enable auto-push, navigate to **Bits Code** > **Settings** > [**General**][6]. - - -#### Security considerations - -Allowing any AI-based tool to read untrusted data can let attackers influence its output. Auto-push behavior depends on the type of data Bits Code works with: code-only workflows operate on source code the Agent can inspect directly, while telemetry-based workflows (such as errors or traces) may include untrusted runtime inputs. - -To balance safety and automation, you can configure auto-push behavior in [Datadog][6] (for example, limiting auto-push to code-only workflows or requiring review when telemetry is involved). Datadog scans all Agent-generated code before pushing changes, but these safeguards are not foolproof. - -### Configure custom instructions - -Bits Code ingests custom instruction files from your repository, including: -- `.cursorrules` -- `.windsurfrules` -- `copilot-instructions.md` -- `CLAUDE.md` -- `AGENTS.md` -- `agent.md` - -You can also define global custom instructions, which apply to all Bits Code sessions, in **Bits Code** > **Settings** > [**General**][6], in the **Global Agent Instructions** section. - -## Environment setup - -Configure Bits Code's runtime environment, including network access policies and repository-specific tooling. - -### Configure internet access - -By default, Bits Code has **no internet access** during agent execution. To configure which external domains agents can reach, navigate to **Bits Code** > **Settings** > [**General**][6], and find the **Internet Access** section. Choose from the following access policies: **No Internet Access**, **Default Allowlist**, **Custom + Default Allowlist**, or **Custom Allowlist**. - -The default allowlist includes the following domains. This list will evolve over time based on user feedback and ecosystem changes. To avoid changes, configure a custom allowlist. - -| Language | Domains | -|---|---| -| Clojure/JVM | `repo.clojars.org` | -| Go | `pkg.go.dev`, `proxy.golang.org`, `sum.golang.org`, `vuln.go.dev` | -| Java/JVM | `repo1.maven.org` | -| JavaScript/TypeScript | `registry.npmjs.org`, `registry.yarnpkg.com` | -| .NET/C# | `api.nuget.org` | -| PHP | `packagist.org`, `repo.packagist.org` | -| Python | `files.pythonhosted.org`, `pypi.org`, `pypi.python.org`, `pythonhosted.org` | -| Rust | `index.crates.io`, `static.crates.io` | -| Ubuntu | `archive.ubuntu.com`, `ports.ubuntu.com`, `security.ubuntu.com` | - -### Configure repository environment - -Configure a custom environment for Bits Code to install dependencies, formatters, linters, and build tools that are needed for your codebase. Each repository runs in its own isolated sandbox, and the environment defines the settings for that sandbox. - -To configure a repository environment: - -1. Go to {{< ui >}}Bits Code{{< /ui >}} > {{< ui >}}Settings{{< /ui >}} > [{{< ui >}}Repositories{{< /ui >}}][5], and find the {{< ui >}}Environments{{< /ui >}} section. -1. Click {{< ui >}}Add Environment{{< /ui >}} to create a repository configuration: - 1. Select a repository from the dropdown. - 1. (Optional) Under {{< ui >}}Pre-installed Languages{{< /ui >}}, click {{< ui >}}Select Versions{{< /ui >}} to specify the language versions the sandbox should use. - 1. (Optional) Define environment variables and secrets. Environment variables are available during both environment setup and Bits Code execution. Secrets are available as environment variables only during environment setup. - 1. (Optional) Add a shell script with setup commands to execute (for example: `pip install -r requirements.txt`). -1. Run the setup command to ensure it runs successfully. -1. Save the configuration. - -Bits Code runs the setup command at startup and can use any tools installed in your environment. The setup command runs with network access enabled to download dependencies. After setup is complete, your [internet access](#configure-internet-access) policy controls outbound network access during agent execution. Because setup commands execute against code in your repository, enable them only if you trust the repository's code. - -**Note**: For best results, add a [custom instructions file](#configure-custom-instructions) (like `claude.md`) to your repository with instructions on how to build and test your code. - -## Troubleshooting - -### Creation of GitHub PRs fails unexpectedly - -In some cases, especially in repositories with many branches, GitHub does not run the permission check when creating a branch for the session. If you use a custom GitHub App, you can work around this issue by adding the `workflows:write` permission to your app in the [GitHub integration][2]. - -**Note**: This permission allows Bits AI to create workflows in your repository and has security implications. - -[1]: /account_management/rbac/permissions/#bits-ai -[2]: https://app.datadoghq.com/integrations/github -[4]: /integrations/guide/source-code-integration/?tab=go#tag-your-apm-telemetry-with-git-information -[5]: https://app.datadoghq.com/code/settings?tab=repositories -[6]: https://app.datadoghq.com/code/settings -[7]: /bits_ai/bits_ai_dev_agent/#start-a-session -[8]: /bits_ai/bits_ai_dev_agent/ -[11]: /bits_ai/bits_ai_dev_agent/#supported-source-code-providers +--- +title: Bits Code Setup +aliases: +- /bits_ai/bits_ai_dev_agent/setup/ +disable_toc: false +--- + +## Overview + +[Bits Code][8] integrates with [source code providers][11] to open, update, and iterate on pull or merge requests based on issues detected in Datadog. After completing setup, you can [start using Bits Code][7]. + +## Prerequisites + +To set up Bits Code, you need the **Bits Code Write** (`bits_dev_write`) permission. This permission is included in managed Datadog roles such as the Datadog Standard Role. + +If your organization uses custom roles, an admin must add this permission manually. For details, see [Access Control][1]. + +## Setup + +Set up Bits Code for one of the [supported source code providers][11]. + +{{< tabs >}} + +{{% tab "GitHub" %}} +1. Install the [GitHub integration][1]. For full installation and configuration steps, see the [GitHub integration guide][2]. +1. In your GitHub account, navigate to {{< ui >}}Settings{{< /ui >}} > {{< ui >}}Apps{{< /ui >}} > {{< ui >}}Datadog{{< /ui >}} to configure GitHub permissions. + 1. To enable basic Bits Code functionality, set the following permissions: + - {{< ui >}}Repository permissions{{< /ui >}} + - Repository contents: Read & write + - Pull requests: Read & write + - {{< ui >}}Subscribe to events{{< /ui >}} + - Push + 1. (Optional) To allow Bits Code to use CI logs when iterating on pull requests, you must send CI logs to Datadog and enable the [auto-push](#enable-auto-push) feature. This requires additional permissions: + - {{< ui >}}Repository permissions{{< /ui >}} + - Checks: Read + - Commit statuses: Read only + - {{< ui >}}Subscribe to events{{< /ui >}} + - Check run + - Check suite + - Issue comment + - Status + +[1]: https://app.datadoghq.com/integrations/github +[2]: /integrations/github/ +{{% /tab %}} + +{{% tab "GitLab" %}} +1. Install the [GitLab Source Code integration][1]. For full installation and configuration steps, see the [GitLab Source Code integration guide][2]. +1. Verify that the GitLab [service account][3] meets the following requirements: + - The service account must have the [Developer role][4] on the project. This role can be inherited from a [group][5]. + - The service account's personal access token must have the following [scopes][6]: `api`, `write_repository`, and `read_user`. + +[1]: https://app.datadoghq.com/integrations/gitlab-source-code +[2]: /integrations/gitlab-source-code/ +[3]: https://docs.gitlab.com/user/profile/service_accounts/ +[4]: https://docs.gitlab.com/user/permissions/#default-roles +[5]: https://docs.gitlab.com/user/permissions/#groups +[6]: https://docs.gitlab.com/user/profile/personal_access_tokens/#personal-access-token-scopes +{{% /tab %}} + +{{< /tabs >}} + +## Additional configuration + +These optional configurations help you get the most out of Bits Code. + +### Configure telemetry tagging + +Bits Code uses the `service` and `version` telemetry tags to match detected issues (such as errors or vulnerabilities) to the version of code that was running at the time. + +To configure telemetry tagging, see [Tag your APM telemetry with Git information][4]. + +You can also configure service-to-repository mapping manually in Bits Code settings under [{{< ui >}}Repositories{{< /ui >}}][5] > {{< ui >}}Service Repository Mapping{{< /ui >}}. + +### Enable auto-push + +Auto-push allows Bits Code to create branches, push code, and open PRs or MRs when it detects something it can help you with. Auto-push only opens PRs or MRs and pushes changes; it never merges code. When auto-push is disabled, you must review code in Datadog before it gets pushed. + +To enable auto-push, navigate to **Bits Code** > **Settings** > [**General**][6]. + + +#### Security considerations + +Allowing any AI-based tool to read untrusted data can let attackers influence its output. Auto-push behavior depends on the type of data Bits Code works with: code-only workflows operate on source code the Agent can inspect directly, while telemetry-based workflows (such as errors or traces) may include untrusted runtime inputs. + +To balance safety and automation, you can configure auto-push behavior in [Datadog][6] (for example, limiting auto-push to code-only workflows or requiring review when telemetry is involved). Datadog scans all Agent-generated code before pushing changes, but these safeguards are not foolproof. + +### Configure custom instructions + +Bits Code ingests custom instruction files from your repository, including: +- `.cursorrules` +- `.windsurfrules` +- `copilot-instructions.md` +- `CLAUDE.md` +- `AGENTS.md` +- `agent.md` + +You can also define global custom instructions, which apply to all Bits Code sessions, in **Bits Code** > **Settings** > [**General**][6], in the **Global Agent Instructions** section. + +## Environment setup + +Configure Bits Code's runtime environment, including network access policies and repository-specific tooling. + +### Configure internet access + +By default, Bits Code has **no internet access** during agent execution. To configure which external domains agents can reach, navigate to **Bits Code** > **Settings** > [**General**][6], and find the **Internet Access** section. Choose from the following access policies: **No Internet Access**, **Default Allowlist**, **Custom + Default Allowlist**, or **Custom Allowlist**. + +The default allowlist includes the following domains. This list will evolve over time based on user feedback and ecosystem changes. To avoid changes, configure a custom allowlist. + +| Language | Domains | +|---|---| +| Clojure/JVM | `repo.clojars.org` | +| Go | `pkg.go.dev`, `proxy.golang.org`, `sum.golang.org`, `vuln.go.dev` | +| Java/JVM | `repo1.maven.org` | +| JavaScript/TypeScript | `registry.npmjs.org`, `registry.yarnpkg.com` | +| .NET/C# | `api.nuget.org` | +| PHP | `packagist.org`, `repo.packagist.org` | +| Python | `files.pythonhosted.org`, `pypi.org`, `pypi.python.org`, `pythonhosted.org` | +| Rust | `index.crates.io`, `static.crates.io` | +| Ubuntu | `archive.ubuntu.com`, `ports.ubuntu.com`, `security.ubuntu.com` | + +### Configure repository environment + +Configure a custom environment for Bits Code to install dependencies, formatters, linters, and build tools that are needed for your codebase. Each repository runs in its own isolated sandbox, and the environment defines the settings for that sandbox. + +To configure a repository environment: + +1. Go to {{< ui >}}Bits Code{{< /ui >}} > {{< ui >}}Settings{{< /ui >}} > [{{< ui >}}Repositories{{< /ui >}}][5], and find the {{< ui >}}Environments{{< /ui >}} section. +1. Click {{< ui >}}Add Environment{{< /ui >}} to create a repository configuration: + 1. Select a repository from the dropdown. + 1. (Optional) Under {{< ui >}}Pre-installed Languages{{< /ui >}}, click {{< ui >}}Select Versions{{< /ui >}} to specify the language versions the sandbox should use. + 1. (Optional) Define environment variables and secrets. Environment variables are available during both environment setup and Bits Code execution. Secrets are available as environment variables only during environment setup. + 1. (Optional) Add a shell script with setup commands to execute (for example: `pip install -r requirements.txt`). +1. Run the setup command to ensure it runs successfully. +1. Save the configuration. + +Bits Code runs the setup command at startup and can use any tools installed in your environment. The setup command runs with network access enabled to download dependencies. After setup is complete, your [internet access](#configure-internet-access) policy controls outbound network access during agent execution. Because setup commands execute against code in your repository, enable them only if you trust the repository's code. + +**Note**: For best results, add a [custom instructions file](#configure-custom-instructions) (like `claude.md`) to your repository with instructions on how to build and test your code. + +## Troubleshooting + +### Creation of GitHub PRs fails unexpectedly + +In some cases, especially in repositories with many branches, GitHub does not run the permission check when creating a branch for the session. If you use a custom GitHub App, you can work around this issue by adding the `workflows:write` permission to your app in the [GitHub integration][2]. + +**Note**: This permission allows Bits AI to create workflows in your repository and has security implications. + +[1]: /account_management/rbac/permissions/#bits-ai +[2]: https://app.datadoghq.com/integrations/github +[4]: /integrations/guide/source-code-integration/?tab=go#tag-your-apm-telemetry-with-git-information +[5]: https://app.datadoghq.com/code/settings?tab=repositories +[6]: https://app.datadoghq.com/code/settings +[7]: /bits_ai/bits_code/#start-a-session +[8]: /bits_ai/bits_code/ +[11]: /bits_ai/bits_code/#supported-source-code-providers diff --git a/content/en/bits_ai/bits_detection.md b/content/en/bits_ai/bits_detection.md index d90c8551d10..0bad521a1a8 100644 --- a/content/en/bits_ai/bits_detection.md +++ b/content/en/bits_ai/bits_detection.md @@ -106,4 +106,4 @@ Bits Detection uses criticality to determine which resources should have managed [1]: /help [2]: https://www.app.datadoghq.com/apm/services [3]: https://app.datadoghq.com/monitors/manage?bits_monitors=true -[4]: /bits_ai/bits_ai_sre/ +[4]: /bits_ai/bits_investigation/ diff --git a/content/en/bits_ai/bits_ai_sre/_index.md b/content/en/bits_ai/bits_investigation/_index.md similarity index 65% rename from content/en/bits_ai/bits_ai_sre/_index.md rename to content/en/bits_ai/bits_investigation/_index.md index 81219ebc48c..960ca061eae 100644 --- a/content/en/bits_ai/bits_ai_sre/_index.md +++ b/content/en/bits_ai/bits_investigation/_index.md @@ -1,6 +1,8 @@ --- title: Bits Investigation description: "Learn how Bits Investigation autonomously investigates alerts to improve on-call operations." +aliases: +- /bits_ai/bits_ai_sre/ further_reading: - link: "https://www.datadoghq.com/blog/bits-ai-sre/" tag: "Blog" @@ -12,7 +14,7 @@ further_reading: tag: "Documentation" text: "AI Credits" cascade: - site_support_id: bits_ai_sre + site_support_id: bits_investigation --- ## Overview @@ -24,11 +26,11 @@ Bits Investigation is an autonomous AI agent that investigates production issues ## Features {{< whatsnext desc="Learn about how you can use Bits Investigation:" >}} - {{< nextlink href="bits_ai/bits_ai_sre/investigate_issues" >}}Investigate issues{{< /nextlink >}} - {{< nextlink href="bits_ai/bits_ai_sre/take_action" >}}Take action{{< /nextlink >}} - {{< nextlink href="bits_ai/bits_ai_sre/configure" >}}Bits Investigation integrations and settings{{< /nextlink >}} - {{< nextlink href="bits_ai/bits_ai_sre/knowledge_sources" >}}Knowledge sources{{< /nextlink >}} - {{< nextlink href="bits_ai/bits_ai_sre/chat_bits_ai_sre" >}}Chat with Bits Investigation{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_investigation/investigate_issues" >}}Investigate issues{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_investigation/take_action" >}}Take action{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_investigation/configure" >}}Bits Investigation integrations and settings{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_investigation/knowledge_sources" >}}Knowledge sources{{< /nextlink >}} + {{< nextlink href="bits_ai/bits_investigation/chat_bits_investigation" >}}Chat with Bits Investigation{{< /nextlink >}} {{< /whatsnext >}} ## Further reading diff --git a/content/en/bits_ai/bits_ai_sre/chat_bits_ai_sre.md b/content/en/bits_ai/bits_investigation/chat_bits_investigation.md similarity index 96% rename from content/en/bits_ai/bits_ai_sre/chat_bits_ai_sre.md rename to content/en/bits_ai/bits_investigation/chat_bits_investigation.md index ef147ee3ec5..5e3b447ac83 100644 --- a/content/en/bits_ai/bits_ai_sre/chat_bits_ai_sre.md +++ b/content/en/bits_ai/bits_investigation/chat_bits_investigation.md @@ -1,5 +1,7 @@ --- title: Chat with Bits Investigation +aliases: +- /bits_ai/bits_ai_sre/chat_bits_ai_sre/ --- Within an investigation, you can chat with Bits to gather additional information about the investigation, related telemetry, and more. @@ -30,4 +32,4 @@ The Bits Investigation chatbot has access to: | Ask about Datadog products | `Does Bits Investigation connect to Datadog Case Management?` | Datadog Documentation | | Create a Notebook | `Can you create a notebook with a summary of this investigation?` | Notebooks | -[1]: bits_ai/bits_ai_sre/configure#confluence +[1]: bits_ai/bits_investigation/configure#confluence diff --git a/content/en/bits_ai/bits_ai_sre/configure.md b/content/en/bits_ai/bits_investigation/configure.md similarity index 98% rename from content/en/bits_ai/bits_ai_sre/configure.md rename to content/en/bits_ai/bits_investigation/configure.md index 940022c1b13..96aab566c3d 100644 --- a/content/en/bits_ai/bits_ai_sre/configure.md +++ b/content/en/bits_ai/bits_investigation/configure.md @@ -1,5 +1,7 @@ --- title: Configure Integrations and Settings +aliases: +- /bits_ai/bits_ai_sre/configure/ --- Set up integrations to extend Bits Investigation's capabilities: @@ -142,7 +144,7 @@ You can trigger and retrieve investigations programmatically [via API][18]. [6]: https://app.datadoghq.com/cases/settings [7]: https://app.datadoghq.com/integrations/confluence [8]: /account_management/rbac -[9]: /bits_ai/bits_ai_sre/investigate_issues#manually-start-an-investigation +[9]: /bits_ai/bits_investigation/investigate_issues#manually-start-an-investigation [10]: https://app.datadoghq.com/bits-ai/settings/rate-limits [11]: /account_management/audit_trail/events/#bits-ai-sre [12]: /integrations/microsoft-teams/?tab=datadogapprecommended diff --git a/content/en/bits_ai/bits_ai_sre/investigate_issues.md b/content/en/bits_ai/bits_investigation/investigate_issues.md similarity index 97% rename from content/en/bits_ai/bits_ai_sre/investigate_issues.md rename to content/en/bits_ai/bits_investigation/investigate_issues.md index d9a9f26a10d..94ac46598df 100644 --- a/content/en/bits_ai/bits_ai_sre/investigate_issues.md +++ b/content/en/bits_ai/bits_investigation/investigate_issues.md @@ -3,6 +3,8 @@ title: Investigate Issues description: "Use Bits Investigation to automatically investigate monitor alerts and provide root cause analysis for faster incident resolution." aliases: - /bits_ai/bits_ai_sre/investigate_alerts/ +- /bits_ai/bits_investigation/investigate_alerts/ +- /bits_ai/bits_ai_sre/investigate_issues/ further_reading: - link: "https://www.datadoghq.com/blog/bits-ai-sre-deeper-reasoning" tag: "Blog" @@ -158,12 +160,12 @@ Once the investigation is complete, you can switch to the {{< ui >}}Hypothesis T The {{< ui >}}Reports{{< /ui >}} tab enables you to track the number of investigations run over time by monitor, user, service, and team. You can also track the mean time to conclusion to assess the impact of Bits Investigation on your on-call efficiency. -[3]: /bits_ai/bits_ai_sre/configure/#configure-knowledge-base-integrations +[3]: /bits_ai/bits_investigation/configure/#configure-knowledge-base-integrations [4]: /change_tracking [5]: https://app.datadoghq.com/bits-ai/monitors/supported [6]: https://app.datadoghq.com/monitors/manage -[8]: /bits_ai/bits_ai_sre/configure#slack -[9]: /bits_ai/bits_ai_sre/knowledge_sources/ +[8]: /bits_ai/bits_investigation/configure#slack +[9]: /bits_ai/bits_investigation/knowledge_sources/ [10]: /incident_response/on-call/pages/#page-from-notifications [14]: /incident_response/case_management/notifications_integrations/#third-party-tickets [15]: /account_management/rbac/permissions/#bits-ai diff --git a/content/en/bits_ai/bits_ai_sre/knowledge_sources.md b/content/en/bits_ai/bits_investigation/knowledge_sources.md similarity index 98% rename from content/en/bits_ai/bits_ai_sre/knowledge_sources.md rename to content/en/bits_ai/bits_investigation/knowledge_sources.md index a2629ae279f..a5c10ae9882 100644 --- a/content/en/bits_ai/bits_ai_sre/knowledge_sources.md +++ b/content/en/bits_ai/bits_investigation/knowledge_sources.md @@ -2,6 +2,8 @@ title: Knowledge Sources aliases: - /bits_ai/bits_ai_sre/help_bits_learn/ +- /bits_ai/bits_investigation/help_bits_learn/ +- /bits_ai/bits_ai_sre/knowledge_sources/ --- diff --git a/content/en/bits_ai/bits_ai_sre/take_action.md b/content/en/bits_ai/bits_investigation/take_action.md similarity index 91% rename from content/en/bits_ai/bits_ai_sre/take_action.md rename to content/en/bits_ai/bits_investigation/take_action.md index 104a0fea7e5..2b61078336a 100644 --- a/content/en/bits_ai/bits_ai_sre/take_action.md +++ b/content/en/bits_ai/bits_investigation/take_action.md @@ -2,6 +2,8 @@ title: Take Action aliases: - /bits_ai/bits_ai_sre/remediate_issues/ +- /bits_ai/bits_investigation/remediate_issues/ +- /bits_ai/bits_ai_sre/take_action/ --- ## Suggested code fixes from Bits Code @@ -25,5 +27,5 @@ Supported actions include: Bits Investigation automatically pulls relevant context from the investigation and your connected integrations to prefill messages, incident descriptions, and ticket metadata. This reduces manual effort, ensures consistency, and accelerates response time. -[1]: /bits_ai/bits_ai_dev_agent/setup/ -[2]: /bits_ai/bits_ai_dev_agent +[1]: /bits_ai/bits_code/setup/ +[2]: /bits_ai/bits_code diff --git a/content/en/cloud_cost_management/recommendations/_index.md b/content/en/cloud_cost_management/recommendations/_index.md index bae6c3b2361..9c741b2316b 100644 --- a/content/en/cloud_cost_management/recommendations/_index.md +++ b/content/en/cloud_cost_management/recommendations/_index.md @@ -710,7 +710,7 @@ You can act on recommendations to save money and optimize costs. Cloud Cost Reco [10]: https://app.datadoghq.com/integrations/gcp [11]: /cloud_cost_management/allocation/tag_pipelines/ [12]: /cloud_cost_management/tags/#how-tags-are-normalized -[13]: /bits_ai/bits_ai_dev_agent/setup -[14]: /bits_ai/bits_ai_dev_agent/ +[13]: /bits_ai/bits_code/setup +[14]: /bits_ai/bits_code/ [15]: /cloud_cost_management/recommendations/cost_optimization_automation/ [16]: /mcp_server/tools/#cost_recommendations diff --git a/content/en/containers/bits_remediation.md b/content/en/containers/bits_remediation.md index a71d5e18664..80d6001a904 100644 --- a/content/en/containers/bits_remediation.md +++ b/content/en/containers/bits_remediation.md @@ -65,4 +65,4 @@ When a pod is terminated because the memory usage exceeded its limit, you may be [2]: https://app.datadoghq.com/orchestration/explorer/pod [3]: https://app.datadoghq.com/code?tab=my-sessions [4]: https://docs.datadoghq.com/integrations/guide/source-code-integration/?tab=githubsaasonprem#connect-your-git-repositories-to-datadog -[5]: /bits_ai/bits_ai_dev_agent/ +[5]: /bits_ai/bits_code/ diff --git a/content/en/containers/monitoring/_index.md b/content/en/containers/monitoring/_index.md index 4bf867f1149..ff3fcf43040 100644 --- a/content/en/containers/monitoring/_index.md +++ b/content/en/containers/monitoring/_index.md @@ -60,7 +60,7 @@ Automated fixes from Bits Remediation is in Preview. To sign up, click R [11]: https://app.datadoghq.com/orchestration/scaling/summary [12]: /containers/monitoring/autoscaling [13]: https://app.datadoghq.com/orchestration/remediation -[14]: /bits_ai/bits_ai_dev_agent +[14]: /bits_ai/bits_code [15]: /containers/bits_ai_kubernetes_remediation/ [16]: https://app.datadoghq.com/orchestration/explorer/ecsTask [17]: /infrastructure/containers/amazon_elastic_container_explorer diff --git a/content/en/datadog_cloudcraft/overlays/monitors.md b/content/en/datadog_cloudcraft/overlays/monitors.md index 60afc17668e..771f817b8d5 100644 --- a/content/en/datadog_cloudcraft/overlays/monitors.md +++ b/content/en/datadog_cloudcraft/overlays/monitors.md @@ -3,7 +3,7 @@ title: Monitors description: "Use the Monitors overlay in Cloudcraft to view monitor states for your resources and services, and investigate alerting monitors with Bits Investigation." site_support_id: cloudcraft_monitors_overlay further_reading: -- link: "/bits_ai/bits_ai_sre/" +- link: "/bits_ai/bits_investigation/" tag: "Documentation" text: "Bits Investigation" --- @@ -53,4 +53,4 @@ Click a monitor pin on the diagram to open a side panel listing all monitors ass {{< partial name="whats-next/whats-next.html" >}} -[1]: /bits_ai/bits_ai_sre/ +[1]: /bits_ai/bits_investigation/ diff --git a/content/en/incident_response/incident_management/investigate/incident_ai.md b/content/en/incident_response/incident_management/investigate/incident_ai.md index 4e7669a5c98..95c690d1c04 100644 --- a/content/en/incident_response/incident_management/investigate/incident_ai.md +++ b/content/en/incident_response/incident_management/investigate/incident_ai.md @@ -7,7 +7,7 @@ aliases: - /service_management/incident_management/incident_ai/ - /incident_response/incident_management/incident_ai further_reading: -- link: "/bits_ai/bits_ai_sre/" +- link: "/bits_ai/bits_investigation/" tag: "Documentation" text: "Learn about Bits Investigation" - link: "/incident_response/incident_management/post_incident/postmortems" @@ -87,4 +87,4 @@ For a full walkthrough of the investigation workflow, see [Bits Investigation][4 [1]: /incident_response/incident_management/setup_and_configuration/integrations/slack [2]: /incident_response/incident_management/setup_and_configuration/templates [3]: /incident_response/incident_management/post_incident/postmortems -[4]: /bits_ai/bits_ai_sre +[4]: /bits_ai/bits_investigation diff --git a/content/en/infrastructure/storage_management/amazon_s3.md b/content/en/infrastructure/storage_management/amazon_s3.md index 5156986431b..244b9a273e7 100644 --- a/content/en/infrastructure/storage_management/amazon_s3.md +++ b/content/en/infrastructure/storage_management/amazon_s3.md @@ -360,4 +360,4 @@ Seeing recommendations has the following prerequisites: [7]: /cloud_cost_management/ [8]: https://app.datadoghq.com/dash/integration/32296/storage-management-for-amazon-s3 [9]: https://app.datadoghq.com/storage-management/settings -[10]: https://docs.datadoghq.com/bits_ai/bits_ai_dev_agent/ +[10]: https://docs.datadoghq.com/bits_ai/bits_code/ diff --git a/content/en/mobile/_index.md b/content/en/mobile/_index.md index d28d5085c6d..b230fbf0130 100644 --- a/content/en/mobile/_index.md +++ b/content/en/mobile/_index.md @@ -361,5 +361,5 @@ For help with troubleshooting, [contact Datadog support][13]. You can also send [25]: /logs/explorer/watchdog_insights/ [26]: /watchdog/insights/?tab=logmanagement [27]: /bits_ai/bits_chat/ -[28]: /bits_ai/bits_ai_sre/ +[28]: /bits_ai/bits_investigation/ [29]: /account_management/multi_organization/#custom-sub-domains diff --git a/content/en/network_monitoring/devices/device_health.md b/content/en/network_monitoring/devices/device_health.md index fd2348b5213..f53e6d4795a 100644 --- a/content/en/network_monitoring/devices/device_health.md +++ b/content/en/network_monitoring/devices/device_health.md @@ -5,7 +5,7 @@ further_reading: - link: "/network_monitoring/devices/config_management" tag: "Documentation" text: "Network Configuration Management" - - link: "/bits_ai/bits_ai_sre/" + - link: "/bits_ai/bits_investigation/" tag: "Documentation" text: "Bits Investigation" - link: "/network_monitoring/devices/troubleshooting" @@ -63,5 +63,5 @@ The issue panel also shows other devices and dependencies potentially affected b {{< partial name="whats-next/whats-next.html" >}} [1]: https://app.datadoghq.com/devices/health -[2]: /bits_ai/bits_ai_sre/ +[2]: /bits_ai/bits_investigation/ [3]: https://app.datadoghq.com/devices diff --git a/content/en/profiler/automated_analysis.md b/content/en/profiler/automated_analysis.md index 1eb52203587..69497b3226b 100644 --- a/content/en/profiler/automated_analysis.md +++ b/content/en/profiler/automated_analysis.md @@ -138,5 +138,5 @@ Automated Analysis supports finding the following insights: {{< partial name="whats-next/whats-next.html" >}} [1]: https://app.datadoghq.com/profiling/explorer -[2]: /bits_ai/bits_ai_dev_agent/ +[2]: /bits_ai/bits_code/ diff --git a/content/en/security/code_security/static_analysis/ai_enhanced_sast.md b/content/en/security/code_security/static_analysis/ai_enhanced_sast.md index 744b8f7abb0..504c4a9cb9b 100644 --- a/content/en/security/code_security/static_analysis/ai_enhanced_sast.md +++ b/content/en/security/code_security/static_analysis/ai_enhanced_sast.md @@ -205,7 +205,7 @@ You can also view all remediation sessions on [**Sessions**][7]. [6]: https://app.datadoghq.com/security/code-security/sast [7]: https://app.datadoghq.com/code [9]: /bits_ai/ -[10]: /bits_ai/bits_ai_dev_agent +[10]: /bits_ai/bits_code [11]: https://app.datadoghq.com/code/settings -[13]: /bits_ai/bits_ai_dev_agent/automations +[13]: /bits_ai/bits_code/automations [14]: https://app.datadoghq.com/code/automations diff --git a/content/en/tests/flaky_management/_index.md b/content/en/tests/flaky_management/_index.md index 7c232fa200f..37eeefebf04 100644 --- a/content/en/tests/flaky_management/_index.md +++ b/content/en/tests/flaky_management/_index.md @@ -16,10 +16,6 @@ further_reading: text: "Getting Started with Test Optimization" --- -{{< site-region region="gov,gov2" >}} -
Test Optimization is not available in the selected site ({{< region-param key="dd_site_name" >}}) at this time.
-{{< /site-region >}} - ## Overview The [Flaky Tests Management][1] page provides a centralized view to track, triage, and remediate flaky tests across your organization. You can view every test's state along with key impact metrics like number of pipeline failures, CI time wasted, and failure rate. @@ -264,5 +260,5 @@ To find your account name, go to the [Slack integration tile][5] and check the [11]: /tests/setup/ruby/ [12]: /tests/setup/swift/ [13]: https://app.datadoghq.com/ci/settings/ci-cd/repositories -[16]: /bits_ai/bits_ai_dev_agent/ +[16]: /bits_ai/bits_code/ [17]: /integrations/guide/source-code-integration/ diff --git a/content/en/tracing/live_debugger/bits-live-debugger.md b/content/en/tracing/live_debugger/bits-live-debugger.md index 637a4158b16..e1a804f22b7 100644 --- a/content/en/tracing/live_debugger/bits-live-debugger.md +++ b/content/en/tracing/live_debugger/bits-live-debugger.md @@ -4,7 +4,7 @@ description: Use Bits Code to create and manage Live Debugger sessions through a aliases: - /tracing/live_debugger/debug-with-bits/ further_reading: -- link: "/bits_ai/bits_ai_dev_agent/" +- link: "/bits_ai/bits_code/" tag: "Documentation" text: "Bits Code" - link: "/tracing/live_debugger/" @@ -26,7 +26,7 @@ Bits Live Debugger brings a conversational interface to Live Debugger for invest All debugging activity runs through [Live Debugger][1], so the same [permissions][2], rate limits, auto-expiry behavior, and [sensitive data scrubbing][3] apply.
-Bits Live Debugger uses Bits Code, which may impact billing. +Bits Live Debugger uses Bits Code, which may impact billing.
## Prerequisites @@ -83,6 +83,6 @@ Logpoints created by Bits follow the same rules as manually created logpoints. T [2]: /tracing/live_debugger/#permissions [3]: /dynamic_instrumentation/sensitive-data-scrubbing/ [4]: https://app.datadoghq.com/debugging/sessions -[5]: /bits_ai/bits_ai_dev_agent/ +[5]: /bits_ai/bits_code/ [6]: /source_code/source-code-management/ [7]: /tracing/live_debugger/#requirements-and-setup diff --git a/content/en/tracing/recommendations/_index.md b/content/en/tracing/recommendations/_index.md index 19a1a7ec071..fc25568635d 100644 --- a/content/en/tracing/recommendations/_index.md +++ b/content/en/tracing/recommendations/_index.md @@ -181,5 +181,5 @@ After you've reviewed the recommendation, you can use the **FOR REVIEW** dropdow [1]: https://app.datadoghq.com/apm/recommendations [2]: /database_monitoring/recommendations/ -[3]: /bits_ai/bits_ai_dev_agent/ -[4]: /bits_ai/bits_ai_dev_agent/setup/ +[3]: /bits_ai/bits_code/ +[4]: /bits_ai/bits_code/setup/