Files
coder/docs/user-guides/workspace-access/windsurf.md
T
Nick Vigilante f5e0c1a860 fix: correct invalid inline HTML in hand-written docs (#27298)
## What

Fixes three classes of invalid inline HTML in hand-written docs, all of
which
render incorrectly (or only render by accident) today. Found via a
systematic,
markdown-aware audit of every `.md` under `docs/` (ignores code blocks,
inline
code, comments, and autolinks), so this is a complete sweep of the
hand-written
surface, not a spot fix.

## Changes

1. **`<kdb>` → `<kbd>` (72 tags).** The keyboard element is `<kbd>`;
`<kdb>` is
a typo that is not a real element, so renderers drop/mangle it and the
   keystrokes lose their styling. Corrected across the IDE access guides
(`cursor.md`, `windsurf.md`, `antigravity.md`). The correct `<kbd>` is
   already used in the JetBrains Gateway guide.
2. **Unclosed `<div class="tabs">` in `docs/admin/users/idp-sync.md`.**
The
"Provider-Specific Guides" section opened a `.tabs` container (rendered
as
the `DocsTabs` component) that was never closed, so the wrapper leaked
over
the rest of the page. Added the missing `</div>` before `## Next Steps`,
   matching the three other tab sections in the same file.
3. **`<Image>` → `<img>` (6 tags).** `<Image>` is not a registered docs
component — it renders only because the HTML5 parser rewrites the legacy
`<image>` tag to `<img>`. Converted to lowercase `<img>` for correctness
and
   clarity; rendering is unchanged. (`organizations.md`, `idp-sync.md`,
   `add-envbuilder.md`.)

## Scope / what is intentionally not here

- **Generated reference docs.** The audit also found swallowed
placeholders in
  generated pages (`<server>` in `reference/api/{chats,schemas}.md`;
`<glob>`/`<host>` in `agent-firewall`; `<region>` in `server`). Those
are
fixed at the generator source (codersdk comments / CLI flag help) and
tracked
  in DOCS-551.
- **`<b>Resource<b>`** in the generated audit-logs table was fixed
separately in
  #27293 (merged) and is not duplicated here.
- **`<children></children>`** is an intentional, renderer-implemented
docs
component (child-page card grid) with no HTML equivalent, so it is left
as-is.
It is well-formed; a follow-up CI checker will still verify its
open/close
  balance.

A follow-up adds CI enforcement so invalid inline HTML can't regress.

<details>
<summary>Verification</summary>

Run against the changed files:

- `markdownlint-cli2` — 0 errors
- `markdown-table-formatter --check` — no changes needed
- `typos --config .github/workflows/typos.toml` — clean
- Re-running the audit scanner: hand-written `unclosed`, `<kdb>`, and
  capitalized-component findings all drop to 0 (only the generated-doc
  placeholders tracked in DOCS-551 remain).

</details>

## Linear

DOCS-581:
https://linear.app/codercom/issue/DOCS-581/audit-and-fix-all-invalid-html-across-the-docs

> This PR was created with AI assistance (Coder Agents).
2026-07-21 19:59:59 +00:00

2.1 KiB

Windsurf

Windsurf is Codeium's code editor designed for AI-assisted development.

Follow this guide to use Windsurf to access your Coder workspaces.

If your team uses Windsurf regularly, ask your Coder administrator to add Windsurf as a workspace application in your template. You can also use the Windsurf module to easily add Windsurf to your Coder templates.

Install Windsurf

Windsurf can connect to your Coder workspaces via SSH:

  1. Install Windsurf on your local machine.

  2. Open Windsurf and select Get started.

    Import your settings from another IDE, or select Start fresh.

  3. Complete the setup flow and log in or create a Codeium account if you don't have one already.

Install the Coder extension

Coder extension in Windsurf

  1. You can install the Coder extension through the Marketplace built in to Windsurf or manually.

    Extension Marketplace

    Search for Coder from the Extensions Pane and select Install.

    Manually

    1. Download the latest vscode-coder extension .vsix file.

    2. Drag the .vsix file into the extensions pane of Windsurf.

      Alternatively:

      1. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and search for vsix.

      2. Select Extensions: Install from VSIX and select the vscode-coder extension you downloaded.

Open a workspace in Windsurf

  1. From the Windsurf Command Palette (Ctrl+Shift+P or Cmd+Shift+P), enter coder and select Coder: Login.

  2. Follow the prompts to login and copy your session token.

    Paste the session token in the Coder API Key dialogue in Windsurf.

  3. Windsurf prompts you to open a workspace, or you can use the Command Palette to run Coder: Open Workspace.