From 48b60bd0b5087377450ba137cc3bef1808f34087 Mon Sep 17 00:00:00 2001
From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Date: Tue, 25 Mar 2025 15:42:25 +0000
Subject: [PATCH 01/10] draft cursor doc
---
docs/manifest.json | 10 +++
docs/user-guides/workspace-access/cursor.md | 81 +++++++++++++++++++
docs/user-guides/workspace-access/index.md | 10 +++
docs/user-guides/workspace-access/windsurf.md | 8 ++
4 files changed, 109 insertions(+)
create mode 100644 docs/user-guides/workspace-access/cursor.md
create mode 100644 docs/user-guides/workspace-access/windsurf.md
diff --git a/docs/manifest.json b/docs/manifest.json
index 7b15d7ac81754..990d0377b67ab 100644
--- a/docs/manifest.json
+++ b/docs/manifest.json
@@ -166,6 +166,16 @@
"title": "Zed",
"description": "Access your workspace with Zed",
"path": "./user-guides/workspace-access/zed.md"
+ },
+ {
+ "title": "Cursor",
+ "description": "Access your workspace with Cursor",
+ "path": "./user-guides/workspace-access/cursor.md"
+ },
+ {
+ "title": "Windsurf",
+ "description": "Access your workspace with Windsurf",
+ "path": "./user-guides/workspace-access/windsurf.md"
}
]
},
diff --git a/docs/user-guides/workspace-access/cursor.md b/docs/user-guides/workspace-access/cursor.md
new file mode 100644
index 0000000000000..71554cac34bf1
--- /dev/null
+++ b/docs/user-guides/workspace-access/cursor.md
@@ -0,0 +1,81 @@
+# Cursor
+
+[Cursor](https://cursor.sh/) is a modern IDE built on top of VS Code with enhanced AI capabilities.
+
+## Connect to Coder via SSH
+
+Cursor can connect to a Coder workspace using SSH:
+
+1. [Install Cursor](https://cursor.sh/) on your local machine
+1. Install the Coder CLI:
+
+
+
+
+
+ ### Linux/macOS
+
+ Our install script is the fastest way to install Coder on Linux/macOS:
+
+ ```sh
+ curl -L https://coder.com/install.sh | sh
+ ```
+
+ Refer to [GitHub releases](https://github.com/coder/coder/releases) for
+ alternate installation methods (e.g. standalone binaries, system packages).
+
+ ### Windows
+
+ Use [GitHub releases](https://github.com/coder/coder/releases) to download the
+ Windows installer (`.msi`) or standalone binary (`.exe`).
+
+ 
+
+ Alternatively, you can use the
+ [`winget`](https://learn.microsoft.com/en-us/windows/package-manager/winget/#use-winget)
+ package manager to install Coder:
+
+ ```powershell
+ winget install Coder.Coder
+ ```
+
+
+
+ Consult the [Coder CLI documentation](../../install/cli.md) for more options.
+
+1. Log in to your Coder deployment and authenticate when prompted:
+
+ ```shell
+ coder login coder.example.com
+ ```
+
+1. Configure Coder SSH:
+
+ ```shell
+ coder config-ssh
+ ```
+
+1. List your available workspaces:
+
+ ```shell
+ coder list
+ ```
+
+1. Open Cursor
+
+1. Download [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh).
+
+1. Download the [latest vscode-coder extension](https://github.com/coder/vscode-coder/releases/latest).
+
+1. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and search for `vsix`.
+
+1. Select **Extensions: Install from VSIX** and select the extensions you downloaded.
+
+1. Select **Connect via SSH** and enter the workspace name as `coder.workspace-name`.
+
+1. After you connect, select **Open Folder** and you can start working on your files.
+
+> [!NOTE]
+> If you have any suggestions or experience any issues, please
+> [create a GitHub issue](https://github.com/coder/coder/issues/new?title=docs%3A+cursor+request+title+here&labels=["customer-reported","docs"]&body=please+enter+your+request+here) or share in
+> [our Discord channel](https://discord.gg/coder).
diff --git a/docs/user-guides/workspace-access/index.md b/docs/user-guides/workspace-access/index.md
index 91d50fe27e727..9b71ab29b0ee4 100644
--- a/docs/user-guides/workspace-access/index.md
+++ b/docs/user-guides/workspace-access/index.md
@@ -80,6 +80,13 @@ desktop client and VSCode in the browser with [code-server](#code-server).
Read more details on [using VSCode in your workspace](./vscode.md).
+## Cursor
+
+[Cursor](https://cursor.sh/) is an IDE built on VS Code with enhanced AI capabilities.
+Cursor connects using SSH and provides AI-assisted development features.
+
+Read more about [using Cursor with your workspace](./cursor.md).
+
## JetBrains IDEs
We support JetBrains IDEs using
@@ -94,6 +101,7 @@ IDEs are supported for remote development:
- RubyMine
- WebStorm
- [JetBrains Fleet](./jetbrains.md#jetbrains-fleet)
+- [Windsurf](./windsurf.md)
Read our [docs on JetBrains Gateway](./jetbrains.md) for more information on
connecting your JetBrains IDEs.
@@ -119,6 +127,8 @@ Supported IDEs:
- RStudio
- Airflow
- File Browser
+- [Cursor](./cursor.md)
+- [Windsurf](./windsurf.md)
Our [Module Registry](https://registry.coder.com/modules) also hosts a variety
of tools for extending the capability of your workspace. If you have a request
diff --git a/docs/user-guides/workspace-access/windsurf.md b/docs/user-guides/workspace-access/windsurf.md
new file mode 100644
index 0000000000000..7828ea0043956
--- /dev/null
+++ b/docs/user-guides/workspace-access/windsurf.md
@@ -0,0 +1,8 @@
+# Windsurf
+
+[Windsurf](https://www.jetbrains.com/windsurf/) is JetBrains and Codeium's collaborative code editor designed for AI-powered development. It combines JetBrains's IDE technology with Codeium's AI capabilities in a lightweight, browser-first experience.
+
+> [!NOTE]
+> If you have any suggestions or experience any issues, please
+> [create a GitHub issue](https://github.com/coder/coder/issues) or share in
+> [our Discord channel](https://discord.gg/coder).
From 1abc2b61fc99876c1008d45775d2717cc56f8afb Mon Sep 17 00:00:00 2001
From: Edward Angert
Date: Tue, 25 Mar 2025 17:36:35 -0400
Subject: [PATCH 02/10] Update docs/user-guides/workspace-access/windsurf.md
---
docs/user-guides/workspace-access/windsurf.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/user-guides/workspace-access/windsurf.md b/docs/user-guides/workspace-access/windsurf.md
index 7828ea0043956..c98edc87c9982 100644
--- a/docs/user-guides/workspace-access/windsurf.md
+++ b/docs/user-guides/workspace-access/windsurf.md
@@ -1,6 +1,6 @@
# Windsurf
-[Windsurf](https://www.jetbrains.com/windsurf/) is JetBrains and Codeium's collaborative code editor designed for AI-powered development. It combines JetBrains's IDE technology with Codeium's AI capabilities in a lightweight, browser-first experience.
+[Windsurf](https://codeium.com/windsurf) Codeium's code editor designed for AI-powered development. It combines JetBrains's IDE with Codeium's AI capabilities in a lightweight, browser-first experience.
> [!NOTE]
> If you have any suggestions or experience any issues, please
From 86d39b84438a361df0c9708b664f831760c7745f Mon Sep 17 00:00:00 2001
From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Date: Tue, 25 Mar 2025 15:52:23 +0000
Subject: [PATCH 03/10] windsurf doc
---
docs/user-guides/workspace-access/windsurf.md | 167 ++++++++++++++++++
1 file changed, 167 insertions(+)
diff --git a/docs/user-guides/workspace-access/windsurf.md b/docs/user-guides/workspace-access/windsurf.md
index c98edc87c9982..b77463b2f4969 100644
--- a/docs/user-guides/workspace-access/windsurf.md
+++ b/docs/user-guides/workspace-access/windsurf.md
@@ -2,6 +2,173 @@
[Windsurf](https://codeium.com/windsurf) Codeium's code editor designed for AI-powered development. It combines JetBrains's IDE with Codeium's AI capabilities in a lightweight, browser-first experience.
+## Connect to Coder via SSH
+
+Windsurf can connect to your Coder workspaces via SSH, similar to other JetBrains products:
+
+1. [Install Windsurf](https://www.jetbrains.com/windsurf/) on your local machine
+1. Install the Coder CLI:
+
+
+
+
+
+ ### Linux/macOS
+
+ Our install script is the fastest way to install Coder on Linux/macOS:
+
+ ```sh
+ curl -L https://coder.com/install.sh | sh
+ ```
+
+ Refer to [GitHub releases](https://github.com/coder/coder/releases) for
+ alternate installation methods (e.g. standalone binaries, system packages).
+
+ ### Windows
+
+ Use [GitHub releases](https://github.com/coder/coder/releases) to download the
+ Windows installer (`.msi`) or standalone binary (`.exe`).
+
+ 
+
+ Alternatively, you can use the
+ [`winget`](https://learn.microsoft.com/en-us/windows/package-manager/winget/#use-winget)
+ package manager to install Coder:
+
+ ```powershell
+ winget install Coder.Coder
+ ```
+
+
+
+ Consult the [Coder CLI documentation](../../install/cli.md) for more options.
+
+1. Log in to your Coder deployment and authenticate when prompted:
+
+ ```shell
+ coder login coder.example.com
+ ```
+
+1. Configure Coder SSH:
+
+ ```shell
+ coder config-ssh
+ ```
+
+1. Connect to your workspace in Windsurf:
+
+ - Launch Windsurf
+ - Select "Connect to Remote Host"
+ - Choose "SSH" as the connection type
+ - Enter "coder.workspace-name" as the host
+ - Windsurf will connect to your workspace, and you can start working
+
+## Features
+
+Windsurf provides several notable features that work well with Coder:
+
+- AI-powered code completion and assistance (powered by Codeium)
+- Real-time collaborative editing
+- Lightweight interface with fast loading times
+- JetBrains code intelligence and smart navigation
+- Extended language support
+- Browser-based development
+- Code chat and AI explanations
+- Multi-cursor editing
+
+## Web-Based Access
+
+Windsurf is designed as a browser-first experience and can be deployed directly in your Coder workspace. There are two main approaches:
+
+### 1. Using Windsurf as a Web Application
+
+Your template administrator can add Windsurf as a workspace application using this Terraform configuration:
+
+```tf
+resource "coder_app" "windsurf" {
+ agent_id = coder_agent.main.id
+ slug = "windsurf"
+ display_name = "Windsurf"
+ icon = "/icon/jetbrains.svg" # Using JetBrains icon
+ url = "http://localhost:8008" # Default Windsurf port
+ subdomain = true
+ share = "authenticated"
+ healthcheck {
+ url = "http://localhost:8008/healthz"
+ interval = 5
+ threshold = 6
+ }
+}
+```
+
+### 2. Installing Windsurf in Your Workspace
+
+You can install Windsurf directly in your workspace:
+
+1. Add the following to your workspace startup script:
+
+```bash
+# Download and install Windsurf
+curl -L "https://download.jetbrains.com/windsurf/windsurf-linux-x64.tar.gz" -o windsurf.tar.gz
+mkdir -p ~/windsurf
+tar -xzf windsurf.tar.gz -C ~/windsurf
+rm windsurf.tar.gz
+
+# Start Windsurf in the background
+~/windsurf/bin/windsurf --port 8008 &
+```
+
+2. Configure a Coder application in your template:
+
+```tf
+resource "coder_agent" "main" {
+ # ... other configuration
+ startup_script = file("./startup.sh") # Include Windsurf installation
+}
+
+resource "coder_app" "windsurf" {
+ agent_id = coder_agent.main.id
+ slug = "windsurf"
+ display_name = "Windsurf"
+ icon = "/icon/jetbrains.svg"
+ url = "http://localhost:8008"
+ subdomain = true
+}
+```
+
+> [!NOTE]
+> The examples above use port 8008, which is common for Windsurf. Your template administrator should adjust this as needed based on your specific configuration.
+
+## Authentication and Collaboration
+
+Windsurf offers several options for authentication and collaboration:
+
+### Codeium Account Integration
+
+You can connect Windsurf to your Codeium account to enable AI features:
+
+1. In Windsurf, click on your profile icon in the top right corner
+2. Select "Sign in with Codeium"
+3. Complete the authentication process
+4. AI features like code completion and chat will now be available
+
+### Collaboration Features
+
+Windsurf excels at real-time collaboration, which works well in Coder environments:
+
+1. To share your session with other users:
+ - Click the "Collaborate" button in the toolbar
+ - Generate a sharing link
+ - Send the link to your collaborators
+
+2. Collaborators can join your session and:
+ - See your cursor and selections in real-time
+ - Make edits that appear instantly
+ - Use the built-in chat to communicate
+ - View and participate in AI code completions
+
+These collaboration features are particularly useful in Coder environments where teams already share infrastructure.
+
> [!NOTE]
> If you have any suggestions or experience any issues, please
> [create a GitHub issue](https://github.com/coder/coder/issues) or share in
From 9acc1b9a7ad5773239f486206d3b9517ce9c957e Mon Sep 17 00:00:00 2001
From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Date: Thu, 27 Mar 2025 15:40:26 +0000
Subject: [PATCH 04/10] expand cursor w coder extension
---
docs/user-guides/workspace-access/cursor.md | 48 +++++++++++++++++----
1 file changed, 39 insertions(+), 9 deletions(-)
diff --git a/docs/user-guides/workspace-access/cursor.md b/docs/user-guides/workspace-access/cursor.md
index 71554cac34bf1..4c85af23e274b 100644
--- a/docs/user-guides/workspace-access/cursor.md
+++ b/docs/user-guides/workspace-access/cursor.md
@@ -2,11 +2,16 @@
[Cursor](https://cursor.sh/) is a modern IDE built on top of VS Code with enhanced AI capabilities.
-## Connect to Coder via SSH
+Use these steps to use Cursor to access your Coder workspaces.
+
+If your team uses Cursor regularly, ask your Coder administrator to add a [Cursor module](https://registry.coder.com/modules/cursor) to your template.
+
+## Install Cursor and Coder CLI
Cursor can connect to a Coder workspace using SSH:
-1. [Install Cursor](https://cursor.sh/) on your local machine
+1. [Install Cursor](https://docs.cursor.com/get-started/installation) on your local machine.
+
1. Install the Coder CLI:
@@ -61,19 +66,44 @@ Cursor can connect to a Coder workspace using SSH:
coder list
```
-1. Open Cursor
+1. Open Cursor and log in or [create a Cursor account](https://authenticator.cursor.sh/sign-up)
+ if you don't have one already.
+
+## Install the Coder extension
+
+
+
+You can install the Coder extension through the Marketplace built in to Cursor or manually.
+
+## Extension Marketplace
+
+1. Search for Coder from the Extensions Pane and select **Install**.
+
+1. Coder Remote uses the **Remote - SSH extension** to connect.
+
+ You can find it in the **Extension Pack** tab of the Coder extension.
+
+## Manually
+
+1. Download the [latest vscode-coder extension](https://github.com/coder/vscode-coder/releases/latest) `.vsix` file.
+
+1. Drag the `.vsix` file into the extensions pane of Cursor.
-1. Download [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh).
+ Alternatively:
-1. Download the [latest vscode-coder extension](https://github.com/coder/vscode-coder/releases/latest).
+ 1. Open the Command Palette
+ (Ctrl+Shift+P or Cmd+Shift+P)
+ and search for `vsix`.
-1. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and search for `vsix`.
+ 1. Select **Extensions: Install from VSIX** and select the vscode-coder extension you downloaded.
-1. Select **Extensions: Install from VSIX** and select the extensions you downloaded.
+
-1. Select **Connect via SSH** and enter the workspace name as `coder.workspace-name`.
+## Open a workspace in Cursor
-1. After you connect, select **Open Folder** and you can start working on your files.
+From the Cursor Command Palette
+(Ctrl+Shift+P or Cmd+Shift+P),
+enter `coder` and select **Coder: Open Workspace**.
> [!NOTE]
> If you have any suggestions or experience any issues, please
From e95fc3b81e9be26da8ecf72fbbd6fdf7c534e7fe Mon Sep 17 00:00:00 2001
From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Date: Thu, 27 Mar 2025 18:22:43 +0000
Subject: [PATCH 05/10] complete windsurf; edit cursor steps
---
docs/user-guides/workspace-access/cursor.md | 42 +++--
docs/user-guides/workspace-access/windsurf.md | 147 +++++-------------
2 files changed, 66 insertions(+), 123 deletions(-)
diff --git a/docs/user-guides/workspace-access/cursor.md b/docs/user-guides/workspace-access/cursor.md
index 4c85af23e274b..d7c6871d6cea9 100644
--- a/docs/user-guides/workspace-access/cursor.md
+++ b/docs/user-guides/workspace-access/cursor.md
@@ -2,7 +2,7 @@
[Cursor](https://cursor.sh/) is a modern IDE built on top of VS Code with enhanced AI capabilities.
-Use these steps to use Cursor to access your Coder workspaces.
+Follow this guide to use Cursor to access your Coder workspaces.
If your team uses Cursor regularly, ask your Coder administrator to add a [Cursor module](https://registry.coder.com/modules/cursor) to your template.
@@ -71,39 +71,49 @@ Cursor can connect to a Coder workspace using SSH:
## Install the Coder extension
-
+1. You can install the Coder extension through the Marketplace built in to Cursor or manually.
-You can install the Coder extension through the Marketplace built in to Cursor or manually.
+
-## Extension Marketplace
+ ## Extension Marketplace
-1. Search for Coder from the Extensions Pane and select **Install**.
+ 1. Search for Coder from the Extensions Pane and select **Install**.
-1. Coder Remote uses the **Remote - SSH extension** to connect.
+ 1. Coder Remote uses the **Remote - SSH extension** to connect.
- You can find it in the **Extension Pack** tab of the Coder extension.
+ You can find it in the **Extension Pack** tab of the Coder extension.
-## Manually
+ ## Manually
-1. Download the [latest vscode-coder extension](https://github.com/coder/vscode-coder/releases/latest) `.vsix` file.
+ 1. Download the [latest vscode-coder extension](https://github.com/coder/vscode-coder/releases/latest) `.vsix` file.
-1. Drag the `.vsix` file into the extensions pane of Cursor.
+ 1. Drag the `.vsix` file into the extensions pane of Cursor.
- Alternatively:
+ Alternatively:
- 1. Open the Command Palette
+ 1. Open the Command Palette
(Ctrl+Shift+P or Cmd+Shift+P)
and search for `vsix`.
- 1. Select **Extensions: Install from VSIX** and select the vscode-coder extension you downloaded.
+ 1. Select **Extensions: Install from VSIX** and select the vscode-coder extension you downloaded.
-
+
+
+1. Coder Remote uses the **Remote - SSH extension** to connect.
+
+ You can find it in the **Extension Pack** tab of the Coder extension.
## Open a workspace in Cursor
-From the Cursor Command Palette
+1. From the Cursor Command Palette
(Ctrl+Shift+P or Cmd+Shift+P),
-enter `coder` and select **Coder: Open Workspace**.
+enter `coder` and select **Coder: Login**.
+
+1. Follow the prompts to login and copy your session token.
+
+ Paste the session token in the **Paste your API key** box in Cursor.
+
+1. Select **Open Workspace** or use the Command Palette to run **Coder: Open Workspace**.
> [!NOTE]
> If you have any suggestions or experience any issues, please
diff --git a/docs/user-guides/workspace-access/windsurf.md b/docs/user-guides/workspace-access/windsurf.md
index b77463b2f4969..4bbc8e81229b3 100644
--- a/docs/user-guides/workspace-access/windsurf.md
+++ b/docs/user-guides/workspace-access/windsurf.md
@@ -1,12 +1,18 @@
# Windsurf
-[Windsurf](https://codeium.com/windsurf) Codeium's code editor designed for AI-powered development. It combines JetBrains's IDE with Codeium's AI capabilities in a lightweight, browser-first experience.
+[Windsurf](https://codeium.com/windsurf) is Codeium's code editor designed for AI-assisted
+development.
-## Connect to Coder via SSH
+Follow this guide to use Windsurf to access your Coder workspaces.
-Windsurf can connect to your Coder workspaces via SSH, similar to other JetBrains products:
+If your team uses Windsurf regularly, ask your Coder administrator to add Windsurf as a workspace application in your template.
+
+## Install Windsurf and Coder CLI
+
+Windsurf can connect to your Coder workspaces via SSH:
+
+1. [Install Windsurf](https://docs.codeium.com/windsurf/getting-started) on your local machine.
-1. [Install Windsurf](https://www.jetbrains.com/windsurf/) on your local machine
1. Install the Coder CLI:
@@ -55,121 +61,48 @@ Windsurf can connect to your Coder workspaces via SSH, similar to other JetBrain
coder config-ssh
```
-1. Connect to your workspace in Windsurf:
-
- - Launch Windsurf
- - Select "Connect to Remote Host"
- - Choose "SSH" as the connection type
- - Enter "coder.workspace-name" as the host
- - Windsurf will connect to your workspace, and you can start working
-
-## Features
-
-Windsurf provides several notable features that work well with Coder:
-
-- AI-powered code completion and assistance (powered by Codeium)
-- Real-time collaborative editing
-- Lightweight interface with fast loading times
-- JetBrains code intelligence and smart navigation
-- Extended language support
-- Browser-based development
-- Code chat and AI explanations
-- Multi-cursor editing
-
-## Web-Based Access
-
-Windsurf is designed as a browser-first experience and can be deployed directly in your Coder workspace. There are two main approaches:
-
-### 1. Using Windsurf as a Web Application
-
-Your template administrator can add Windsurf as a workspace application using this Terraform configuration:
-
-```tf
-resource "coder_app" "windsurf" {
- agent_id = coder_agent.main.id
- slug = "windsurf"
- display_name = "Windsurf"
- icon = "/icon/jetbrains.svg" # Using JetBrains icon
- url = "http://localhost:8008" # Default Windsurf port
- subdomain = true
- share = "authenticated"
- healthcheck {
- url = "http://localhost:8008/healthz"
- interval = 5
- threshold = 6
- }
-}
-```
-
-### 2. Installing Windsurf in Your Workspace
-
-You can install Windsurf directly in your workspace:
-
-1. Add the following to your workspace startup script:
-
-```bash
-# Download and install Windsurf
-curl -L "https://download.jetbrains.com/windsurf/windsurf-linux-x64.tar.gz" -o windsurf.tar.gz
-mkdir -p ~/windsurf
-tar -xzf windsurf.tar.gz -C ~/windsurf
-rm windsurf.tar.gz
-
-# Start Windsurf in the background
-~/windsurf/bin/windsurf --port 8008 &
-```
-
-2. Configure a Coder application in your template:
-
-```tf
-resource "coder_agent" "main" {
- # ... other configuration
- startup_script = file("./startup.sh") # Include Windsurf installation
-}
-
-resource "coder_app" "windsurf" {
- agent_id = coder_agent.main.id
- slug = "windsurf"
- display_name = "Windsurf"
- icon = "/icon/jetbrains.svg"
- url = "http://localhost:8008"
- subdomain = true
-}
-```
+1. List your available workspaces:
-> [!NOTE]
-> The examples above use port 8008, which is common for Windsurf. Your template administrator should adjust this as needed based on your specific configuration.
+ ```shell
+ coder list
+ ```
+
+1. Open Windsurf and select **Get started**.
+
+ Import your settings from another IDE, or select **Start fresh**.
+
+1. Complete the setup flow and log in or [create a Codeium account](https://codeium.com/windsurf/signup)
+ if you don't have one already.
+
+## Install the Coder extension
+
+Use the Coder extension to connect to your workspaces through SSH.
-## Authentication and Collaboration
+1. Download the [latest vscode-coder extension](https://github.com/coder/vscode-coder/releases/latest) `.vsix` file.
-Windsurf offers several options for authentication and collaboration:
+1. Drag the `.vsix` file into the extensions pane of Windsurf.
-### Codeium Account Integration
+ Alternatively:
-You can connect Windsurf to your Codeium account to enable AI features:
+ 1. Open the Command Palette
+ (Ctrl+Shift+P or Cmd+Shift+P)
+ and search for `vsix`.
-1. In Windsurf, click on your profile icon in the top right corner
-2. Select "Sign in with Codeium"
-3. Complete the authentication process
-4. AI features like code completion and chat will now be available
+ 1. Select **Extensions: Install from VSIX** and select the vscode-coder extension you downloaded.
-### Collaboration Features
+## Open a workspace in Windsurf
-Windsurf excels at real-time collaboration, which works well in Coder environments:
+1. From the Windsurf Command Palette
+(Ctrl+Shift+P or Cmd+Shift+P),
+enter `coder` and select **Coder: Login**.
-1. To share your session with other users:
- - Click the "Collaborate" button in the toolbar
- - Generate a sharing link
- - Send the link to your collaborators
+1. Follow the prompts to login and copy your session token.
-2. Collaborators can join your session and:
- - See your cursor and selections in real-time
- - Make edits that appear instantly
- - Use the built-in chat to communicate
- - View and participate in AI code completions
+ Paste the session token in the **Coder API Key** dialogue in Windsurf.
-These collaboration features are particularly useful in Coder environments where teams already share infrastructure.
+1. Windsurf prompts you to open a workspace, or you can use the Command Palette to run **Coder: Open Workspace**.
> [!NOTE]
> If you have any suggestions or experience any issues, please
-> [create a GitHub issue](https://github.com/coder/coder/issues) or share in
+> [create a GitHub issue](https://github.com/coder/coder/issues/new?title=docs%3A+windsurf+request+title+here&labels=["customer-reported","docs"]&body=please+enter+your+request+here) or share in
> [our Discord channel](https://discord.gg/coder).
From 139d64b3e135fd79244da2440463fa06642f5e3d Mon Sep 17 00:00:00 2001
From: Edward Angert
Date: Thu, 27 Mar 2025 22:09:17 -0400
Subject: [PATCH 06/10] remove cli steps; add cursor/windsurf sections
---
docs/user-guides/workspace-access/cursor.md | 58 +------------------
docs/user-guides/workspace-access/index.md | 11 ++--
docs/user-guides/workspace-access/windsurf.md | 56 +-----------------
3 files changed, 10 insertions(+), 115 deletions(-)
diff --git a/docs/user-guides/workspace-access/cursor.md b/docs/user-guides/workspace-access/cursor.md
index d7c6871d6cea9..a134c8281bbb1 100644
--- a/docs/user-guides/workspace-access/cursor.md
+++ b/docs/user-guides/workspace-access/cursor.md
@@ -6,66 +6,12 @@ Follow this guide to use Cursor to access your Coder workspaces.
If your team uses Cursor regularly, ask your Coder administrator to add a [Cursor module](https://registry.coder.com/modules/cursor) to your template.
-## Install Cursor and Coder CLI
+## Install Cursor
-Cursor can connect to a Coder workspace using SSH:
+Cursor can connect to a Coder workspace using the Coder extension:
1. [Install Cursor](https://docs.cursor.com/get-started/installation) on your local machine.
-1. Install the Coder CLI:
-
-
-
-
-
- ### Linux/macOS
-
- Our install script is the fastest way to install Coder on Linux/macOS:
-
- ```sh
- curl -L https://coder.com/install.sh | sh
- ```
-
- Refer to [GitHub releases](https://github.com/coder/coder/releases) for
- alternate installation methods (e.g. standalone binaries, system packages).
-
- ### Windows
-
- Use [GitHub releases](https://github.com/coder/coder/releases) to download the
- Windows installer (`.msi`) or standalone binary (`.exe`).
-
- 
-
- Alternatively, you can use the
- [`winget`](https://learn.microsoft.com/en-us/windows/package-manager/winget/#use-winget)
- package manager to install Coder:
-
- ```powershell
- winget install Coder.Coder
- ```
-
-
-
- Consult the [Coder CLI documentation](../../install/cli.md) for more options.
-
-1. Log in to your Coder deployment and authenticate when prompted:
-
- ```shell
- coder login coder.example.com
- ```
-
-1. Configure Coder SSH:
-
- ```shell
- coder config-ssh
- ```
-
-1. List your available workspaces:
-
- ```shell
- coder list
- ```
-
1. Open Cursor and log in or [create a Cursor account](https://authenticator.cursor.sh/sign-up)
if you don't have one already.
diff --git a/docs/user-guides/workspace-access/index.md b/docs/user-guides/workspace-access/index.md
index 9b71ab29b0ee4..1e84259713b56 100644
--- a/docs/user-guides/workspace-access/index.md
+++ b/docs/user-guides/workspace-access/index.md
@@ -83,10 +83,16 @@ Read more details on [using VSCode in your workspace](./vscode.md).
## Cursor
[Cursor](https://cursor.sh/) is an IDE built on VS Code with enhanced AI capabilities.
-Cursor connects using SSH and provides AI-assisted development features.
+Cursor connects using the Coder extension.
Read more about [using Cursor with your workspace](./cursor.md).
+## Windsurf
+
+[Windsurf](./windsurf.md) is Codeium's code editor designed for AI-assisted development.
+Windsurf connects using the Coder extension.
+
+
## JetBrains IDEs
We support JetBrains IDEs using
@@ -101,7 +107,6 @@ IDEs are supported for remote development:
- RubyMine
- WebStorm
- [JetBrains Fleet](./jetbrains.md#jetbrains-fleet)
-- [Windsurf](./windsurf.md)
Read our [docs on JetBrains Gateway](./jetbrains.md) for more information on
connecting your JetBrains IDEs.
@@ -127,8 +132,6 @@ Supported IDEs:
- RStudio
- Airflow
- File Browser
-- [Cursor](./cursor.md)
-- [Windsurf](./windsurf.md)
Our [Module Registry](https://registry.coder.com/modules) also hosts a variety
of tools for extending the capability of your workspace. If you have a request
diff --git a/docs/user-guides/workspace-access/windsurf.md b/docs/user-guides/workspace-access/windsurf.md
index 4bbc8e81229b3..0f60104366881 100644
--- a/docs/user-guides/workspace-access/windsurf.md
+++ b/docs/user-guides/workspace-access/windsurf.md
@@ -7,66 +7,12 @@ 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.
-## Install Windsurf and Coder CLI
+## Install Windsurf
Windsurf can connect to your Coder workspaces via SSH:
1. [Install Windsurf](https://docs.codeium.com/windsurf/getting-started) on your local machine.
-1. Install the Coder CLI:
-
-
-
-
-
- ### Linux/macOS
-
- Our install script is the fastest way to install Coder on Linux/macOS:
-
- ```sh
- curl -L https://coder.com/install.sh | sh
- ```
-
- Refer to [GitHub releases](https://github.com/coder/coder/releases) for
- alternate installation methods (e.g. standalone binaries, system packages).
-
- ### Windows
-
- Use [GitHub releases](https://github.com/coder/coder/releases) to download the
- Windows installer (`.msi`) or standalone binary (`.exe`).
-
- 
-
- Alternatively, you can use the
- [`winget`](https://learn.microsoft.com/en-us/windows/package-manager/winget/#use-winget)
- package manager to install Coder:
-
- ```powershell
- winget install Coder.Coder
- ```
-
-
-
- Consult the [Coder CLI documentation](../../install/cli.md) for more options.
-
-1. Log in to your Coder deployment and authenticate when prompted:
-
- ```shell
- coder login coder.example.com
- ```
-
-1. Configure Coder SSH:
-
- ```shell
- coder config-ssh
- ```
-
-1. List your available workspaces:
-
- ```shell
- coder list
- ```
-
1. Open Windsurf and select **Get started**.
Import your settings from another IDE, or select **Start fresh**.
From 2fd804e38a973c2108e74ee870b1fb6d2593e6fe Mon Sep 17 00:00:00 2001
From: Edward Angert
Date: Fri, 28 Mar 2025 16:22:21 -0400
Subject: [PATCH 07/10] Apply suggestions from code review
Co-authored-by: M Atif Ali
---
docs/user-guides/workspace-access/cursor.md | 4 ----
docs/user-guides/workspace-access/windsurf.md | 4 ----
2 files changed, 8 deletions(-)
diff --git a/docs/user-guides/workspace-access/cursor.md b/docs/user-guides/workspace-access/cursor.md
index a134c8281bbb1..5a3a191907760 100644
--- a/docs/user-guides/workspace-access/cursor.md
+++ b/docs/user-guides/workspace-access/cursor.md
@@ -61,7 +61,3 @@ enter `coder` and select **Coder: Login**.
1. Select **Open Workspace** or use the Command Palette to run **Coder: Open Workspace**.
-> [!NOTE]
-> If you have any suggestions or experience any issues, please
-> [create a GitHub issue](https://github.com/coder/coder/issues/new?title=docs%3A+cursor+request+title+here&labels=["customer-reported","docs"]&body=please+enter+your+request+here) or share in
-> [our Discord channel](https://discord.gg/coder).
diff --git a/docs/user-guides/workspace-access/windsurf.md b/docs/user-guides/workspace-access/windsurf.md
index 0f60104366881..3e388c39e3103 100644
--- a/docs/user-guides/workspace-access/windsurf.md
+++ b/docs/user-guides/workspace-access/windsurf.md
@@ -48,7 +48,3 @@ enter `coder` and select **Coder: Login**.
1. Windsurf prompts you to open a workspace, or you can use the Command Palette to run **Coder: Open Workspace**.
-> [!NOTE]
-> If you have any suggestions or experience any issues, please
-> [create a GitHub issue](https://github.com/coder/coder/issues/new?title=docs%3A+windsurf+request+title+here&labels=["customer-reported","docs"]&body=please+enter+your+request+here) or share in
-> [our Discord channel](https://discord.gg/coder).
From 5b8f2cec2b563ffe747c2cb2c37f738c917cdede Mon Sep 17 00:00:00 2001
From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Date: Fri, 28 Mar 2025 21:10:22 +0000
Subject: [PATCH 08/10] make lint/fmt
---
docs/user-guides/workspace-access/cursor.md | 1 -
docs/user-guides/workspace-access/index.md | 1 -
docs/user-guides/workspace-access/windsurf.md | 1 -
3 files changed, 3 deletions(-)
diff --git a/docs/user-guides/workspace-access/cursor.md b/docs/user-guides/workspace-access/cursor.md
index 5a3a191907760..7891d832f7045 100644
--- a/docs/user-guides/workspace-access/cursor.md
+++ b/docs/user-guides/workspace-access/cursor.md
@@ -60,4 +60,3 @@ enter `coder` and select **Coder: Login**.
Paste the session token in the **Paste your API key** box in Cursor.
1. Select **Open Workspace** or use the Command Palette to run **Coder: Open Workspace**.
-
diff --git a/docs/user-guides/workspace-access/index.md b/docs/user-guides/workspace-access/index.md
index 1e84259713b56..7d9adb7425290 100644
--- a/docs/user-guides/workspace-access/index.md
+++ b/docs/user-guides/workspace-access/index.md
@@ -92,7 +92,6 @@ Read more about [using Cursor with your workspace](./cursor.md).
[Windsurf](./windsurf.md) is Codeium's code editor designed for AI-assisted development.
Windsurf connects using the Coder extension.
-
## JetBrains IDEs
We support JetBrains IDEs using
diff --git a/docs/user-guides/workspace-access/windsurf.md b/docs/user-guides/workspace-access/windsurf.md
index 3e388c39e3103..65ee43de29054 100644
--- a/docs/user-guides/workspace-access/windsurf.md
+++ b/docs/user-guides/workspace-access/windsurf.md
@@ -47,4 +47,3 @@ enter `coder` and select **Coder: Login**.
Paste the session token in the **Coder API Key** dialogue in Windsurf.
1. Windsurf prompts you to open a workspace, or you can use the Command Palette to run **Coder: Open Workspace**.
-
From d5eeff86b7e201293b0a53f038d01743736fc891 Mon Sep 17 00:00:00 2001
From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Date: Tue, 1 Apr 2025 14:51:27 +0000
Subject: [PATCH 09/10] coder ext in marketplace
---
docs/user-guides/workspace-access/windsurf.md | 22 ++++++++++++++-----
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/docs/user-guides/workspace-access/windsurf.md b/docs/user-guides/workspace-access/windsurf.md
index 65ee43de29054..d35df80a903e8 100644
--- a/docs/user-guides/workspace-access/windsurf.md
+++ b/docs/user-guides/workspace-access/windsurf.md
@@ -22,19 +22,29 @@ Windsurf can connect to your Coder workspaces via SSH:
## Install the Coder extension
-Use the Coder extension to connect to your workspaces through SSH.
+1. You can install the Coder extension through the Marketplace built in to Windsurf or manually.
-1. Download the [latest vscode-coder extension](https://github.com/coder/vscode-coder/releases/latest) `.vsix` file.
+
-1. Drag the `.vsix` file into the extensions pane of Windsurf.
+ ## Extension Marketplace
- Alternatively:
+ 1. Search for Coder from the Extensions Pane and select **Install**.
- 1. Open the Command Palette
+ ## Manually
+
+ 1. Download the [latest vscode-coder extension](https://github.com/coder/vscode-coder/releases/latest) `.vsix` file.
+
+ 1. 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`.
- 1. Select **Extensions: Install from VSIX** and select the vscode-coder extension you downloaded.
+ 1. Select **Extensions: Install from VSIX** and select the vscode-coder extension you downloaded.
+
+
## Open a workspace in Windsurf
From 8427d474ea0eb38ba8ab28449c25b998c6814293 Mon Sep 17 00:00:00 2001
From: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Date: Tue, 1 Apr 2025 14:55:04 +0000
Subject: [PATCH 10/10] add extension screenshot
---
.../ides/windsurf-coder-extension.png | Bin 0 -> 107636 bytes
docs/user-guides/workspace-access/windsurf.md | 2 ++
2 files changed, 2 insertions(+)
create mode 100644 docs/images/user-guides/ides/windsurf-coder-extension.png
diff --git a/docs/images/user-guides/ides/windsurf-coder-extension.png b/docs/images/user-guides/ides/windsurf-coder-extension.png
new file mode 100644
index 0000000000000000000000000000000000000000..90636dadfa7d8de2af0436495391be8842e29438
GIT binary patch
literal 107636
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