Skip to content

feat: implement reconciliation loop #17255

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 64 commits into from
Apr 4, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
148dae1
fix: add fallback icons for notifications (#17013)
defelmnq Mar 28, 2025
c679991
docs: edit workspace lifecycle description (#17146)
EdwardAngert Mar 28, 2025
a9574fb
chore(cli): increase timeout for TestSSH_Container subtests (#17148)
johnstcn Mar 28, 2025
ac74c65
test(cli): fix data race in `TestCreateWithRichParameters` (#17128)
mafredri Mar 28, 2025
562a6c9
chore: add .cursorrules config (#17160)
sreya Mar 28, 2025
d3050a7
chore: bump github.com/prometheus/common from 0.62.0 to 0.63.0 (#16959)
dependabot[bot] Mar 28, 2025
9bc727e
chore: add support for one-way websockets to backend (#16853)
Parkreiner Mar 28, 2025
489641d
feat: set icons for each type of notification (#17115)
BrunoQuaresma Mar 31, 2025
8ea956f
feat: add app status tracking to the backend (#17163)
kylecarbs Mar 31, 2025
057cbd4
feat(cli): add `coder exp mcp` command (#17066)
johnstcn Mar 31, 2025
40de51b
chore: bump vite from 5.4.15 to 5.4.16 in /site (#17176)
dependabot[bot] Mar 31, 2025
7b14b4f
chore: update msw to 2.4.8 (#17167)
sreya Mar 31, 2025
8340567
chore: pin goimports to 0.31.0 (#17177)
sreya Apr 1, 2025
989c3ec
chore: pin various dependencies in CI files (#17180)
sreya Apr 1, 2025
cc733ab
ci: check go versions are consistent (#17149)
johnstcn Apr 1, 2025
e4cf189
chore(mcp): fix test flakes (#17183)
johnstcn Apr 1, 2025
7d08bf0
chore: improve error logging in TestServer/EphemeralDeployment (#17184)
hugodutka Apr 1, 2025
3a243c1
fix: remove shared mutable state between oidc tests (#17179)
ethanndickson Apr 1, 2025
1e11e82
fix(mcp): report task status correctly (#17187)
johnstcn Apr 1, 2025
fcac4ab
fix(site): standardize headers for Admin Settings page (#16911)
Parkreiner Apr 1, 2025
037dbc8
docs: add new cursor and windsurf docs (#17092)
EdwardAngert Apr 1, 2025
27d2343
fix(cli): exp mcp: remove unnecessary cli flag (#17190)
johnstcn Apr 1, 2025
583a0c6
feat: add frontend for app statuses (#17178)
kylecarbs Apr 1, 2025
900e125
docs: update SMTP configuration in notifications docs (#17161)
EdwardAngert Apr 1, 2025
f3e5bb9
fix: convert workspace id in db2sdk.WorkspaceAppStatus (#17201)
kylecarbs Apr 1, 2025
88bae05
feat(cli): implement exp mcp configure claude-code command (#17195)
johnstcn Apr 1, 2025
00e1ea4
feat: add the ability to hide preset parameters (#17168)
SasSwart Apr 1, 2025
fd24116
docs: clarify that CODER_EXTERNAL_AUTH_0_ID is used in callback URLs …
bpmct Apr 1, 2025
184c1f0
chore: add db queries for dynamic parameters (#17137)
aslilac Apr 1, 2025
a3248f9
chore(docs): move feature stage docs to install directory (#17199)
stirby Apr 1, 2025
4604f19
refactor: increase workspace and template avatar size (#17200)
BrunoQuaresma Apr 2, 2025
a61c3e7
docs: add tutorials for using early access AI agent features (#17186)
bpmct Apr 2, 2025
c6e8662
fix: watch workspace agent logs (#17209)
code-asher Apr 2, 2025
51ce047
fix: replace aliased import with unaliased import (#17207)
bcpeinhardt Apr 2, 2025
2efb808
docs: remove beta badge from notifications doc (#17096)
EdwardAngert Apr 2, 2025
0125ff4
docs: add new workspace notifications dashboard and config (#16548)
EdwardAngert Apr 2, 2025
0ec87ab
docs: add new section on managing provisioners from the dashboard (#1…
EdwardAngert Apr 2, 2025
d575e7f
chore: force babel dependency to 7.26.10 (#17193)
sreya Apr 2, 2025
6fdad02
fix: avoid sharing `echo.Responses` across tests (#17211)
ethanndickson Apr 2, 2025
b1f5d45
chore: disable e2e-premium tests (#17213)
sreya Apr 2, 2025
d6c034d
chore: pin dogfood npm dependencies (#17216)
sreya Apr 2, 2025
8cecc4f
chore(coderd/coderdtest/oidctest): protect mutable fields with rwmute…
johnstcn Apr 2, 2025
13997ca
docs: clarify details around MCP (#17220)
bpmct Apr 2, 2025
0163dda
ci: linkspector: fix 403 to external site (#17222)
johnstcn Apr 2, 2025
c418e86
chore: slightly soften disclaimers for AI features (#17223)
bpmct Apr 2, 2025
ac0cf35
fix: silence One-Way WebSocket error messages in React Strict Mode (#…
Parkreiner Apr 2, 2025
83d7147
chore: deprecate ResourceSystem (#17217)
spikecurtis Apr 2, 2025
e8b7ce8
ci: re-enable revive and gosec linters (#17225)
johnstcn Apr 2, 2025
0fe7346
docs: remove enterprise from docs (#17226)
EdwardAngert Apr 2, 2025
c938bfe
fix: prevent invalid render output for build logs (#17233)
Parkreiner Apr 2, 2025
c062942
chore: bump next from 14.2.25 to 14.2.26 in /offlinedocs (#17234)
dependabot[bot] Apr 2, 2025
ac7ea08
chore: add files cache for reading template tar archives from db (#17…
aslilac Apr 2, 2025
5979c32
chore: skip flakey e2e tests (#17235)
aslilac Apr 2, 2025
998724d
chore: sort agent `/list-directory` output (#17218)
ethanndickson Apr 3, 2025
4aa45a5
fix(cli): modify `exp mcp configure` to also read claude API key from…
johnstcn Apr 3, 2025
99c6f23
feat: add migrations and queries to support prebuilds (#16891)
SasSwart Apr 3, 2025
aa3d71d
feat(cli): support opening devcontainers in vscode (#17189)
DanielleMaywood Apr 3, 2025
ab8c437
feat(site): open dev container in vscode (#17182)
DanielleMaywood Apr 3, 2025
b60934b
chore: hide workspace creation UI for users without permission (#16871)
jaaydenh Apr 3, 2025
b61f0ab
fix(agent): ensure SSH server shutdown with process groups (#17227)
mafredri Apr 3, 2025
ccfe1bd
fix: fix permissions for workspace creation (#17241)
jaaydenh Apr 3, 2025
ae44ecf
chore: update prismjs to 1.30.0 (#17215)
sreya Apr 3, 2025
4d3aab6
Merge remote-tracking branch 'origin/main' into yevhenii/510-reconcil…
evgeniy-scherbina Apr 4, 2025
97b3886
fix dbmem tests
SasSwart Apr 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
docs: add new cursor and windsurf docs (#17092)
closes #16919 

- [x] cursor doc
- [x] windsurf doc

from
#16919 (comment):
- add to access-workspace
- link to module(s)
- how to windsurf with ssh
- temp: install vsix manually (Windsurf)
   - from <https://github.com/coder/vscode-coder>
- log in first
- search extensions for Coder
- ask your admin to add a module:
https://registry.coder.com/modules/cursor

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: M Atif Ali <atif@coder.com>
  • Loading branch information
3 people authored Apr 1, 2025
commit 037dbc84da95688602c54d60a534cd84ea3d2401
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions docs/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
]
},
Expand Down
62 changes: 62 additions & 0 deletions docs/user-guides/workspace-access/cursor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Cursor

[Cursor](https://cursor.sh/) is a modern IDE built on top of VS Code with enhanced AI capabilities.

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

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. 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

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

<div class="tabs">

## 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.

Alternatively:

1. Open the Command Palette
(<kdb>Ctrl</kdb>+<kdb>Shift</kdb>+<kdb>P</kdb> or <kdb>Cmd</kdb>+<kdb>Shift</kdb>+<kdb>P</kdb>)
and search for `vsix`.

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

</div>

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

1. From the Cursor Command Palette
(<kdb>Ctrl</kdb>+<kdb>Shift</kdb>+<kdb>P</kdb> or <kdb>Cmd</kdb>+<kdb>Shift</kdb>+<kdb>P</kdb>),
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**.
12 changes: 12 additions & 0 deletions docs/user-guides/workspace-access/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,18 @@ 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 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
Expand Down
61 changes: 61 additions & 0 deletions docs/user-guides/workspace-access/windsurf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Windsurf

[Windsurf](https://codeium.com/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.

## 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. 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

![Coder extension in Windsurf](../../images/user-guides/ides/windsurf-coder-extension.png)

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

<div class="tabs">

## Extension Marketplace

1. Search for Coder from the Extensions Pane and select **Install**.

## 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
(<kdb>Ctrl</kdb>+<kdb>Shift</kdb>+<kdb>P</kdb> or <kdb>Cmd</kdb>+<kdb>Shift</kdb>+<kdb>P</kdb>)
and search for `vsix`.

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

</div>

## Open a workspace in Windsurf

1. From the Windsurf Command Palette
(<kdb>Ctrl</kdb>+<kdb>Shift</kdb>+<kdb>P</kdb> or <kdb>Cmd</kdb>+<kdb>Shift</kdb>+<kdb>P</kdb>),
enter `coder` and select **Coder: Login**.

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

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**.
Loading