From 9cba88db9b3a0d706886c54ba8d3c5d00a2f1e82 Mon Sep 17 00:00:00 2001 From: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com> Date: Tue, 15 Sep 2026 16:10:01 -0600 Subject: [PATCH 1/5] docs: clarify factory code forge setup Co-Authored-By: Warp --- .../code-forges/other-code-forges.mdx | 84 +++++++++++++++++++ .../docs/factories/connect-your-factory.mdx | 1 + src/content/docs/factories/index.mdx | 2 +- .../docs/factories/integrations/gitlab.mdx | 2 +- src/content/docs/factories/quickstart.mdx | 4 +- src/sidebar.ts | 15 +++- 6 files changed, 102 insertions(+), 6 deletions(-) create mode 100644 src/content/docs/factories/code-forges/other-code-forges.mdx diff --git a/src/content/docs/factories/code-forges/other-code-forges.mdx b/src/content/docs/factories/code-forges/other-code-forges.mdx new file mode 100644 index 000000000..e6ff257d9 --- /dev/null +++ b/src/content/docs/factories/code-forges/other-code-forges.mdx @@ -0,0 +1,84 @@ +--- +title: Connecting other code forges to your factory +description: >- + Connect a factory to a repository from another code forge using Agent Secrets + and setup commands on the default runner. +sidebar: + label: "Other code forges" +--- +import { VARS } from '@data/vars'; + +Connect a factory to a repository on Bitbucket, Azure DevOps, self-managed GitLab, or another code forge without first-class factory support. Create the factory with no connected repository, then clone the repository from its default runner. + +:::caution +This setup gives factory agents repository access. It does not add provider-specific events or automations for that code forge. +::: + +## Prerequisites + +* **Permission to configure the factory** - Create the factory, add an Agent Secret, and edit its default runner. +* **A repository access token** - Create a token that can read the repository. Use a service account where your code forge supports one, and grant only the permissions the factory needs. +* **An authenticated clone command** - Use the HTTPS clone syntax your code forge documents. The command must read the token from an environment variable instead of including its value directly. + +For provider-specific token and clone formats, see [Bitbucket repository access](/platform/integrations/bitbucket/), [Azure DevOps repository access](/platform/integrations/azure-devops/), or [self-managed GitLab repository access](/platform/integrations/gitlab/#self-managed-gitlab-instances). + +## Create the factory without a repository + +Start without a code-host connection so you can prepare the repository from the runner instead. +{/* VERIFY: Safia confirmed the No repo factory onboarding path on 2026-09-15; verify the exact option label and default-runner path in the live factory setup flow. */} + +1. In the {VARS.FACTORY_WEB_APP}, click **+** next to **Factories**. +2. Under **Connect your code host**, select **No repo**. +3. Complete the remaining setup choices to create the factory. + +The factory opens in its dashboard without a connected repository. + +## Grant the clone credential + +Store the repository token as an Agent Secret so the default runner can use it without placing the token in a command or definition file. + +1. In the {VARS.FACTORY_WEB_APP}, open **Secrets** and create an Agent Secret named `CODE_FORGE_TOKEN`. +2. Add the repository access token as the secret value. +3. Grant `CODE_FORGE_TOKEN` to the factory agents that use the default runner. +{/* VERIFY: Safia confirmed that wiring an Agent Secret makes it available to the clone setup commands on 2026-09-15; verify the secret-assignment UI and runtime injection in a factory run. */} + +The secret is available to those agents and their runner setup commands as the `CODE_FORGE_TOKEN` environment variable. + +## Clone the repository from the default runner + +Runner setup commands prepare each agent workspace before factory work starts. + +1. In the factory dashboard, open **Settings** > **Runners**. +2. Open the default runner and add an authenticated `git clone` command that reads `$CODE_FORGE_TOKEN`. +3. Add any project setup commands the repository needs, such as dependency installation, builds, or code generation. + +Use your code forge's documented clone format. For example, Bitbucket Cloud requires the `x-bitbucket-api-token-auth` username, while other hosts use a different username or authorization header. + +Setup commands run each time the runner prepares a workspace. Make the commands safe to run repeatedly. + +## Test repository access + +Start a direct factory run before you connect another work source. + +1. In the factory dashboard, open **Runs** and click **New**. +2. Send a read-only request such as: + + ```text title="Test repository access" + In the repository root, list the top-level files and report the current + branch. Do not change any files. + ``` + +3. Confirm that the run reports files from the cloned repository. + +If the run cannot clone the repository, confirm that the Agent Secret is granted to the agent, the token has repository read access, and the clone command uses the token environment variable correctly. + +## Starting work + +This code forge cannot start factory work from its own repository events. Start work from a connected service such as [Slack](/factories/integrations/slack/), [Linear](/factories/integrations/linear/), or [Jira](/factories/integrations/jira/), through a [custom webhook](/factories/webhooks/), or with a direct factory run. + +## Related pages + +* [Connect GitHub to your factory](/factories/integrations/github/) - Use GitHub's first-class code-forge connection. +* [Connect GitLab to your factory](/factories/integrations/gitlab/) - Use GitLab.com's first-class code-forge connection. +* [Connect your factory](/factories/connect-your-factory/) - Add the sources that start work after the repository is available. +* [Cloud agent secrets](/platform/secrets/) - Store and scope credentials for cloud agents. diff --git a/src/content/docs/factories/connect-your-factory.mdx b/src/content/docs/factories/connect-your-factory.mdx index 78cea5336..f6a8f7574 100644 --- a/src/content/docs/factories/connect-your-factory.mdx +++ b/src/content/docs/factories/connect-your-factory.mdx @@ -10,6 +10,7 @@ sidebar: Connect your factory to the tools where your team already discusses, tracks, and reviews work. Wherever work starts, the factory keeps the original context from that source (the thread, issue, or pull request), and posts results in the same place. Each source feeds into this factory's repositories. If the work belongs to a different product surface, [start a new factory](/factories/#sizing-a-factory) for it instead. +GitHub and GitLab.com connect both repositories and provider-specific work sources. To use another code forge for repository access, [connect another code forge to your factory](/factories/code-forges/other-code-forges/). That fallback does not receive provider-specific events or automations. ## Choose a source diff --git a/src/content/docs/factories/index.mdx b/src/content/docs/factories/index.mdx index 18241cb27..878a10256 100644 --- a/src/content/docs/factories/index.mdx +++ b/src/content/docs/factories/index.mdx @@ -50,7 +50,7 @@ Warp Factories is designed for engineering teams with repeatable work that exten * **Coordinated specialist agents** - A team of [factory agents](/factories/factory-agents/) handles each work item. A coordinating foreman routes it through the triage, spec, implement, and review agents, skipping stages that don't apply. You can add custom agents and automations to handle work the defaults don't cover. * **Definitions as code** - [Version-controlled definition files](/factories/factory-as-code/) describe your repositories, agents, automations, runners, [skills](/factories/factory-skills/), and MCP servers, so factory changes get the same review, history, and rollback as code changes. -* **Integrations and the Factory MCP** - Work flows in from [Slack](/factories/integrations/slack/), [GitHub](/factories/integrations/github/), [GitLab](/factories/integrations/gitlab/), [Linear](/factories/integrations/linear/), and [Jira](/factories/integrations/jira/), plus [custom webhooks](/factories/webhooks/), direct runs, and schedules. The [Factory MCP](/factories/factory-mcp/) connects coding agents and other MCP clients. +* **Code forges and work sources** - Connect [GitHub](/factories/integrations/github/), [GitLab](/factories/integrations/gitlab/), or [another code forge](/factories/code-forges/other-code-forges/) to the repository your factory works in. Route work from [Slack](/factories/integrations/slack/), [Linear](/factories/integrations/linear/), [Jira](/factories/integrations/jira/), [custom webhooks](/factories/webhooks/), direct runs, or schedules. The [Factory MCP](/factories/factory-mcp/) connects coding agents and other MCP clients. * **Model and harness choice** - Each agent can use a different model and [supported harness](/platform/harnesses/), including the Warp Agent, Claude Code, and Codex. * **Measurement and self-improvement** - The [factory dashboard](/factories/factory-dashboard/) shows work-item status, runs, automations, costs, and benchmarks. [Scorers](/factories/measure-and-improve/scorers/) classify completed runs, [Benchmarks](/factories/benchmarks/) compare fixed tasks across configurations, and [Self-improvement](/factories/measure-and-improve/self-improvement/) turns repeated failures into follow-up work the factory proposes for review. * **Infrastructure control** - Run on Warp-hosted infrastructure, or self-host execution on an eligible Enterprise plan. Teams can also connect supported inference providers, scope secrets, and (if eligible) store transcripts, artifacts, and run attachments in their own S3 or GCS buckets. See [infrastructure and security](/factories/infrastructure-and-security/) for the available controls. diff --git a/src/content/docs/factories/integrations/gitlab.mdx b/src/content/docs/factories/integrations/gitlab.mdx index bb97b345c..de285ec09 100644 --- a/src/content/docs/factories/integrations/gitlab.mdx +++ b/src/content/docs/factories/integrations/gitlab.mdx @@ -12,7 +12,7 @@ When you connect a factory to GitLab, project activity starts work in your facto ## Prerequisites -* **GitLab.com** - The integration supports GitLab.com only, not self-managed GitLab instances. To use a self-managed instance with standalone cloud agents instead, see the [GitLab access token setup](/platform/integrations/gitlab/). +* **GitLab.com** - The integration supports GitLab.com only, not self-managed GitLab instances. To use a self-managed instance with a factory, see [connecting other code forges](/factories/code-forges/other-code-forges/). For standalone cloud agents, see the [GitLab access token setup](/platform/integrations/gitlab/). * **A top-level GitLab group you own** - Connecting GitLab links one top-level group to your Warp workspace, one-to-one. Creating the link requires the Owner role on the group and workspace admin permissions in Warp. * **A GitLab plan with service accounts and group webhooks** - Warp provisions service accounts in your group and installs a group webhook; both are GitLab Premium and Ultimate features. On a plan without group webhooks, factory credentials still work, but GitLab cannot trigger runs. diff --git a/src/content/docs/factories/quickstart.mdx b/src/content/docs/factories/quickstart.mdx index b27d2a317..f517a2602 100644 --- a/src/content/docs/factories/quickstart.mdx +++ b/src/content/docs/factories/quickstart.mdx @@ -50,14 +50,14 @@ Warp walks you through a setup wizard:
Click + next to Factories to open the setup wizard.
-2. Click **I want to use repos from GitHub** or **I want to use repos from GitLab**, then choose the organization or group you want to connect. +2. Click **I want to use repos from GitHub** or **I want to use repos from GitLab**, then choose the organization or group you want to connect. To use a repository hosted on another code forge, select **No repo**, finish creating the factory, then [configure repository access from the default runner](/factories/code-forges/other-code-forges/).
![The Connect a GitHub organization screen, with an already-connected organization shown as an option.](../../../assets/factories/quickstart-connect-organization.png)
Choose the organization or group whose repositories the factory will use. GitLab shows an equivalent screen for groups.
-3. On **Select your repos**, search for and select the repositories the factory works in, then click **Add repos**. Start with one or two. Every agent in the factory shares this repo set, so a focused set keeps their context tight, and you can add more later. +3. On **Select your repos**, search for and select the repositories the factory works in, then click **Add repos**. Start with one or two. Every agent in the factory shares this repo set, so a focused set keeps their context tight, and you can add more later. This step applies to GitHub and GitLab connections. :::note Group repositories by product surface, not by team or task. For example, group all the repos behind one application. See [sizing a factory](/factories/#sizing-a-factory) before adding a repository another factory already covers. diff --git a/src/sidebar.ts b/src/sidebar.ts index 19e7a807f..deb01baf1 100644 --- a/src/sidebar.ts +++ b/src/sidebar.ts @@ -418,9 +418,22 @@ export const sidebarTopics: StarlightSidebarTopicsUserConfig = [ { slug: 'factories/infrastructure-and-security', label: 'Infrastructure & security' }, ], }, + { + label: 'Code forges', + items: [ + // Keep these established URLs while grouping repository connections + // separately from the services that route work into a factory. + { slug: 'factories/integrations/github', label: 'GitHub' }, + { slug: 'factories/integrations/gitlab', label: 'GitLab' }, + { slug: 'factories/code-forges/other-code-forges', label: 'Other code forges' }, + ], + }, { // 'Integrations' per HYC (8/17), replacing 'Work intake'. // + // Code forges have their own group above because repository access is + // distinct from a service that starts or routes factory work. + // // The per-service pages are listed directly rather than in a nested // Integrations subgroup, which would have rendered as // Integrations > Integrations > Slack. @@ -432,8 +445,6 @@ export const sidebarTopics: StarlightSidebarTopicsUserConfig = [ items: [ { slug: 'factories/connect-your-factory', label: 'Connect your factory' }, { slug: 'factories/integrations/slack', label: 'Slack' }, - { slug: 'factories/integrations/github', label: 'GitHub' }, - { slug: 'factories/integrations/gitlab', label: 'GitLab' }, { slug: 'factories/integrations/linear', label: 'Linear' }, { slug: 'factories/integrations/jira', label: 'Jira' }, // Custom webhooks connect any JSON-posting system, so they sit From f00052eca84f57153141005122b1b1bfbc0591a4 Mon Sep 17 00:00:00 2001 From: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com> Date: Thu, 17 Sep 2026 14:00:06 -0600 Subject: [PATCH 2/5] docs: refine code forge fallback setup Co-Authored-By: Warp --- .../code-forges/other-code-forges.mdx | 25 ++++++++----------- .../docs/factories/connect-your-factory.mdx | 1 + src/content/docs/factories/quickstart.mdx | 6 ++++- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/content/docs/factories/code-forges/other-code-forges.mdx b/src/content/docs/factories/code-forges/other-code-forges.mdx index e6ff257d9..407076148 100644 --- a/src/content/docs/factories/code-forges/other-code-forges.mdx +++ b/src/content/docs/factories/code-forges/other-code-forges.mdx @@ -8,24 +8,22 @@ sidebar: --- import { VARS } from '@data/vars'; -Connect a factory to a repository on Bitbucket, Azure DevOps, self-managed GitLab, or another code forge without first-class factory support. Create the factory with no connected repository, then clone the repository from its default runner. +Connect your factory to a repository on Bitbucket, Azure DevOps, self-managed GitLab, or another code forge without first-class factory support. You can create the factory with no connected repository, then clone the repository from its default runner. :::caution -This setup gives factory agents repository access. It does not add provider-specific events or automations for that code forge. +This setup gives factory agents repository access. It does not add provider-specific events or automations for the code forge. ::: ## Prerequisites -* **Permission to configure the factory** - Create the factory, add an Agent Secret, and edit its default runner. -* **A repository access token** - Create a token that can read the repository. Use a service account where your code forge supports one, and grant only the permissions the factory needs. -* **An authenticated clone command** - Use the HTTPS clone syntax your code forge documents. The command must read the token from an environment variable instead of including its value directly. +* **Factory access** - Permission to create the factory, add Agent Secrets, and edit its default runner. +* **Repository access** - An HTTPS clone URL and a token that can read the repository. For provider-specific token and clone formats, see [Bitbucket repository access](/platform/integrations/bitbucket/), [Azure DevOps repository access](/platform/integrations/azure-devops/), or [self-managed GitLab repository access](/platform/integrations/gitlab/#self-managed-gitlab-instances). ## Create the factory without a repository -Start without a code-host connection so you can prepare the repository from the runner instead. -{/* VERIFY: Safia confirmed the No repo factory onboarding path on 2026-09-15; verify the exact option label and default-runner path in the live factory setup flow. */} +To prepare a repository from the default runner, create the factory without a code-host connection. 1. In the {VARS.FACTORY_WEB_APP}, click **+** next to **Factories**. 2. Under **Connect your code host**, select **No repo**. @@ -37,10 +35,9 @@ The factory opens in its dashboard without a connected repository. Store the repository token as an Agent Secret so the default runner can use it without placing the token in a command or definition file. -1. In the {VARS.FACTORY_WEB_APP}, open **Secrets** and create an Agent Secret named `CODE_FORGE_TOKEN`. -2. Add the repository access token as the secret value. -3. Grant `CODE_FORGE_TOKEN` to the factory agents that use the default runner. -{/* VERIFY: Safia confirmed that wiring an Agent Secret makes it available to the clone setup commands on 2026-09-15; verify the secret-assignment UI and runtime injection in a factory run. */} +1. From the {VARS.FACTORY_WEB_APP}, click **Secrets**. +2. Create an Agent Secret named `CODE_FORGE_TOKEN`. +3. Enter the repository access token as the secret value, then grant `CODE_FORGE_TOKEN` to the factory agents that use the default runner. The secret is available to those agents and their runner setup commands as the `CODE_FORGE_TOKEN` environment variable. @@ -48,9 +45,9 @@ The secret is available to those agents and their runner setup commands as the ` Runner setup commands prepare each agent workspace before factory work starts. -1. In the factory dashboard, open **Settings** > **Runners**. -2. Open the default runner and add an authenticated `git clone` command that reads `$CODE_FORGE_TOKEN`. -3. Add any project setup commands the repository needs, such as dependency installation, builds, or code generation. +1. From the factory dashboard, click **Settings** and scroll down to the "Runners" section. +2. Next to the default runner, click the edit pencil. In the "Setup commands" section, click **+** and add an authenticated `git clone` command that reads `$CODE_FORGE_TOKEN`. +3. Add any other project setup commands the repository needs, such as dependency installation, builds, or code generation. Use your code forge's documented clone format. For example, Bitbucket Cloud requires the `x-bitbucket-api-token-auth` username, while other hosts use a different username or authorization header. diff --git a/src/content/docs/factories/connect-your-factory.mdx b/src/content/docs/factories/connect-your-factory.mdx index f6a8f7574..ec829d6d1 100644 --- a/src/content/docs/factories/connect-your-factory.mdx +++ b/src/content/docs/factories/connect-your-factory.mdx @@ -10,6 +10,7 @@ sidebar: Connect your factory to the tools where your team already discusses, tracks, and reviews work. Wherever work starts, the factory keeps the original context from that source (the thread, issue, or pull request), and posts results in the same place. Each source feeds into this factory's repositories. If the work belongs to a different product surface, [start a new factory](/factories/#sizing-a-factory) for it instead. + GitHub and GitLab.com connect both repositories and provider-specific work sources. To use another code forge for repository access, [connect another code forge to your factory](/factories/code-forges/other-code-forges/). That fallback does not receive provider-specific events or automations. ## Choose a source diff --git a/src/content/docs/factories/quickstart.mdx b/src/content/docs/factories/quickstart.mdx index f517a2602..923df95f6 100644 --- a/src/content/docs/factories/quickstart.mdx +++ b/src/content/docs/factories/quickstart.mdx @@ -50,7 +50,11 @@ Warp walks you through a setup wizard:
Click + next to Factories to open the setup wizard.
-2. Click **I want to use repos from GitHub** or **I want to use repos from GitLab**, then choose the organization or group you want to connect. To use a repository hosted on another code forge, select **No repo**, finish creating the factory, then [configure repository access from the default runner](/factories/code-forges/other-code-forges/). +2. Click **I want to use repos from GitHub** or **I want to use repos from GitLab**, then choose the organization or group you want to connect. + + :::note + To use a repository hosted on another code forge, select **No repo**, finish creating the factory, then [configure repository access from the default runner](/factories/code-forges/other-code-forges/). + :::
![The Connect a GitHub organization screen, with an already-connected organization shown as an option.](../../../assets/factories/quickstart-connect-organization.png) From 8f0bf7c47df19f97656f412f40bb3f4e0f174978 Mon Sep 17 00:00:00 2001 From: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com> Date: Thu, 17 Sep 2026 14:08:59 -0600 Subject: [PATCH 3/5] docs: condense agents and factories navigation Co-Authored-By: Warp --- src/sidebar.ts | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/src/sidebar.ts b/src/sidebar.ts index 33b98d236..4a99ea5e8 100644 --- a/src/sidebar.ts +++ b/src/sidebar.ts @@ -247,13 +247,8 @@ export const sidebarTopics: StarlightSidebarTopicsUserConfig = [ link: '/agents/', icon: 'puzzle', items: [ - { - label: 'Agents', - items: [ - { slug: 'agents', label: 'Overview' }, - 'agents/getting-started/faqs', - ], - }, + { slug: 'agents', label: 'Overview' }, + 'agents/getting-started/faqs', { label: 'Warp Agents', items: [ @@ -388,20 +383,11 @@ export const sidebarTopics: StarlightSidebarTopicsUserConfig = [ // sidebar. Two of these deliberately mirror the Automation Platform tab // next door, since the underlying concepts are the same. items: [ - { - // 'Getting started', not 'Get started': matches the Terminal, - // Enterprise, and Guides tabs. - label: 'Getting started', - items: [ - { slug: 'factories', label: 'Overview' }, - { slug: 'factories/quickstart', label: 'Quickstart' }, - // 'Warp' is redundant inside the Factories tab, and the sibling - // labels ('Factory agents', 'Factory MCP') drop it too. This also - // resolves a desync: the page's own frontmatter label already said - // 'How Factories work', which this override was silently shadowing. - { slug: 'factories/how-factories-work', label: 'How Factories work' }, - ], - }, + { slug: 'factories', label: 'Overview' }, + { slug: 'factories/quickstart', label: 'Quickstart' }, + // 'Warp' is redundant inside the Factories tab, and the sibling labels + // ('Factory agents', 'Factory MCP') drop it too. + { slug: 'factories/how-factories-work', label: 'How Factories work' }, { // Parallel to 'Agent configuration' in the Automation Platform tab. // Scoped to the factory itself: who runs the work, how it is defined, From 4b7b4a9d2181a5cb8d2073e8c3c99f94aae851fc Mon Sep 17 00:00:00 2001 From: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com> Date: Thu, 17 Sep 2026 14:22:45 -0600 Subject: [PATCH 4/5] Revert "docs: condense agents and factories navigation" This reverts commit 8f0bf7c47df19f97656f412f40bb3f4e0f174978. --- src/sidebar.ts | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/src/sidebar.ts b/src/sidebar.ts index 4a99ea5e8..33b98d236 100644 --- a/src/sidebar.ts +++ b/src/sidebar.ts @@ -247,8 +247,13 @@ export const sidebarTopics: StarlightSidebarTopicsUserConfig = [ link: '/agents/', icon: 'puzzle', items: [ - { slug: 'agents', label: 'Overview' }, - 'agents/getting-started/faqs', + { + label: 'Agents', + items: [ + { slug: 'agents', label: 'Overview' }, + 'agents/getting-started/faqs', + ], + }, { label: 'Warp Agents', items: [ @@ -383,11 +388,20 @@ export const sidebarTopics: StarlightSidebarTopicsUserConfig = [ // sidebar. Two of these deliberately mirror the Automation Platform tab // next door, since the underlying concepts are the same. items: [ - { slug: 'factories', label: 'Overview' }, - { slug: 'factories/quickstart', label: 'Quickstart' }, - // 'Warp' is redundant inside the Factories tab, and the sibling labels - // ('Factory agents', 'Factory MCP') drop it too. - { slug: 'factories/how-factories-work', label: 'How Factories work' }, + { + // 'Getting started', not 'Get started': matches the Terminal, + // Enterprise, and Guides tabs. + label: 'Getting started', + items: [ + { slug: 'factories', label: 'Overview' }, + { slug: 'factories/quickstart', label: 'Quickstart' }, + // 'Warp' is redundant inside the Factories tab, and the sibling + // labels ('Factory agents', 'Factory MCP') drop it too. This also + // resolves a desync: the page's own frontmatter label already said + // 'How Factories work', which this override was silently shadowing. + { slug: 'factories/how-factories-work', label: 'How Factories work' }, + ], + }, { // Parallel to 'Agent configuration' in the Automation Platform tab. // Scoped to the factory itself: who runs the work, how it is defined, From 35d3a4de5f28e4f217093d5f42785541c044f88f Mon Sep 17 00:00:00 2001 From: Rachael Rose Renk <91027132+rachaelrenk@users.noreply.github.com> Date: Thu, 17 Sep 2026 14:28:08 -0600 Subject: [PATCH 5/5] Update src/content/docs/factories/code-forges/other-code-forges.mdx --- src/content/docs/factories/code-forges/other-code-forges.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/factories/code-forges/other-code-forges.mdx b/src/content/docs/factories/code-forges/other-code-forges.mdx index 407076148..1f0d203b1 100644 --- a/src/content/docs/factories/code-forges/other-code-forges.mdx +++ b/src/content/docs/factories/code-forges/other-code-forges.mdx @@ -46,7 +46,7 @@ The secret is available to those agents and their runner setup commands as the ` Runner setup commands prepare each agent workspace before factory work starts. 1. From the factory dashboard, click **Settings** and scroll down to the "Runners" section. -2. Next to the default runner, click the edit pencil. In the "Setup commands" section, click **+** and add an authenticated `git clone` command that reads `$CODE_FORGE_TOKEN`. +2. Next to the default runner, click the edit button. In the "Setup commands" section, click **+** and add an authenticated `git clone` command that reads `$CODE_FORGE_TOKEN`. 3. Add any other project setup commands the repository needs, such as dependency installation, builds, or code generation. Use your code forge's documented clone format. For example, Bitbucket Cloud requires the `x-bitbucket-api-token-auth` username, while other hosts use a different username or authorization header.