Files
coder/docs/manifest.json
T
Nick Vigilante d40e24cf7d docs: nest the CLI reference by subcommand (#29956)
## Summary

Nests the CLI reference by subcommand so the Command Line sidebar
collapses from 156 flat entries to 49 top-level verbs.
Each page's URL follows the invocation, its page title is the full
command as inline code, and its sidebar label is only its own verb as
inline code.

| | Before | After |
| --- | --- | --- |
| File | `docs/reference/cli/oauth2-provider_dcr_disable.md` |
`docs/reference/cli/oauth2-provider/dcr/disable.md` |
| URL | `/reference/cli/oauth2-provider_dcr_disable` |
`/reference/cli/oauth2-provider/dcr/disable` |
| Page title (front matter) | `oauth2-provider dcr disable` | `` `coder
oauth2-provider dcr disable` `` |
| Sidebar label (manifest) | `oauth2-provider dcr disable` | ``
`disable` `` |

Resolves DOCS-140 (coder/coder half). Also fixes the Makefile part of
DOCS-1073 / DOCS-912, which this change depends on.

## Changes

- `scripts/clidocgen`: pages nest by command path. A command with
visible subcommands becomes its directory's `index.md`, so
`oauth2-provider/index.md` and `oauth2-provider/dcr/index.md` sit above
`oauth2-provider/dcr/disable.md`. Subcommand table links are relative to
the parent page.
- `scripts/clidocgen`: the manifest "Command Line" section is built from
the command tree (nested, sorted by name, hidden commands skipped)
instead of a flat list. The redundant `coder` child that pointed back at
`reference/cli/index.md` is gone.
- `Makefile`: the CLI rule now replaces `docs/reference/cli/` wholesale,
so stale pages get removed. The manifest rule now runs `clidocgen
-manifest-only` on top of the API staging manifest, so the CLI nav is
generated instead of edited by hand. As a result, the nine pages that
had no nav entry (`ai-gateway*`, `secret enable/disable`, `server
fix-oidc-links`) now have one.
- `scripts/configdocgen` and 48 prose pages: links point at the new
paths (for example `reference/cli/server.md` is now
`reference/cli/server/index.md`).

## How to review/QA this PR

- `docs/reference/cli/**/*` (approximately 190 pages): Each of these
pages are generated automatically. Some pages appear deleted, and some
pages appear new. Every deleted page corresponds to a new page somewhere
else, so no information is being deleted. The docs in this section
should adhere to the following, so a test in the build preview for each
of these items should be satisfactory:
- [ ] Each subcommand of a command gets nested as a child instead of
being displayed as a flat list.
  - [ ] Each parent command is stored in an `index.md` file.
- [ ] The title of each page inside the page should now feature the full
`coder XYZ` command.
- [ ] The title of each page inside the page should now be formatted as
inline code.
- [ ] The title of each page in the sidebar should be the most granular
subcommand of the whole command string (if the page's title is `coder
ai-gateway keys create`, the sidebar label is `create`).
- [ ] The title of each page in the sidebar should now be formatted as
inline code.
  - [ ] The page slug for each page is now the most granular subcommand.
  - [ ] All links now point to the correct page.
- `docs/manifest.json`: The changes here reflect the updated structure
of the `docs/reference/cli` section.
- `docs/**/*.md` outside of `docs/reference/cli/**/*` (approximately 50
pages): The extent of the changes in these pages are just updating the
paths to point to the new page locations.
- [ ] The links on the page all point to the correct new path in
`docs/reference/cli`.
- `scripts/clidocgen` (4 files): This is the Go code responsible for
generating everything inside of `docs/reference/cli/**/*`. A typical
code review here should be satisfactory.
- `scripts/configdocgen` (2 files): these two files just have updates to
the raw `.md` path used by `docs/admin/setup/configuration-reference.md`
and updates the tests to reflect that.
- `Makefile`: This updates the `make` targets for generating the CLI
docs to fit the new structure.

## Merge ordering

Without the renderer PRs deployed, both docs sites show literal
backticks in titles and sidebar labels. Without the redirects, the old
flat URLs return 404.

1. Deploy before merging this PR: coder/docs-engine#176 (beta-docs
renders these titles as inline code) and coder/coder.com#1111 (classic
docs renders them as inline code). Both are safe to ship first, because
titles without backticks render as before.
2. Merge this PR.
3. Merge coder/coder.com#1112 (redirects from the old flat URLs) only
once this content reaches the mainline release branch that serves
unversioned `/docs`.

## Testing

- `go test ./scripts/clidocgen/ ./scripts/configdocgen/
./scripts/docshtmlcheck/`: pass. New tests cover page paths, subcommand
links, the nested manifest, and front matter quoting.
- `make docs/reference/cli/index.md docs/manifest.json
docs/admin/setup/configuration-reference.md`, then a forced rerun: the
second run produced no diff.
- Checked the manifest: all 164 CLI entries resolve to a file, no page
is missing a nav entry, and everything outside "Command Line" is
byte-identical.
- Relative `.md` links across `docs/`: 0 broken, same as `main`.
- `make pre-commit` and `make pre-push`: pass. On earlier pre-push
attempts, different unrelated vitest files timed out under host load.
Those files pass when run alone, and the final push passed with
`PARALLEL_JOBS=1`.

<details>
<summary>Implementation plan and decision log</summary>

**Goal (from DOCS-140 and the requester):** URLs follow the command
hierarchy. Pages are titled with the full command, and sidebar entries
with the last verb only. Both are formatted as inline code.

**Contract with the renderers:** a title wrapped entirely in one pair of
backticks (``^`[^`]+`$``) renders as inline code. Plain-text consumers
(`<title>`, meta, search, llms corpus) strip the backticks. Page title
comes from front matter `title`, and the sidebar label from the manifest
node `title`.

**Decisions**

- A parent command is `dir/index.md` rather than a sibling `dir.md`. The
root CLI page is already `index.md`, and both docs-engine and the legacy
coder.com renderer map `x/index.md` to `/x`.
- The manifest is built from the command tree, not from the written
files, so ordering is deterministic and the nesting matches the pages
exactly.
- The manifest discard bug (DOCS-1073 item 1) is fixed here, because
without that fix the generated nested manifest would never reach the
tree. DOCS-1073 items 2 through 4 (a prose fix and a hidden-command
policy) are out of scope.
- `-manifest-only` keeps the existing parallel `make gen` layout: the
API rule still owns `_gen/manifest-staging.json`, and CLI regeneration
doesn't retrigger swag.
- The renderer and redirect work lives in the companion PRs in
coder/docs-engine and coder/coder.com. It is linked above and not
duplicated here.

</details>

---

> [!NOTE]
> Generated by Coder Agents on behalf of @nickvigilante.
2026-09-28 15:44:10 -04:00

2608 lines
98 KiB
JSON

{
"versions": ["main"],
"routes": [
{
"title": "About",
"description": "Coder is a self-hosted platform for running AI coding agents and cloud development environments on the infrastructure you control.",
"path": "./README.md",
"icon_path": "./images/icons/home.svg",
"children": [
{
"title": "Screenshots",
"description": "See screenshots of the Coder platform, including browser-based workspace access and the admin dashboard.",
"path": "./about/screenshots.md"
},
{
"title": "Support",
"description": "Get help with your Coder deployment through GitHub issues, our Discord community, and premium support.",
"path": "./support/index.md",
"children": [
{
"title": "Generate a Support Bundle",
"description": "Generate a support bundle and share workspace and deployment diagnostics with Coder support to troubleshoot issues.",
"path": "./support/support-bundle.md"
}
]
}
]
},
{
"title": "Get started",
"description": "Install Coder, build your first template, and launch your first workspace in this quickstart guide.",
"path": "./get-started/index.md",
"icon_path": "./images/icons/rocket.svg",
"children": [
{
"title": "Customize your template",
"description": "Add a language, install command-line tools, and authenticate to GitHub",
"path": "./get-started/customize-your-template/index.md",
"children": [
{
"title": "Add a programming language",
"description": "Expose a new programming language through a template parameter and install it at workspace startup.",
"path": "./get-started/customize-your-template/add-a-language.md"
},
{
"title": "Install your own command-line tools",
"description": "Install your own command-line tools in a workspace and make them persist across rebuilds.",
"path": "./get-started/customize-your-template/install-command-line-tools.md"
},
{
"title": "Clone private repositories",
"description": "Clone private GitHub repositories in your workspace using a Coder external-auth data source.",
"path": "./get-started/customize-your-template/authenticate-to-github.md"
}
]
}
]
},
{
"title": "Install",
"description": "Plan, prepare, install, validate, and operate a Coder deployment in your own infrastructure.",
"path": "./install/index.md",
"icon_path": "./images/icons/download.svg",
"children": [
{
"title": "Coder CLI",
"description": "Install the standalone Coder CLI binary on Linux, macOS, or Windows to run the control plane and client.",
"path": "./install/cli.md",
"icon_path": "./images/icons/terminal.svg"
},
{
"title": "1. Plan your deployment",
"description": "Learn the architecture, size the deployment, and record the decisions that shape it.",
"path": "./install/plan/index.md",
"icon_path": "./images/icons/notes.svg",
"children": [
{
"title": "Architecture",
"description": "Learn about Coder's architecture and the components that make up a deployment.",
"path": "./install/plan/architecture.md"
},
{
"title": "Coder Validated Architecture",
"description": "Reference designs and best practices for sizing a Coder deployment, from 1,000 to 10,000 users.",
"path": "./install/plan/sizing/index.md",
"children": [
{
"title": "Up to 1,000 Users",
"description": "Hardware specifications and architecture guidance for Coder deployments that support up to 1,000 users",
"path": "./install/plan/sizing/1k-users.md"
},
{
"title": "Up to 2,000 Users",
"description": "Hardware specifications and architecture guidance for Coder deployments that support up to 2,000 users",
"path": "./install/plan/sizing/2k-users.md"
},
{
"title": "Up to 3,000 Users",
"description": "Enterprise-scale architecture recommendations for Coder deployments that support up to 3,000 users",
"path": "./install/plan/sizing/3k-users.md"
},
{
"title": "Up to 10,000 Users",
"description": "Enterprise-scale architecture recommendations for Coder deployments that support up to 10,000 users",
"path": "./install/plan/sizing/10k-users.md"
}
]
}
]
},
{
"title": "2. Prepare prerequisites",
"description": "Gather the DNS records, certificates, database, license, and identity provider application a deployment needs.",
"path": "./install/prepare/index.md",
"icon_path": "./images/icons/dependency.svg",
"children": [
{
"title": "Licensing",
"description": "Add and manage Coder licenses to unlock Premium and AI Governance features.",
"path": "./install/prepare/licensing.md",
"icon_path": "./images/icons/licensing.svg"
},
{
"title": "Air-gapped Deployments",
"description": "Run Coder in air-gapped, disconnected, or offline environments where all features remain supported.",
"path": "./install/prepare/airgap.md",
"icon_path": "./images/icons/lan.svg"
},
{
"title": "Mirror Coder Registry with Artifactory",
"description": "Use JFrog Artifactory to mirror the Coder Registry for air-gapped deployments",
"path": "./install/prepare/registry-mirror.md"
}
]
},
{
"title": "3. Install the control plane",
"description": "Choose a platform and install the Coder control plane on it.",
"path": "./install/server/index.md",
"icon_path": "./images/icons/download.svg",
"children": [
{
"title": "Docker",
"description": "Install and run Coder using the official Docker images for a quick single-machine deployment.",
"path": "./install/server/docker.md",
"icon_path": "./images/icons/docker.svg"
},
{
"title": "Kubernetes",
"description": "Install Coder on a Kubernetes cluster using the official Helm chart for production deployments.",
"path": "./install/server/kubernetes/index.md",
"icon_path": "./images/icons/kubernetes.svg",
"children": [
{
"title": "Deploy Coder on Azure with an Application Gateway",
"description": "Deploy Coder on Azure Kubernetes Service behind an Azure Application Gateway ingress controller.",
"path": "./install/server/kubernetes/kubernetes-azure-app-gateway.md"
}
]
},
{
"title": "Rancher",
"description": "Deploy Coder on Rancher as a Kubernetes workload using the Rancher UI and Helm.",
"path": "./install/server/rancher.md",
"icon_path": "./images/icons/rancher.svg"
},
{
"title": "OpenShift",
"description": "Install Coder on a Red Hat OpenShift cluster using Helm, with the required security context settings.",
"path": "./install/server/openshift.md",
"icon_path": "./images/icons/openshift.svg"
},
{
"title": "RPM (RHEL family)",
"description": "Install the Coder control plane from an RPM package on Red Hat Enterprise Linux and other RHEL-family distributions.",
"path": "./install/server/rpm.md",
"icon_path": "./images/icons/system.svg"
},
{
"title": "Cloud Providers",
"description": "Install guides and example templates for deploying Coder on AWS, Google Cloud, and Azure.",
"path": "./install/server/cloud/index.md",
"icon_path": "./images/icons/cloud.svg",
"children": [
{
"title": "AWS Marketplace",
"description": "Deploy a Coder proof-of-concept on AWS using the listing available in the AWS Marketplace.",
"path": "./install/server/cloud/aws-marketplace.md"
},
{
"title": "GCP Compute Engine",
"description": "Deploy the Coder control plane on a Google Cloud Compute Engine virtual machine.",
"path": "./install/server/cloud/compute-engine.md"
},
{
"title": "Azure VM",
"description": "Set up the Coder control plane on a Microsoft Azure virtual machine, step by step.",
"path": "./install/server/cloud/azure-vm.md"
}
]
},
{
"title": "Community install methods",
"description": "Community-contributed methods for installing Coder on platforms Coder doesn't package itself.",
"path": "./install/server/community.md",
"icon_path": "./images/icons/generic.svg"
}
]
},
{
"title": "4. Validate your deployment",
"description": "Harden the deployment, then prove it works and holds up under load.",
"path": "./install/validate/index.md",
"icon_path": "./images/icons/health.svg",
"children": [
{
"title": "Scale Testing",
"description": "Plan and run scale tests to make sure your Coder deployment can handle your organization's load.",
"path": "./install/validate/scale-testing.md",
"children": [
{
"title": "Scaling Utilities",
"description": "Use Coder's built-in scale-testing utility to benchmark and load-test your deployment.",
"path": "./install/validate/scale-testing/utility.md"
},
{
"title": "Scaling best practices",
"description": "Best practices for preparing and tuning a Coder deployment so it scales to many users.",
"path": "./tutorials/best-practices/scale-coder.md"
}
]
}
]
},
{
"title": "5. Operate and maintain",
"description": "Run the deployment day to day, add external provisioners, upgrade it, and remove it when needed.",
"path": "./install/operate/index.md",
"icon_path": "./images/icons/wrench.svg",
"children": [
{
"title": "External Provisioners",
"description": "Run external provisioner daemons to isolate builds and scale workspace provisioning.",
"path": "./install/operate/provisioners/index.md",
"icon_path": "./images/icons/key.svg",
"state": ["premium"],
"children": [
{
"title": "Manage Provisioner Jobs",
"description": "Monitor and manage provisioner jobs for workspace builds, including canceling stuck jobs.",
"path": "./install/operate/provisioners/manage-provisioner-jobs.md",
"state": ["premium"]
}
]
},
{
"title": "Upgrade",
"description": "Learn how to upgrade your Coder deployment to a newer version, with steps for each install method.",
"path": "./install/operate/upgrade.md",
"icon_path": "./images/icons/upgrade.svg",
"children": [
{
"title": "Upgrade best practices",
"description": "Follow best practices and troubleshooting tips to plan and carry out Coder upgrades.",
"path": "./install/operate/upgrade/best-practices.md"
},
{
"title": "Upgrade from ESR 2.24 to 2.29",
"description": "A step-by-step guide to upgrade a Coder deployment from Extended Support Release 2.24 to 2.29.",
"path": "./install/operate/upgrade/esr-2.24-2.29-upgrade.md"
},
{
"title": "Upgrade from ESR 2.29 to 2.34",
"description": "A step-by-step guide to upgrade a Coder deployment from Extended Support Release 2.29 to 2.34.",
"path": "./install/operate/upgrade/esr-2.29-2.34-upgrade.md"
}
]
},
{
"title": "Uninstall",
"description": "Learn how to uninstall your Coder deployment and remove its associated resources.",
"path": "./install/operate/uninstall.md",
"icon_path": "./images/icons/trash.svg"
}
]
}
]
},
{
"title": "User Guides",
"description": "Guides for Coder end users on accessing, managing, and personalizing their workspaces.",
"path": "./user-guides/index.md",
"icon_path": "./images/icons/users.svg",
"children": [
{
"title": "Access Workspaces",
"description": "Connect to your Coder workspace using SSH, your IDE, a web terminal, remote desktop, and more.",
"path": "./user-guides/workspace-access/index.md",
"icon_path": "./images/icons/access.svg",
"children": [
{
"title": "Visual Studio Code",
"description": "Develop in your Coder workspace remotely with VS Code, using the desktop app or the browser.",
"path": "./user-guides/workspace-access/vscode.md"
},
{
"title": "Web Terminal",
"description": "Use the browser-based web terminal to run commands in your workspace without any local setup.",
"path": "./user-guides/workspace-access/web-terminal.md"
},
{
"title": "JetBrains IDEs",
"description": "Connect JetBrains IDEs to Coder workspaces using JetBrains Toolbox or Gateway.",
"path": "./user-guides/workspace-access/jetbrains/index.md",
"children": [
{
"title": "JetBrains Gateway",
"description": "Use JetBrains Gateway to open and work in your Coder workspace from a full JetBrains IDE.",
"path": "./user-guides/workspace-access/jetbrains/gateway.md"
},
{
"title": "JetBrains Toolbox",
"description": "Connect to and manage your Coder workspaces from the JetBrains Toolbox app.",
"path": "./user-guides/workspace-access/jetbrains/toolbox.md",
"state": ["beta"]
}
]
},
{
"title": "Remote Desktop",
"description": "Connect to a GUI-based desktop in your Coder workspace using RDP, including Windows workspaces.",
"path": "./user-guides/workspace-access/remote-desktops.md"
},
{
"title": "Emacs TRAMP",
"description": "Use Emacs TRAMP to edit files and run commands in your Coder workspace over SSH.",
"path": "./user-guides/workspace-access/emacs-tramp.md"
},
{
"title": "Port Forwarding",
"description": "Securely access ports and processes running inside your Coder workspace from your local machine.",
"path": "./user-guides/workspace-access/port-forwarding.md"
},
{
"title": "Filebrowser",
"description": "Upload, download, and manage files in your Coder workspace from the browser with File Browser.",
"path": "./user-guides/workspace-access/filebrowser.md"
},
{
"title": "Web IDEs and Coder Apps",
"description": "Access your Coder workspace through web-based IDEs that run in the browser, with no local install.",
"path": "./user-guides/workspace-access/web-ides.md"
},
{
"title": "code-server",
"description": "Access your Coder workspace in the browser with code-server, the VS Code experience over the web.",
"path": "./user-guides/workspace-access/code-server.md"
},
{
"title": "Zed",
"description": "Access your Coder workspace with the Zed collaborative code editor over SSH.",
"path": "./user-guides/workspace-access/zed.md"
},
{
"title": "Cursor",
"description": "Access your Coder workspace with Cursor, the AI-powered code editor, over SSH.",
"path": "./user-guides/workspace-access/cursor.md"
},
{
"title": "Devin Desktop",
"description": "Access your Coder workspace with Devin Desktop (formerly Windsurf), the AI-powered code editor, over SSH.",
"path": "./user-guides/workspace-access/devin-desktop.md"
},
{
"title": "Antigravity",
"description": "Access your Coder workspace with the Antigravity agentic code editor over SSH.",
"path": "./user-guides/workspace-access/antigravity.md"
}
]
},
{
"title": "Coder Desktop",
"description": "Transform remote workspaces into seamless local development environments with no port forwarding required",
"path": "./user-guides/desktop/index.md",
"icon_path": "./images/icons/computer-code.svg",
"children": [
{
"title": "Coder Desktop Connect and Sync",
"description": "Use Coder Desktop to connect to workspaces and sync their code and files to your local machine.",
"path": "./user-guides/desktop/desktop-connect-sync.md"
}
]
},
{
"title": "Workspace Management",
"description": "Create, start, stop, update, and delete your Coder workspaces from the dashboard or CLI.",
"path": "./user-guides/workspace-management.md",
"icon_path": "./images/icons/generic.svg"
},
{
"title": "Workspace Sharing",
"description": "Let multiple users securely connect to a single Coder workspace to program and debug together.",
"path": "./user-guides/shared-workspaces.md",
"icon_path": "./images/icons/generic.svg"
},
{
"title": "Workspace Scheduling",
"description": "Control cloud costs by scheduling when your Coder workspaces automatically start and stop.",
"path": "./user-guides/workspace-scheduling.md",
"icon_path": "./images/icons/stopwatch.svg"
},
{
"title": "Workspace Lifecycle",
"description": "A guide to the workspace lifecycle, from creation and status through stopping and deletion.",
"path": "./user-guides/workspace-lifecycle.md",
"icon_path": "./images/icons/circle-dot.svg"
},
{
"title": "Dev Containers",
"description": "Run containerized development environments in your Coder workspace using the dev containers specification.",
"path": "./user-guides/devcontainers/index.md",
"icon_path": "./images/icons/container.svg",
"children": [
{
"title": "Working with dev containers",
"description": "Access and work inside dev containers in your Coder workspace over SSH, your IDE, or the web terminal.",
"path": "./user-guides/devcontainers/working-with-dev-containers.md"
},
{
"title": "Customizing dev containers",
"description": "Configure custom agent names, apps, and display options in devcontainer.json.",
"path": "./user-guides/devcontainers/customizing-dev-containers.md"
},
{
"title": "Troubleshooting dev containers",
"description": "Diagnose and resolve common issues with dev containers in your Coder workspace.",
"path": "./user-guides/devcontainers/troubleshooting-dev-containers.md"
}
]
},
{
"title": "Dotfiles",
"description": "Personalize your Coder workspaces by applying your dotfiles repository with the coder dotfiles command.",
"path": "./user-guides/workspace-dotfiles.md",
"icon_path": "./images/icons/art-pad.svg"
},
{
"title": "User secrets",
"description": "Store secret values in Coder and automatically inject them into workspaces",
"path": "./user-guides/user-secrets.md",
"icon_path": "./images/icons/secrets.svg"
}
]
},
{
"title": "Administration",
"description": "Guides for the template and deployment administrators who configure, secure, and operate Coder.",
"path": "./admin/index.md",
"icon_path": "./images/icons/wrench.svg",
"children": [
{
"title": "Setup",
"description": "Configure your Coder control plane with server settings and environment variables.",
"path": "./admin/setup/index.md",
"icon_path": "./images/icons/toggle_on.svg",
"children": [
{
"title": "Appearance",
"description": "Customize your Coder deployment's appearance, including the logo, service banner, and application name.",
"path": "./admin/setup/appearance.md",
"state": ["premium"]
},
{
"title": "Configuration Reference",
"description": "Searchable list of every Coder server setting with its environment variable, CLI flag, and YAML key",
"path": "./admin/setup/configuration-reference.md"
},
{
"title": "Telemetry",
"description": "Learn what usage telemetry Coder collects, why it is collected, and how to opt out.",
"path": "./admin/setup/telemetry.md"
},
{
"title": "Chat lifecycle hooks",
"description": "Configure an external policy service for chat agent lifecycle events",
"path": "./admin/setup/chat-lifecycle-hooks.md",
"state": ["early access"]
},
{
"title": "Data Retention",
"description": "Configure retention policies that automatically purge old records from Coder database tables.",
"path": "./admin/setup/data-retention.md"
}
]
},
{
"title": "Users",
"description": "Learn how to create, manage, and audit users and their access in your Coder deployment.",
"path": "./admin/users/index.md",
"icon_path": "./images/icons/users.svg",
"children": [
{
"title": "OIDC Authentication",
"description": "Configure OpenID Connect authentication with identity providers like Okta or Active Directory",
"path": "./admin/users/oidc-auth/index.md",
"children": [
{
"title": "Google",
"description": "Configure Coder to authenticate users with Google using OpenID Connect (OIDC).",
"path": "./admin/users/oidc-auth/google.md"
},
{
"title": "Microsoft",
"description": "Configure Coder to authenticate users with Microsoft Entra ID using OpenID Connect (OIDC).",
"path": "./admin/users/oidc-auth/microsoft.md"
},
{
"title": "Configure OIDC refresh tokens",
"description": "Configure OIDC refresh tokens so Coder can keep user sessions active beyond token expiration.",
"path": "./admin/users/oidc-auth/refresh-tokens.md"
}
]
},
{
"title": "GitHub Authentication",
"description": "Set up authentication through GitHub OAuth to enable secure user login and sign-up",
"path": "./admin/users/github-auth.md"
},
{
"title": "Password Authentication",
"description": "Manage username/password authentication settings and user password reset workflows",
"path": "./admin/users/password-auth.md"
},
{
"title": "Headless Authentication",
"description": "Create and manage headless service accounts for automated systems and API integrations",
"path": "./admin/users/headless-auth.md",
"state": ["premium"]
},
{
"title": "Groups \u0026 Roles",
"description": "Manage access control with user groups and role-based permissions for Coder resources",
"path": "./admin/users/groups-roles.md",
"state": ["premium"]
},
{
"title": "IdP Sync",
"description": "Synchronize user groups, roles, and organizations from your identity provider to Coder",
"path": "./admin/users/idp-sync.md",
"state": ["premium"]
},
{
"title": "Organizations",
"description": "Segment and isolate resources by creating separate organizations for different teams or projects",
"path": "./admin/users/organizations.md",
"state": ["premium"]
},
{
"title": "Quotas",
"description": "Control resource usage by implementing workspace budgets and credit-based cost management",
"path": "./admin/users/quotas.md",
"state": ["premium"]
},
{
"title": "Sessions \u0026 API Tokens",
"description": "Manage authentication tokens for API access and configure session duration policies",
"path": "./admin/users/sessions-tokens.md"
}
]
},
{
"title": "Templates",
"description": "Learn how to author, publish, and maintain the Coder templates that define your workspaces.",
"path": "./admin/templates/index.md",
"icon_path": "./images/icons/picture.svg",
"children": [
{
"title": "Creating Templates",
"description": "Create a Coder template with Terraform to define the infrastructure for your workspaces.",
"path": "./admin/templates/creating-templates.md"
},
{
"title": "Managing Templates",
"description": "Learn how to edit, version, and manage Coder templates, along with recommended best practices.",
"path": "./admin/templates/managing-templates/index.md",
"children": [
{
"title": "Image Management",
"description": "Learn how to build and manage the container images that back your Coder templates.",
"path": "./admin/templates/managing-templates/image-management.md"
},
{
"title": "Change Management",
"description": "Manage Coder template changes with source control, versioning, and CI/CD publishing.",
"path": "./admin/templates/managing-templates/change-management.md"
},
{
"title": "Envbuilder",
"description": "Use Envbuilder to shift workspace environment definitions from templates into your Git repositories.",
"path": "./admin/templates/managing-templates/envbuilder.md"
},
{
"title": "Template Dependencies",
"description": "Manage provider and module dependencies in your Coder templates to keep builds reproducible.",
"path": "./admin/templates/managing-templates/dependencies.md"
},
{
"title": "Workspace Scheduling",
"description": "Configure template settings that control how workspaces autostart, autostop, and stay available.",
"path": "./admin/templates/managing-templates/schedule.md"
},
{
"title": "External Workspaces",
"description": "Connect externally managed servers and machines to Coder as external workspaces.",
"path": "./admin/templates/managing-templates/external-workspaces.md",
"state": ["premium", "early access"]
}
]
},
{
"title": "Extending Templates",
"description": "Extend your Coder templates with parameters, metadata, web IDEs, Docker, and more.",
"path": "./admin/templates/extending-templates/index.md",
"children": [
{
"title": "Agent Metadata",
"description": "Display real-time metrics from the workspace agent, such as CPU, memory, and disk usage.",
"path": "./admin/templates/extending-templates/agent-metadata.md"
},
{
"title": "Build Parameters",
"description": "Use build parameters to prompt users and customize each workspace when it is created.",
"path": "./admin/templates/extending-templates/parameters.md"
},
{
"title": "Dynamic Parameters",
"description": "Build conditional, identity-aware template forms with Coder's dynamic parameters.",
"path": "./admin/templates/extending-templates/dynamic-parameters.md"
},
{
"title": "Prebuilt workspaces",
"description": "Pre-provision a ready-to-deploy workspace with a defined set of parameters",
"path": "./admin/templates/extending-templates/prebuilt-workspaces.md",
"state": ["premium"]
},
{
"title": "Icons",
"description": "Customize your Coder templates and resources with built-in or custom icons.",
"path": "./admin/templates/extending-templates/icons.md"
},
{
"title": "Resource Metadata",
"description": "Expose key workspace resource information to your users in the Coder dashboard with metadata.",
"path": "./admin/templates/extending-templates/resource-metadata.md"
},
{
"title": "Resource Monitoring",
"description": "Monitor workspace resource usage and alert on thresholds from the Coder dashboard.",
"path": "./admin/templates/extending-templates/resource-monitoring.md"
},
{
"title": "Resource Ordering",
"description": "Control the order that resources and parameters appear in the workspace creation UI.",
"path": "./admin/templates/extending-templates/resource-ordering.md"
},
{
"title": "Resource Persistence",
"description": "Control which workspace resources persist across restarts and which are recreated on each build.",
"path": "./admin/templates/extending-templates/resource-persistence.md"
},
{
"title": "Environment Variables",
"description": "Inject environment variables into Coder workspaces using the coder_env Terraform resource.",
"path": "./admin/templates/extending-templates/environment-variables.md"
},
{
"title": "Terraform Variables",
"description": "Use Terraform template-wide variables to parameterize and manage your Coder templates.",
"path": "./admin/templates/extending-templates/variables.md"
},
{
"title": "Terraform Modules",
"description": "Reuse Terraform code across your Coder templates with shared, versioned modules.",
"path": "./admin/templates/extending-templates/modules.md"
},
{
"title": "Web IDEs and Coder Apps",
"description": "Add and configure web IDEs in your Coder templates as coder_app resources.",
"path": "./admin/templates/extending-templates/web-ides.md"
},
{
"title": "Pre-install JetBrains IDEs",
"description": "Pre-install JetBrains IDE backends in your template for faster first-time connections.",
"path": "./admin/templates/extending-templates/jetbrains-preinstall.md"
},
{
"title": "JetBrains IDEs in Air-Gapped Deployments",
"description": "Configure JetBrains IDEs to work in air-gapped Coder deployments without internet access.",
"path": "./admin/templates/extending-templates/jetbrains-airgapped.md"
},
{
"title": "Docker in Workspaces",
"description": "Run Docker inside container-based Coder workspaces using several supported approaches.",
"path": "./admin/templates/extending-templates/docker-in-workspaces.md"
},
{
"title": "Workspace Tags",
"description": "Route workspace builds to specific provisioners using workspace tags and parameters.",
"path": "./admin/templates/extending-templates/workspace-tags.md"
},
{
"title": "Provider Authentication",
"description": "Authenticate the Coder control plane to cloud provider APIs so it can provision workspaces.",
"path": "./admin/templates/extending-templates/provider-authentication.md"
},
{
"title": "Dev Containers",
"description": "Extend your Coder templates with containerized dev container development environments.",
"path": "./admin/templates/extending-templates/devcontainers.md"
},
{
"title": "Improve agent resiliency",
"description": "Improve workspace agent resiliency by tuning child process CPU and out-of-memory priority.",
"path": "./admin/templates/extending-templates/process-priority.md"
},
{
"title": "Process Logging",
"description": "Log all system-level process activity inside workspaces for security and auditing.",
"path": "./admin/templates/extending-templates/process-logging.md",
"state": ["premium"]
},
{
"title": "Startup Dependencies",
"description": "Coordinate workspace startup scripts with dependency management so they run in the right order.",
"path": "./admin/templates/startup-coordination/index.md",
"state": ["early access"],
"children": [
{
"title": "Usage",
"description": "Declare units and dependencies with coder exp sync to coordinate your workspace startup scripts.",
"path": "./admin/templates/startup-coordination/usage.md"
},
{
"title": "Troubleshooting",
"description": "Diagnose and resolve common problems with workspace startup coordination and coder exp sync.",
"path": "./admin/templates/startup-coordination/troubleshooting.md"
},
{
"title": "Examples",
"description": "A complete, production-ready example of coordinating workspace startup scripts with sync units.",
"path": "./admin/templates/startup-coordination/example.md"
}
]
}
]
},
{
"title": "Open in Coder",
"description": "Add an Open in Coder button to your repositories and wikis so users can create workspaces fast.",
"path": "./admin/templates/open-in-coder.md"
},
{
"title": "Permissions \u0026 Policies",
"description": "Control which users and groups can use, edit, and administer each Coder template.",
"path": "./admin/templates/template-permissions.md",
"state": ["premium"]
},
{
"title": "Troubleshooting Templates",
"description": "Troubleshoot common Coder template problems, from failed builds to misconfigured workspaces.",
"path": "./admin/templates/troubleshooting.md"
}
]
},
{
"title": "External Authentication",
"description": "Configure external authentication so workspaces can access Git providers and other OAuth services.",
"path": "./admin/external-auth/index.md",
"icon_path": "./images/icons/plug.svg"
},
{
"title": "Integrations",
"description": "Extend Coder with integrations for observability, secrets, source control, and other platforms.",
"path": "./admin/integrations/index.md",
"icon_path": "./images/icons/puzzle.svg",
"children": [
{
"title": "Prometheus",
"description": "Collect and export Coder deployment metrics to a Prometheus server for monitoring.",
"path": "./admin/integrations/prometheus.md"
},
{
"title": "Kubernetes Logging",
"description": "Stream Kubernetes event logs into workspace startup logs to debug pod scheduling issues.",
"path": "./admin/integrations/kubernetes-logs.md"
},
{
"title": "Additional Kubernetes Clusters",
"description": "Deploy Coder workspaces across additional Kubernetes clusters beyond the control plane cluster.",
"path": "./admin/integrations/multiple-kube-clusters.md"
},
{
"title": "JFrog Artifactory",
"description": "Integrate Coder with JFrog Artifactory to secure workspaces and manage packages and tokens.",
"path": "./admin/integrations/jfrog-artifactory.md"
},
{
"title": "Island Secure Browser",
"description": "Integrate Coder with the Island Enterprise Browser for secure, policy-controlled workspace access.",
"path": "./admin/integrations/island.md"
},
{
"title": "DX PlatformX",
"description": "Forward Coder notifications to DX PlatformX to measure and improve developer experience.",
"path": "./admin/integrations/platformx.md"
},
{
"title": "DX Data Cloud",
"description": "Tag and sync Coder users with DX Data Cloud to measure developer productivity.",
"path": "./admin/integrations/dx-data-cloud.md"
},
{
"title": "HashiCorp Vault",
"description": "Integrate Coder with HashiCorp Vault to inject secrets securely into your workspaces.",
"path": "./admin/integrations/vault.md"
},
{
"title": "OAuth2 Provider",
"description": "Use Coder as an OAuth2 authorization server so third-party apps can authenticate users.",
"path": "./admin/integrations/oauth2-provider/index.md",
"children": [
{
"title": "Integration patterns",
"description": "Client authentication methods, the standard flow, the required PKCE flow, and discovery endpoints.",
"path": "./admin/integrations/oauth2-provider/integration-patterns.md"
},
{
"title": "Scopes",
"description": "How access tokens are bounded by scope, and how to set an application's scope allowlist.",
"path": "./admin/integrations/oauth2-provider/scopes.md"
},
{
"title": "Token management",
"description": "Refresh an access token, revoke a token, and delete an OAuth2 application.",
"path": "./admin/integrations/oauth2-provider/token-management.md"
},
{
"title": "Callback URL schemes",
"description": "Which redirect URI schemes and hosts Coder accepts.",
"path": "./admin/integrations/oauth2-provider/callback-url-schemes.md"
},
{
"title": "Troubleshooting",
"description": "Diagnose and fix OAuth2 provider errors by their exact error code or message.",
"path": "./admin/integrations/oauth2-provider/troubleshooting.md"
},
{
"title": "Security and limitations",
"description": "Security considerations and current limitations of the OAuth2 provider.",
"path": "./admin/integrations/oauth2-provider/security.md"
}
]
},
{
"title": "Dev Containers",
"description": "Configure dev container support in your templates using either Docker or Envbuilder.",
"path": "./admin/integrations/devcontainers/index.md",
"children": [
{
"title": "Dev Containers Integration",
"description": "Configure a Coder template for native dev containers backed by Docker.",
"path": "./admin/integrations/devcontainers/integration.md"
},
{
"title": "Envbuilder",
"description": "Use Envbuilder to build dev containers from a repository without requiring Docker.",
"path": "./admin/integrations/devcontainers/envbuilder/index.md",
"children": [
{
"title": "Add an Envbuilder template",
"description": "Add an Envbuilder-compatible template so users can build dev containers from a repository.",
"path": "./admin/integrations/devcontainers/envbuilder/add-envbuilder.md"
},
{
"title": "Security and caching",
"description": "Configure Envbuilder registry authentication and layer caching for faster, secure builds.",
"path": "./admin/integrations/devcontainers/envbuilder/envbuilder-security-caching.md"
},
{
"title": "Releases and known issues",
"description": "Learn about Envbuilder's release channels and current known issues before you deploy it.",
"path": "./admin/integrations/devcontainers/envbuilder/envbuilder-releases-known-issues.md"
}
]
}
]
}
]
},
{
"title": "Networking",
"description": "Understand Coder's networking model, including how workspaces, servers, and clients connect.",
"path": "./admin/networking/index.md",
"icon_path": "./images/icons/networking.svg",
"children": [
{
"title": "Port Forwarding",
"description": "Learn how port forwarding works in Coder and how to expose workspace ports to users.",
"path": "./admin/networking/port-forwarding.md"
},
{
"title": "STUN and NAT",
"description": "Learn how Coder uses STUN and NAT traversal to establish direct peer-to-peer workspace connections.",
"path": "./admin/networking/stun.md"
},
{
"title": "Workspace Proxies",
"description": "Run geo-distributed workspace proxies to give distributed teams low-latency workspace access.",
"path": "./admin/networking/workspace-proxies.md",
"state": ["premium"]
},
{
"title": "High Availability",
"description": "Configure Coder in high availability (HA) mode for horizontal scalability and failover.",
"path": "./admin/networking/high-availability.md",
"state": ["premium"]
},
{
"title": "Wildcard Access URL",
"description": "Configure a wildcard access URL to enable port forwarding, web IDEs, and app previews.",
"path": "./admin/networking/wildcard-access-url.md"
},
{
"title": "Troubleshooting",
"description": "Diagnose and resolve Coder networking issues using coder ping and other built-in tools.",
"path": "./admin/networking/troubleshooting.md"
}
]
},
{
"title": "Monitoring",
"description": "Monitor your Coder deployment with logs, metrics, health checks, and alerting best practices.",
"path": "./admin/monitoring/index.md",
"icon_path": "./images/icons/speed.svg",
"children": [
{
"title": "Logs",
"description": "Learn how Coder services write logs to standard output and how to collect them.",
"path": "./admin/monitoring/logs.md"
},
{
"title": "Metrics",
"description": "Learn about the deployment metrics Coder exposes and how to use them to monitor health.",
"path": "./admin/monitoring/metrics.md"
},
{
"title": "Health Check",
"description": "Use Coder's deployment health page to monitor your control plane and its dependencies.",
"path": "./admin/monitoring/health-check.md"
},
{
"title": "Connection Logs",
"description": "Monitor SSH, app, and agent connections to your workspaces with the connection log.",
"path": "./admin/monitoring/connection-logs.md",
"state": ["premium"]
},
{
"title": "Notifications",
"description": "Configure how Coder sends notifications for deployment events over email and webhooks.",
"path": "./admin/monitoring/notifications/index.md",
"children": [
{
"title": "Slack Notifications",
"description": "Set up a Slack integration to deliver Coder notifications to your channels.",
"path": "./admin/monitoring/notifications/slack.md"
},
{
"title": "Microsoft Teams Notifications",
"description": "Set up a Microsoft Teams integration to deliver Coder notifications to your channels.",
"path": "./admin/monitoring/notifications/teams.md"
}
]
}
]
},
{
"title": "Security",
"description": "Secure your Coder deployment with audit logs, secrets management, and database encryption.",
"path": "./admin/security/index.md",
"icon_path": "./images/icons/lock.svg",
"children": [
{
"title": "Audit Logs",
"description": "Track user and administrator actions across your Coder deployment with audit logs.",
"path": "./admin/security/audit-logs.md",
"state": ["premium"]
},
{
"title": "Secrets",
"description": "Learn the recommended ways to get secrets into your Coder workspaces securely.",
"path": "./admin/security/secrets.md"
},
{
"title": "Database Encryption",
"description": "Encrypt sensitive values in the Coder database to protect tokens and secrets at rest.",
"path": "./admin/security/database-encryption.md",
"state": ["premium"]
}
]
}
]
},
{
"title": "Run AI Coding Agents in Coder",
"description": "Run and manage AI coding agents like Claude Code and Codex in Coder workspaces, alongside your existing development environments.",
"path": "./ai-coder/index.md",
"icon_path": "./images/icons/wand.svg",
"children": [
{
"title": "Best Practices",
"description": "Cultural and technical best practices for introducing AI coding agents into your organization.",
"path": "./ai-coder/best-practices.md"
},
{
"title": "In the IDE",
"description": "Run in-IDE AI coding assistants and agents while backing their compute with Coder workspaces.",
"path": "./ai-coder/ide-agents.md"
},
{
"title": "Coder Agents",
"description": "Delegate development work to coding agents in your deployment with Coder Agents, a chat interface and API.",
"path": "./ai-coder/agents/index.md",
"children": [
{
"title": "Getting Started",
"description": "Enable Coder Agents, prepare your deployment, and run your first Coder Agent",
"path": "./ai-coder/agents/getting-started.md"
},
{
"title": "Architecture",
"description": "Learn how the Coder Agents control-plane agent communicates with your workspaces.",
"path": "./ai-coder/agents/architecture.md"
},
{
"title": "Platform Controls",
"description": "Learn how platform teams control Coder Agents behavior, models, spend, and policies.",
"path": "./ai-coder/agents/platform-controls/index.md",
"children": [
{
"title": "Template Optimization",
"description": "Best practices for creating templates that are discoverable and useful to Coder Agents",
"path": "./ai-coder/agents/platform-controls/template-optimization.md"
},
{
"title": "Organization scope",
"description": "Learn which Coder Agents settings belong to an organization, what an upgrade migrates, and who can change them.",
"path": "./ai-coder/agents/platform-controls/organizations.md"
},
{
"title": "Network isolation",
"description": "Run Coder Agents in a separate sandbox with a two-Pod Kubernetes template.",
"path": "./ai-coder/agents/platform-controls/agent-isolation.md",
"state": ["early access"]
},
{
"title": "MCP Servers",
"description": "Configure external MCP servers that provide additional tools for agent chat sessions",
"path": "./ai-coder/agents/platform-controls/mcp-servers.md"
},
{
"title": "Spend management",
"description": "Cap Coder Agents spend with AI Gateway budgets and track the resulting spend.",
"path": "./ai-coder/agents/platform-controls/spend-management.md",
"state": ["premium"]
},
{
"title": "Git Providers",
"description": "Configure Git providers so Coder Agents can show pull request diffs in the in-chat viewer.",
"path": "./ai-coder/agents/platform-controls/git-providers.md"
},
{
"title": "Data Retention",
"description": "Configure automatic cleanup of old Coder Agents conversation data to manage database size.",
"path": "./ai-coder/agents/platform-controls/chat-retention.md"
},
{
"title": "Debug Data Retention",
"description": "Configure automatic cleanup of old Coder Agents chat debug data to manage database size.",
"path": "./ai-coder/agents/platform-controls/chat-debug-retention.md"
},
{
"title": "Auto-Archive",
"description": "Automatically archive long-inactive Coder Agents conversations to keep chat lists tidy.",
"path": "./ai-coder/agents/platform-controls/chat-auto-archive.md"
},
{
"title": "Advisor",
"description": "Provide strategic, high-level guidance to root Coder Agents chats with the Advisor.",
"path": "./ai-coder/agents/platform-controls/advisor.md",
"state": ["early access"]
},
{
"title": "Virtual desktop",
"description": "Give Coder Agents a graphical virtual desktop inside workspaces for GUI-based tasks.",
"path": "./ai-coder/agents/platform-controls/virtual-desktop.md",
"state": ["early access"]
},
{
"title": "Chat debug logging",
"description": "Record detailed traces of each Coder Agents chat turn to troubleshoot agent behavior.",
"path": "./ai-coder/agents/platform-controls/chat-debug-logging.md"
}
]
},
{
"title": "Extending Agents",
"description": "Extend Coder Agents with custom skills and MCP tools defined in your workspace templates.",
"path": "./ai-coder/agents/extending-agents.md"
},
{
"title": "Models",
"description": "Configure the LLM providers and models that power Coder Agents from Admin settings.",
"path": "./ai-coder/agents/models.md"
},
{
"title": "Tools",
"description": "How Coder Agents uses tool calls to select templates and create workspaces",
"path": "./ai-coder/agents/tools/index.md"
},
{
"title": "Chat Sharing",
"description": "Give other users and groups read-only access to a Coder Agents conversation with chat sharing.",
"path": "./ai-coder/agents/chat-sharing.md"
},
{
"title": "Search Syntax",
"description": "Filter Coder Agents conversations by title, status, and linked pull requests with search syntax.",
"path": "./ai-coder/agents/chat-search-syntax.md"
},
{
"title": "Licensing \u0026 Usage",
"description": "Compare Coder Agents licenses and learn how Coder measures and reports Agent Time usage.",
"path": "./ai-coder/agents/licensing-usage.md"
},
{
"title": "Tasks to Chats API Migration",
"description": "Migrate your integrations from the removed Coder Tasks API to the Coder Agents Chats API.",
"path": "./ai-coder/agents/tasks-to-chats-migration.md"
}
]
},
{
"title": "Agent Relay",
"description": "Connect supported cloud-hosted AI agents to self-hosted Coder workspaces with Agent Relay.",
"path": "./ai-coder/agent-relay/index.md",
"state": ["early access"],
"children": [
{
"title": "Agent Relay for Cursor",
"description": "Run Cursor's cloud agent sessions inside self-hosted Coder workspaces with Agent Relay.",
"path": "./ai-coder/agent-relay/cursor.md",
"state": ["early access"]
},
{
"title": "Agent Relay for Claude Code",
"description": "Run Claude Code's cloud sessions inside self-hosted Coder workspaces with Agent Relay.",
"path": "./ai-coder/agent-relay/claude-code.md",
"state": ["early access"]
}
]
},
{
"title": "AI Governance",
"description": "Govern AI usage at scale with AI Governance: Agent Firewall, AI Gateway, and reporting.",
"path": "./ai-coder/ai-governance.md",
"state": ["premium"],
"children": [
{
"title": "Agent Firewall",
"description": "Restrict and audit the network access of AI agents with Agent Firewall, a process-level firewall.",
"path": "./ai-coder/agent-firewall/index.md",
"state": ["premium"],
"children": [
{
"title": "NS Jail",
"description": "Learn how Agent Firewall's default nsjail jail type isolates agents using Linux namespaces.",
"path": "./ai-coder/agent-firewall/nsjail/index.md",
"children": [
{
"title": "NS Jail on Docker",
"description": "Runtime and permission requirements for running Agent Firewall's nsjail jail type on Docker.",
"path": "./ai-coder/agent-firewall/nsjail/docker.md"
},
{
"title": "NS Jail on Kubernetes",
"description": "Runtime and permission requirements for running Agent Firewall's nsjail jail type on Kubernetes.",
"path": "./ai-coder/agent-firewall/nsjail/k8s.md"
},
{
"title": "NS Jail on ECS",
"description": "Runtime and permission requirements for running Agent Firewall's nsjail jail type on AWS ECS.",
"path": "./ai-coder/agent-firewall/nsjail/ecs.md"
}
]
},
{
"title": "LandJail",
"description": "Learn how Agent Firewall's landjail jail type isolates agents using Landlock v4.",
"path": "./ai-coder/agent-firewall/landjail.md"
},
{
"title": "Rules Engine",
"description": "Learn how the Agent Firewall rules engine filters agent network requests with configurable rules.",
"path": "./ai-coder/agent-firewall/rules-engine.md"
},
{
"title": "Version Compatibility",
"description": "Check the Coder and Claude Code module version requirements for running Agent Firewall.",
"path": "./ai-coder/agent-firewall/version.md"
}
]
},
{
"title": "AI Gateway",
"description": "Govern and observe AI coding traffic with AI Gateway.",
"path": "./ai-coder/ai-gateway/index.md",
"icon_path": "./images/icons/api.svg",
"state": ["premium"],
"children": [
{
"title": "Setup",
"description": "Enable and configure AI Gateway inside the Coder control plane, with no extra compute to deploy.",
"path": "./ai-coder/ai-gateway/setup.md",
"state": ["premium"]
},
{
"title": "Standalone Deployment",
"description": "Deploy and operate AI Gateway as a standalone service",
"path": "./ai-coder/ai-gateway/standalone.md",
"state": ["premium"]
},
{
"title": "Authentication",
"description": "Authenticate AI coding tools against AI Gateway using your Coder API token.",
"path": "./ai-coder/ai-gateway/auth.md",
"state": ["premium"]
},
{
"title": "Client Configuration",
"description": "Configure your AI coding tools to route their model requests through AI Gateway.",
"path": "./ai-coder/ai-gateway/clients/index.md",
"state": ["premium"],
"children": [
{
"title": "Claude Code",
"description": "Configure Claude Code to route requests through AI Gateway using environment variables.",
"path": "./ai-coder/ai-gateway/clients/claude-code.md",
"state": ["premium"]
},
{
"title": "Codex",
"description": "Configure the Codex CLI to route requests through AI Gateway with a custom model provider.",
"path": "./ai-coder/ai-gateway/clients/codex.md",
"state": ["premium"]
},
{
"title": "Xum",
"description": "Configure Xum, the parallel coding agent tool, to route requests through AI Gateway.",
"path": "./ai-coder/ai-gateway/clients/xum.md",
"state": ["premium"]
},
{
"title": "OpenCode",
"description": "Configure OpenCode to route its OpenAI and Anthropic requests through AI Gateway.",
"path": "./ai-coder/ai-gateway/clients/opencode.md",
"state": ["premium"]
},
{
"title": "Factory",
"description": "Configure Factory's Droid agent to route its model requests through AI Gateway.",
"path": "./ai-coder/ai-gateway/clients/factory.md",
"state": ["premium"]
},
{
"title": "Cline",
"description": "Configure Cline to route its OpenAI and Anthropic requests through AI Gateway.",
"path": "./ai-coder/ai-gateway/clients/cline.md",
"state": ["premium"]
},
{
"title": "Kilo Code",
"description": "Configure Kilo Code to route its model requests through AI Gateway from the UI.",
"path": "./ai-coder/ai-gateway/clients/kilo-code.md",
"state": ["premium"]
},
{
"title": "VS Code",
"description": "Configure VS Code to route its AI model requests through Coder's AI Gateway.",
"path": "./ai-coder/ai-gateway/clients/vscode.md",
"state": ["premium"]
},
{
"title": "JetBrains",
"description": "Configure JetBrains AI Assistant to route model requests through AI Gateway.",
"path": "./ai-coder/ai-gateway/clients/jetbrains.md",
"state": ["premium"]
},
{
"title": "Junie",
"description": "Configure Junie CLI to route requests through AI Gateway with a custom model profile.",
"path": "./ai-coder/ai-gateway/clients/junie.md",
"state": ["premium"]
},
{
"title": "Zed",
"description": "Configure the Zed editor's language models to route requests through AI Gateway.",
"path": "./ai-coder/ai-gateway/clients/zed.md",
"state": ["premium"]
},
{
"title": "GitHub Copilot",
"description": "Route GitHub Copilot model requests through AI Gateway using the AI Gateway Proxy.",
"path": "./ai-coder/ai-gateway/clients/copilot.md",
"state": ["premium"]
}
]
},
{
"title": "MCP Tools Injection",
"description": "Connect MCP servers to AI Gateway to inject tools and centrally manage what users can call.",
"path": "./ai-coder/ai-gateway/mcp.md"
},
{
"title": "AI Gateway Proxy",
"description": "Use AI Gateway Proxy to route AI tools that don't support base URL overrides through AI Gateway.",
"path": "./ai-coder/ai-gateway/ai-gateway-proxy/index.md",
"state": ["premium"],
"children": [
{
"title": "Setup",
"description": "Enable and configure AI Gateway Proxy inside the Coder control plane, with no extra compute.",
"path": "./ai-coder/ai-gateway/ai-gateway-proxy/setup.md",
"state": ["premium"]
}
]
},
{
"title": "Provider Configuration",
"description": "Learn how AI Gateway stores and reloads LLM provider configuration for your deployment.",
"path": "./ai-coder/ai-gateway/providers.md",
"state": ["premium"]
},
{
"title": "Audit AI sessions",
"description": "Audit AI coding sessions and threads captured by AI Gateway for governance and review.",
"path": "./ai-coder/ai-gateway/audit.md",
"state": ["premium"]
},
{
"title": "Monitoring",
"description": "Monitor AI Gateway activity, including prompts, token usage, and tool calls per request.",
"path": "./ai-coder/ai-gateway/monitoring.md",
"state": ["premium"]
},
{
"title": "AI Governance Cost Control",
"description": "Configure AI Gateway budgets, enforcement, notifications, and spend reporting.",
"path": "./ai-coder/ai-gateway/cost-controls.md",
"state": ["premium"]
},
{
"title": "Reference",
"description": "Technical reference for AI Gateway, including deployment topologies, version compatibility, and supported APIs.",
"path": "./ai-coder/ai-gateway/reference.md",
"state": ["premium"]
},
{
"title": "Rebranding Migration",
"description": "Update configuration and references after the AI Bridge rename to AI Gateway.",
"path": "./ai-coder/ai-gateway/rebranding-migration.md",
"state": ["premium"]
}
]
}
]
},
{
"title": "MCP Server",
"description": "Connect external AI coding agents to Coder using its built-in Model Context Protocol server.",
"path": "./ai-coder/mcp-server.md",
"state": ["beta"]
}
]
},
{
"title": "Tutorials",
"description": "Step-by-step, employee-written guides and tutorials for deploying and administering Coder.",
"path": "./tutorials/index.md",
"icon_path": "./images/icons/generic.svg",
"children": [
{
"title": "Quickstart",
"description": "Install Coder, build your first template, and launch your first workspace in this quickstart guide.",
"path": "./get-started/index.md"
},
{
"title": "Write a Template from Scratch",
"description": "Learn how to write a Coder template from scratch with Terraform, step by step.",
"path": "./tutorials/template-from-scratch.md"
},
{
"title": "Use an external database",
"description": "Configure Coder to use an external PostgreSQL database for production deployments.",
"path": "./tutorials/external-database.md"
},
{
"title": "Image Management",
"description": "Learn how to build and manage the container images that back your Coder templates.",
"path": "./admin/templates/managing-templates/image-management.md"
},
{
"title": "Configuring Okta",
"description": "Configure custom Okta claims and scopes to drive Coder group and role sync.",
"path": "./tutorials/configuring-okta.md"
},
{
"title": "Persistent Shared Workspaces",
"description": "Set up long-lived shared workspaces with service accounts and workspace sharing",
"path": "./tutorials/persistent-shared-workspaces.md",
"state": ["premium"]
},
{
"title": "Google to AWS Federation",
"description": "Federate a Google Cloud service account to AWS so Coder can authenticate across clouds.",
"path": "./tutorials/gcp-to-aws.md"
},
{
"title": "JFrog Artifactory Integration",
"description": "Integrate Coder with JFrog Artifactory to secure workspaces and manage packages and tokens.",
"path": "./admin/integrations/jfrog-artifactory.md"
},
{
"title": "Istio Integration",
"description": "Use the Istio service mesh to secure and control your Coder workspace traffic.",
"path": "./admin/integrations/istio.md"
},
{
"title": "Island Secure Browser Integration",
"description": "Integrate Coder with the Island Enterprise Browser for secure, policy-controlled workspace access.",
"path": "./admin/integrations/island.md"
},
{
"title": "Template ImagePullSecrets",
"description": "Create Kubernetes ImagePullSecrets so Coder workspaces can pull images from private registries.",
"path": "./tutorials/image-pull-secret.md"
},
{
"title": "Postgres SSL",
"description": "Configure Coder to connect to a PostgreSQL database over an encrypted SSL connection.",
"path": "./tutorials/postgres-ssl.md"
},
{
"title": "Azure Federation",
"description": "Federate Coder's control plane to Azure so it can authenticate to Azure services.",
"path": "./tutorials/azure-federation.md"
},
{
"title": "Deploy Coder on Azure with an Application Gateway",
"description": "Deploy Coder on Azure Kubernetes Service behind an Azure Application Gateway ingress controller.",
"path": "./install/server/kubernetes/kubernetes-azure-app-gateway.md"
},
{
"title": "Cloning Git Repositories",
"description": "Learn how to automatically clone Git repositories into your Coder workspaces on startup.",
"path": "./tutorials/cloning-git-repositories.md"
},
{
"title": "Test Templates Through CI/CD",
"description": "Test and publish your Coder templates automatically through a CI/CD pipeline.",
"path": "./tutorials/testing-templates.md"
},
{
"title": "Use Apache as a Reverse Proxy",
"description": "Configure Apache as a reverse proxy for Coder, with TLS certificates from Let's Encrypt.",
"path": "./tutorials/reverse-proxy-apache.md"
},
{
"title": "Use Caddy as a Reverse Proxy",
"description": "Configure Caddy as a reverse proxy for Coder, with automatic HTTPS certificates.",
"path": "./tutorials/reverse-proxy-caddy.md"
},
{
"title": "Use NGINX as a Reverse Proxy",
"description": "Configure NGINX as a reverse proxy for Coder, with TLS certificates from Let's Encrypt.",
"path": "./tutorials/reverse-proxy-nginx.md"
},
{
"title": "Pre-install JetBrains IDEs in Workspaces",
"description": "Pre-install JetBrains IDE backends in your template for faster first-time connections.",
"path": "./admin/templates/extending-templates/jetbrains-preinstall.md"
},
{
"title": "Use JetBrains IDEs in Air-Gapped Deployments",
"description": "Configure JetBrains IDEs to work in air-gapped Coder deployments without internet access.",
"path": "./admin/templates/extending-templates/jetbrains-airgapped.md"
},
{
"title": "FAQs",
"description": "Answers to frequently asked questions about Coder OSS and licensed deployments.",
"path": "./tutorials/faqs.md"
},
{
"title": "Best practices",
"description": "Best-practice guides to help you get the most out of your Coder deployment.",
"path": "./tutorials/best-practices/index.md",
"children": [
{
"title": "Organizations - best practices",
"description": "Best practices for structuring and using Coder organizations effectively.",
"path": "./tutorials/best-practices/organizations.md"
},
{
"title": "Scale Coder",
"description": "Best practices for preparing and tuning a Coder deployment so it scales to many users.",
"path": "./tutorials/best-practices/scale-coder.md"
},
{
"title": "Security - best practices",
"description": "Follow security best practices to harden your Coder deployment against common risks.",
"path": "./tutorials/best-practices/security-best-practices.md"
},
{
"title": "Speed up your workspaces",
"description": "Speed up Coder template builds and workspace startup with practical optimizations.",
"path": "./tutorials/best-practices/speed-up-templates.md"
}
]
}
]
},
{
"title": "Reference",
"description": "Reference for automating Coder through the REST API, command-line interface, and Agent API.",
"path": "./reference/index.md",
"icon_path": "./images/icons/notes.svg",
"children": [
{
"title": "Glossary",
"description": "Definitions of Coder terms and product names",
"path": "./reference/glossary.md"
},
{
"title": "Releases",
"description": "Learn about Coder's release channels, versioning, and schedule so you can plan upgrades.",
"path": "./reference/releases.md",
"icon_path": "./images/icons/star.svg"
},
{
"title": "Feature stages",
"description": "Understand Coder's feature stages, including early access, beta, and general availability.",
"path": "./reference/feature-stages.md"
},
{
"title": "REST API",
"description": "Reference for the Coder REST API, including endpoints, authentication, and schemas.",
"path": "./reference/api/index.md",
"icon_path": "./images/icons/api.svg",
"children": [
{
"title": "General",
"path": "./reference/api/general.md"
},
{
"title": "AI Gateway",
"path": "./reference/api/aigateway.md"
},
{
"title": "AI Providers",
"path": "./reference/api/aiproviders.md"
},
{
"title": "Agents",
"description": "REST endpoints for the workspace agent daemon (`coder_agent`).",
"path": "./reference/api/agents.md"
},
{
"title": "Applications",
"path": "./reference/api/applications.md"
},
{
"title": "Audit",
"path": "./reference/api/audit.md"
},
{
"title": "Authentication",
"path": "./reference/api/authentication.md"
},
{
"title": "Authorization",
"path": "./reference/api/authorization.md"
},
{
"title": "Builds",
"path": "./reference/api/builds.md"
},
{
"title": "Chats",
"description": "REST endpoints for Coder Agents Chats API (programmatic agent sessions).",
"path": "./reference/api/chats.md"
},
{
"title": "Debug",
"path": "./reference/api/debug.md"
},
{
"title": "Enterprise",
"path": "./reference/api/enterprise.md"
},
{
"title": "Files",
"path": "./reference/api/files.md"
},
{
"title": "Git",
"path": "./reference/api/git.md"
},
{
"title": "InitScript",
"path": "./reference/api/initscript.md"
},
{
"title": "Insights",
"path": "./reference/api/insights.md"
},
{
"title": "MCP",
"path": "./reference/api/mcp.md"
},
{
"title": "Members",
"path": "./reference/api/members.md"
},
{
"title": "Notifications",
"path": "./reference/api/notifications.md"
},
{
"title": "Organizations",
"path": "./reference/api/organizations.md"
},
{
"title": "PortSharing",
"path": "./reference/api/portsharing.md"
},
{
"title": "Prebuilds",
"path": "./reference/api/prebuilds.md"
},
{
"title": "Provisioning",
"path": "./reference/api/provisioning.md"
},
{
"title": "Schemas",
"path": "./reference/api/schemas.md"
},
{
"title": "Secrets",
"path": "./reference/api/secrets.md"
},
{
"title": "TemplateBuilder",
"path": "./reference/api/templatebuilder.md"
},
{
"title": "Templates",
"path": "./reference/api/templates.md"
},
{
"title": "Users",
"path": "./reference/api/users.md"
},
{
"title": "WorkspaceProxies",
"path": "./reference/api/workspaceproxies.md"
},
{
"title": "Workspaces",
"path": "./reference/api/workspaces.md"
}
]
},
{
"title": "Command Line",
"description": "Reference for the Coder command-line interface, with usage and flags for every command.",
"path": "./reference/cli/index.md",
"icon_path": "./images/icons/terminal.svg",
"children": [
{
"title": "`agent-firewall`",
"description": "Network isolation tool for monitoring and restricting HTTP/HTTPS requests",
"path": "reference/cli/agent-firewall.md"
},
{
"title": "`ai-gateway`",
"description": "Manage AI Gateway",
"path": "reference/cli/ai-gateway/index.md",
"children": [
{
"title": "`keys`",
"description": "Manage AI Gateway keys",
"path": "reference/cli/ai-gateway/keys/index.md",
"children": [
{
"title": "`create`",
"description": "Create an AI Gateway key",
"path": "reference/cli/ai-gateway/keys/create.md"
},
{
"title": "`delete`",
"description": "Delete an AI Gateway key",
"path": "reference/cli/ai-gateway/keys/delete.md"
},
{
"title": "`list`",
"description": "List AI Gateway keys",
"path": "reference/cli/ai-gateway/keys/list.md"
}
]
},
{
"title": "`start`",
"description": "Run a standalone AI Gateway server",
"path": "reference/cli/ai-gateway/start.md"
}
]
},
{
"title": "`autoupdate`",
"description": "Toggle auto-update policy for a workspace",
"path": "reference/cli/autoupdate.md"
},
{
"title": "`completion`",
"description": "Install or update shell completion scripts for the detected or chosen shell.",
"path": "reference/cli/completion.md"
},
{
"title": "`config-ssh`",
"description": "Add an SSH Host entry for your workspaces \"ssh workspace.coder\"",
"path": "reference/cli/config-ssh.md"
},
{
"title": "`create`",
"description": "Create a workspace",
"path": "reference/cli/create.md"
},
{
"title": "`delete`",
"description": "Delete a workspace",
"path": "reference/cli/delete.md"
},
{
"title": "`dotfiles`",
"description": "Personalize your workspace by applying a canonical dotfiles repository",
"path": "reference/cli/dotfiles.md"
},
{
"title": "`external-auth`",
"description": "Manage external authentication",
"path": "reference/cli/external-auth/index.md",
"children": [
{
"title": "`access-token`",
"description": "Print auth for an external provider",
"path": "reference/cli/external-auth/access-token.md"
}
]
},
{
"title": "`external-workspaces`",
"description": "Create or manage external workspaces",
"path": "reference/cli/external-workspaces/index.md",
"children": [
{
"title": "`agent-instructions`",
"description": "Get the instructions for an external agent",
"path": "reference/cli/external-workspaces/agent-instructions.md"
},
{
"title": "`create`",
"description": "Create a new external workspace",
"path": "reference/cli/external-workspaces/create.md"
},
{
"title": "`list`",
"description": "List external workspaces",
"path": "reference/cli/external-workspaces/list.md"
}
]
},
{
"title": "`favorite`",
"description": "Add a workspace to your favorites",
"path": "reference/cli/favorite.md"
},
{
"title": "`features`",
"description": "List Enterprise features",
"path": "reference/cli/features/index.md",
"children": [
{
"title": "`list`",
"path": "reference/cli/features/list.md"
}
]
},
{
"title": "`groups`",
"description": "Manage groups",
"path": "reference/cli/groups/index.md",
"children": [
{
"title": "`create`",
"description": "Create a user group",
"path": "reference/cli/groups/create.md"
},
{
"title": "`delete`",
"description": "Delete a user group",
"path": "reference/cli/groups/delete.md"
},
{
"title": "`edit`",
"description": "Edit a user group",
"path": "reference/cli/groups/edit.md"
},
{
"title": "`list`",
"description": "List user groups",
"path": "reference/cli/groups/list.md"
}
]
},
{
"title": "`licenses`",
"description": "Add, delete, and list licenses",
"path": "reference/cli/licenses/index.md",
"children": [
{
"title": "`add`",
"description": "Add license to Coder deployment",
"path": "reference/cli/licenses/add.md"
},
{
"title": "`delete`",
"description": "Delete license by ID",
"path": "reference/cli/licenses/delete.md"
},
{
"title": "`list`",
"description": "List licenses (including expired)",
"path": "reference/cli/licenses/list.md"
}
]
},
{
"title": "`list`",
"description": "List workspaces",
"path": "reference/cli/list.md"
},
{
"title": "`login`",
"description": "Authenticate with Coder deployment",
"path": "reference/cli/login/index.md",
"children": [
{
"title": "`token`",
"description": "Print the current session token",
"path": "reference/cli/login/token.md"
}
]
},
{
"title": "`logout`",
"description": "Unauthenticate your local session",
"path": "reference/cli/logout.md"
},
{
"title": "`logs`",
"description": "View logs for a workspace",
"path": "reference/cli/logs.md"
},
{
"title": "`netcheck`",
"description": "Print network debug information for DERP and STUN",
"path": "reference/cli/netcheck.md"
},
{
"title": "`notifications`",
"description": "Manage Coder notifications",
"path": "reference/cli/notifications/index.md",
"children": [
{
"title": "`custom`",
"description": "Send a custom notification",
"path": "reference/cli/notifications/custom.md"
},
{
"title": "`pause`",
"description": "Pause notifications",
"path": "reference/cli/notifications/pause.md"
},
{
"title": "`resume`",
"description": "Resume notifications",
"path": "reference/cli/notifications/resume.md"
},
{
"title": "`test`",
"description": "Send a test notification",
"path": "reference/cli/notifications/test.md"
}
]
},
{
"title": "`oauth2-provider`",
"description": "Manage Coder OAuth2 provider settings",
"path": "reference/cli/oauth2-provider/index.md",
"children": [
{
"title": "`dcr`",
"description": "Manage OAuth2 dynamic client registration (RFC 7591)",
"path": "reference/cli/oauth2-provider/dcr/index.md",
"children": [
{
"title": "`disable`",
"description": "Disable OAuth2 dynamic client registration",
"path": "reference/cli/oauth2-provider/dcr/disable.md"
},
{
"title": "`enable`",
"description": "Enable OAuth2 dynamic client registration",
"path": "reference/cli/oauth2-provider/dcr/enable.md"
}
]
}
]
},
{
"title": "`open`",
"description": "Open a workspace",
"path": "reference/cli/open/index.md",
"children": [
{
"title": "`app`",
"description": "Open a workspace application.",
"path": "reference/cli/open/app.md"
},
{
"title": "`vscode`",
"description": "Open a workspace in VS Code Desktop",
"path": "reference/cli/open/vscode.md"
}
]
},
{
"title": "`organizations`",
"description": "Organization related commands",
"path": "reference/cli/organizations/index.md",
"children": [
{
"title": "`create`",
"description": "Create a new organization.",
"path": "reference/cli/organizations/create.md"
},
{
"title": "`delete`",
"description": "Delete an organization",
"path": "reference/cli/organizations/delete.md"
},
{
"title": "`edit`",
"description": "Edit organization settings.",
"path": "reference/cli/organizations/edit.md"
},
{
"title": "`list`",
"description": "List all organizations",
"path": "reference/cli/organizations/list.md"
},
{
"title": "`members`",
"description": "Manage organization members",
"path": "reference/cli/organizations/members/index.md",
"children": [
{
"title": "`add`",
"description": "Add a new member to the current organization",
"path": "reference/cli/organizations/members/add.md"
},
{
"title": "`edit-roles`",
"description": "Edit organization member's roles",
"path": "reference/cli/organizations/members/edit-roles.md"
},
{
"title": "`list`",
"description": "List all organization members",
"path": "reference/cli/organizations/members/list.md"
},
{
"title": "`remove`",
"description": "Remove a new member to the current organization",
"path": "reference/cli/organizations/members/remove.md"
}
]
},
{
"title": "`roles`",
"description": "Manage organization roles.",
"path": "reference/cli/organizations/roles/index.md",
"children": [
{
"title": "`create`",
"description": "Create a new organization custom role",
"path": "reference/cli/organizations/roles/create.md"
},
{
"title": "`show`",
"description": "Show role(s)",
"path": "reference/cli/organizations/roles/show.md"
},
{
"title": "`update`",
"description": "Update an organization custom role",
"path": "reference/cli/organizations/roles/update.md"
}
]
},
{
"title": "`settings`",
"description": "Manage organization settings.",
"path": "reference/cli/organizations/settings/index.md",
"children": [
{
"title": "`set`",
"description": "Update specified organization setting.",
"path": "reference/cli/organizations/settings/set/index.md",
"children": [
{
"title": "`group-sync`",
"description": "Group sync settings to sync groups from an IdP.",
"path": "reference/cli/organizations/settings/set/group-sync.md"
},
{
"title": "`organization-sync`",
"description": "Organization sync settings to sync organization memberships from an IdP.",
"path": "reference/cli/organizations/settings/set/organization-sync.md"
},
{
"title": "`role-sync`",
"description": "Role sync settings to sync organization roles from an IdP.",
"path": "reference/cli/organizations/settings/set/role-sync.md"
},
{
"title": "`workspace-sharing`",
"description": "Workspace sharing settings for the organization.",
"path": "reference/cli/organizations/settings/set/workspace-sharing.md"
}
]
},
{
"title": "`show`",
"description": "Outputs specified organization setting.",
"path": "reference/cli/organizations/settings/show/index.md",
"children": [
{
"title": "`group-sync`",
"description": "Group sync settings to sync groups from an IdP.",
"path": "reference/cli/organizations/settings/show/group-sync.md"
},
{
"title": "`organization-sync`",
"description": "Organization sync settings to sync organization memberships from an IdP.",
"path": "reference/cli/organizations/settings/show/organization-sync.md"
},
{
"title": "`role-sync`",
"description": "Role sync settings to sync organization roles from an IdP.",
"path": "reference/cli/organizations/settings/show/role-sync.md"
},
{
"title": "`workspace-sharing`",
"description": "Workspace sharing settings for the organization.",
"path": "reference/cli/organizations/settings/show/workspace-sharing.md"
}
]
}
]
},
{
"title": "`show`",
"description": "Show the organization. Using \"selected\" will show the selected organization from the \"--org\" flag. Using \"me\" will show all organizations you are a member of.",
"path": "reference/cli/organizations/show.md"
}
]
},
{
"title": "`ping`",
"description": "Ping a workspace",
"path": "reference/cli/ping.md"
},
{
"title": "`port-forward`",
"description": "Forward ports from a workspace to the local machine. For reverse port forwarding, use \"coder ssh -R\".",
"path": "reference/cli/port-forward.md"
},
{
"title": "`prebuilds`",
"description": "Manage Coder prebuilds",
"path": "reference/cli/prebuilds/index.md",
"children": [
{
"title": "`pause`",
"description": "Pause prebuilds",
"path": "reference/cli/prebuilds/pause.md"
},
{
"title": "`resume`",
"description": "Resume prebuilds",
"path": "reference/cli/prebuilds/resume.md"
}
]
},
{
"title": "`provisioner`",
"description": "View and manage provisioner daemons and jobs",
"path": "reference/cli/provisioner/index.md",
"children": [
{
"title": "`jobs`",
"description": "View and manage provisioner jobs",
"path": "reference/cli/provisioner/jobs/index.md",
"children": [
{
"title": "`cancel`",
"description": "Cancel a provisioner job",
"path": "reference/cli/provisioner/jobs/cancel.md"
},
{
"title": "`list`",
"description": "List provisioner jobs",
"path": "reference/cli/provisioner/jobs/list.md"
}
]
},
{
"title": "`keys`",
"description": "Manage provisioner keys",
"path": "reference/cli/provisioner/keys/index.md",
"children": [
{
"title": "`create`",
"description": "Create a new provisioner key",
"path": "reference/cli/provisioner/keys/create.md"
},
{
"title": "`delete`",
"description": "Delete a provisioner key",
"path": "reference/cli/provisioner/keys/delete.md"
},
{
"title": "`list`",
"description": "List provisioner keys in an organization",
"path": "reference/cli/provisioner/keys/list.md"
}
]
},
{
"title": "`list`",
"description": "List provisioner daemons in an organization",
"path": "reference/cli/provisioner/list.md"
},
{
"title": "`start`",
"description": "Run a provisioner daemon",
"path": "reference/cli/provisioner/start.md"
}
]
},
{
"title": "`publickey`",
"description": "Output your Coder public key used for Git operations",
"path": "reference/cli/publickey.md"
},
{
"title": "`rename`",
"description": "Rename a workspace",
"path": "reference/cli/rename.md"
},
{
"title": "`reset-password`",
"description": "Directly connect to the database to reset a user's password",
"path": "reference/cli/reset-password.md"
},
{
"title": "`restart`",
"description": "Restart a workspace",
"path": "reference/cli/restart.md"
},
{
"title": "`schedule`",
"description": "Schedule automated start and stop times for workspaces",
"path": "reference/cli/schedule/index.md",
"children": [
{
"title": "`extend`",
"description": "Extend the stop time of a currently running workspace instance.",
"path": "reference/cli/schedule/extend.md"
},
{
"title": "`show`",
"description": "Show workspace schedules",
"path": "reference/cli/schedule/show.md"
},
{
"title": "`start`",
"description": "Edit workspace start schedule",
"path": "reference/cli/schedule/start.md"
},
{
"title": "`stop`",
"description": "Edit workspace stop schedule",
"path": "reference/cli/schedule/stop.md"
}
]
},
{
"title": "`secret`",
"description": "Manage secrets",
"path": "reference/cli/secret/index.md",
"children": [
{
"title": "`create`",
"description": "Create a secret",
"path": "reference/cli/secret/create.md"
},
{
"title": "`delete`",
"description": "Delete a secret",
"path": "reference/cli/secret/delete.md"
},
{
"title": "`disable`",
"description": "Disable a secret without removing it",
"path": "reference/cli/secret/disable.md"
},
{
"title": "`enable`",
"description": "Enable a secret so it is injected into workspaces",
"path": "reference/cli/secret/enable.md"
},
{
"title": "`import`",
"description": "Import secrets from a file",
"path": "reference/cli/secret/import.md"
},
{
"title": "`list`",
"description": "List secrets, or show one by name",
"path": "reference/cli/secret/list.md"
},
{
"title": "`update`",
"description": "Update a secret",
"path": "reference/cli/secret/update.md"
}
]
},
{
"title": "`server`",
"description": "Start a Coder server",
"path": "reference/cli/server/index.md",
"children": [
{
"title": "`create-admin-user`",
"description": "Create a new admin user with the given username, email and password and adds it to every organization.",
"path": "reference/cli/server/create-admin-user.md"
},
{
"title": "`dbcrypt`",
"description": "Manage database encryption.",
"path": "reference/cli/server/dbcrypt/index.md",
"children": [
{
"title": "`decrypt`",
"description": "Decrypt a previously encrypted database.",
"path": "reference/cli/server/dbcrypt/decrypt.md"
},
{
"title": "`delete`",
"description": "Delete all encrypted data from the database. THIS IS A DESTRUCTIVE OPERATION.",
"path": "reference/cli/server/dbcrypt/delete.md"
},
{
"title": "`rotate`",
"description": "Rotate database encryption keys.",
"path": "reference/cli/server/dbcrypt/rotate.md"
}
]
},
{
"title": "`fix-oidc-links`",
"description": "Reset OIDC linked IDs that do not match the expected issuer, allowing users to re-authenticate.",
"path": "reference/cli/server/fix-oidc-links.md"
},
{
"title": "`postgres-builtin-serve`",
"description": "Run the built-in PostgreSQL deployment.",
"path": "reference/cli/server/postgres-builtin-serve.md"
},
{
"title": "`postgres-builtin-url`",
"description": "Output the connection URL for the built-in PostgreSQL deployment.",
"path": "reference/cli/server/postgres-builtin-url.md"
}
]
},
{
"title": "`show`",
"description": "Display details of a workspace's resources and agents",
"path": "reference/cli/show.md"
},
{
"title": "`speedtest`",
"description": "Run upload and download tests from your machine to a workspace",
"path": "reference/cli/speedtest.md"
},
{
"title": "`ssh`",
"description": "Start a shell into a workspace or run a command",
"path": "reference/cli/ssh.md"
},
{
"title": "`start`",
"description": "Start a workspace",
"path": "reference/cli/start.md"
},
{
"title": "`stat`",
"description": "Show resource usage for the current workspace.",
"path": "reference/cli/stat/index.md",
"children": [
{
"title": "`cpu`",
"description": "Show CPU usage, in cores.",
"path": "reference/cli/stat/cpu.md"
},
{
"title": "`disk`",
"description": "Show disk usage, in gigabytes.",
"path": "reference/cli/stat/disk.md"
},
{
"title": "`mem`",
"description": "Show memory usage, in gigabytes.",
"path": "reference/cli/stat/mem.md"
}
]
},
{
"title": "`state`",
"description": "Manually manage Terraform state to fix broken workspaces",
"path": "reference/cli/state/index.md",
"children": [
{
"title": "`pull`",
"description": "Pull a Terraform state file from a workspace.",
"path": "reference/cli/state/pull.md"
},
{
"title": "`push`",
"description": "Push a Terraform state file to a workspace.",
"path": "reference/cli/state/push.md"
}
]
},
{
"title": "`stop`",
"description": "Stop a workspace",
"path": "reference/cli/stop.md"
},
{
"title": "`support`",
"description": "Commands for troubleshooting issues with a Coder deployment.",
"path": "reference/cli/support/index.md",
"children": [
{
"title": "`bundle`",
"description": "Generate a support bundle to troubleshoot issues connecting to a workspace.",
"path": "reference/cli/support/bundle.md"
}
]
},
{
"title": "`templates`",
"description": "Manage templates",
"path": "reference/cli/templates/index.md",
"children": [
{
"title": "`archive`",
"description": "Archive unused or failed template versions from a given template(s)",
"path": "reference/cli/templates/archive.md"
},
{
"title": "`create`",
"description": "DEPRECATED: Create a template from the current directory or as specified by flag",
"path": "reference/cli/templates/create.md"
},
{
"title": "`delete`",
"description": "Delete templates",
"path": "reference/cli/templates/delete.md"
},
{
"title": "`edit`",
"description": "Edit the metadata of a template by name.",
"path": "reference/cli/templates/edit.md"
},
{
"title": "`init`",
"description": "Get started with a templated template.",
"path": "reference/cli/templates/init.md"
},
{
"title": "`list`",
"description": "List all the templates available for the organization",
"path": "reference/cli/templates/list.md"
},
{
"title": "`presets`",
"description": "Manage presets of the specified template",
"path": "reference/cli/templates/presets/index.md",
"children": [
{
"title": "`list`",
"description": "List all presets of the specified template. Defaults to the active template version.",
"path": "reference/cli/templates/presets/list.md"
}
]
},
{
"title": "`pull`",
"description": "Download the active, latest, or specified version of a template to a path.",
"path": "reference/cli/templates/pull.md"
},
{
"title": "`push`",
"description": "Create or update a template from the current directory or as specified by flag",
"path": "reference/cli/templates/push.md"
},
{
"title": "`versions`",
"description": "Manage different versions of the specified template",
"path": "reference/cli/templates/versions/index.md",
"children": [
{
"title": "`archive`",
"description": "Archive a template version(s).",
"path": "reference/cli/templates/versions/archive.md"
},
{
"title": "`list`",
"description": "List all the versions of the specified template",
"path": "reference/cli/templates/versions/list.md"
},
{
"title": "`promote`",
"description": "Promote a template version to active.",
"path": "reference/cli/templates/versions/promote.md"
},
{
"title": "`unarchive`",
"description": "Unarchive a template version(s).",
"path": "reference/cli/templates/versions/unarchive.md"
}
]
}
]
},
{
"title": "`tokens`",
"description": "Manage personal access tokens",
"path": "reference/cli/tokens/index.md",
"children": [
{
"title": "`create`",
"description": "Create a token",
"path": "reference/cli/tokens/create.md"
},
{
"title": "`list`",
"description": "List tokens",
"path": "reference/cli/tokens/list.md"
},
{
"title": "`remove`",
"description": "Expire or delete a token",
"path": "reference/cli/tokens/remove.md"
},
{
"title": "`view`",
"description": "Display detailed information about a token",
"path": "reference/cli/tokens/view.md"
}
]
},
{
"title": "`unfavorite`",
"description": "Remove a workspace from your favorites",
"path": "reference/cli/unfavorite.md"
},
{
"title": "`update`",
"description": "Will update and start a given workspace if it is out of date. If the workspace is already running, it will be stopped first.",
"path": "reference/cli/update.md"
},
{
"title": "`users`",
"description": "Manage users",
"path": "reference/cli/users/index.md",
"children": [
{
"title": "`activate`",
"description": "Update a user's status to 'active'. Active users can fully interact with the platform",
"path": "reference/cli/users/activate.md"
},
{
"title": "`create`",
"description": "Create a new user.",
"path": "reference/cli/users/create.md"
},
{
"title": "`delete`",
"description": "Delete a user by username or user_id.",
"path": "reference/cli/users/delete.md"
},
{
"title": "`edit-roles`",
"description": "Edit a user's roles by username or id",
"path": "reference/cli/users/edit-roles.md"
},
{
"title": "`list`",
"description": "Prints the list of users.",
"path": "reference/cli/users/list.md"
},
{
"title": "`oidc-claims`",
"description": "Display the OIDC claims for the authenticated user.",
"path": "reference/cli/users/oidc-claims.md"
},
{
"title": "`show`",
"description": "Show a single user. Use 'me' to indicate the currently authenticated user.",
"path": "reference/cli/users/show.md"
},
{
"title": "`suspend`",
"description": "Update a user's status to 'suspended'. A suspended user cannot log into the platform",
"path": "reference/cli/users/suspend.md"
}
]
},
{
"title": "`version`",
"description": "Show coder version",
"path": "reference/cli/version.md"
},
{
"title": "`whoami`",
"description": "Fetch authenticated user info for Coder deployment",
"path": "reference/cli/whoami.md"
}
]
},
{
"title": "Agent API",
"description": "Reference for the Coder Agent API used by workspace agents to communicate with the control plane.",
"path": "./reference/agent-api/index.md",
"icon_path": "./images/icons/api.svg",
"children": [
{
"title": "Debug",
"path": "./reference/agent-api/debug.md"
},
{
"title": "Schemas",
"path": "./reference/agent-api/schemas.md"
}
]
}
]
}
]
}