From 141b0e6d0708b0836488df8e06d07ca6c1825a8f Mon Sep 17 00:00:00 2001 From: Ammar Date: Fri, 14 Nov 2025 11:31:03 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20refactor:=20update=20VS=20Code?= =?UTF-8?q?=20extension=20branding=20from=20'cmux'=20to=20'mux'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update extension name, display name, and description in package.json - Update command IDs from cmux.* to mux.* - Update all user-facing strings in error messages and UI - Fix domain reference to use correct live domain (cmux.io) - Update GitHub workflows to use mux-*.vsix artifact naming - Add VS Code marketplace publishing to release workflow The extension now correctly uses 'mux' as the product name while pointing to the correct documentation domain. Generated with `mux` --- .../actions/build-vscode-extension/action.yml | 2 +- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 10 +++++++++- vscode/CHANGELOG.md | 4 ++-- vscode/README.md | 10 +++++----- vscode/package.json | 16 ++++++++-------- vscode/src/cmuxConfig.ts | 4 ++-- vscode/src/extension.ts | 16 ++++++++-------- vscode/src/workspaceOpener.ts | 6 +++--- 9 files changed, 39 insertions(+), 31 deletions(-) diff --git a/.github/actions/build-vscode-extension/action.yml b/.github/actions/build-vscode-extension/action.yml index e02ff30302..8aebbdbc28 100644 --- a/.github/actions/build-vscode-extension/action.yml +++ b/.github/actions/build-vscode-extension/action.yml @@ -1,5 +1,5 @@ name: "Build VS Code Extension" -description: "Build the cmux VS Code extension" +description: "Build the mux VS Code extension" runs: using: "composite" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a1a14eb1a0..72958a4aeb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,6 +107,6 @@ jobs: uses: actions/upload-artifact@v4 with: name: vscode-extension - path: vscode/cmux-*.vsix + path: vscode/mux-*.vsix retention-days: 30 if-no-files-found: error diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7f4e004ea..c7e9a459ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -77,9 +77,17 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh release upload ${{ github.event.release.tag_name }} \ - vscode/cmux-*.vsix \ + vscode/mux-*.vsix \ --clobber + - name: Publish to VS Code Marketplace + if: secrets.VSCE_PAT != '' + working-directory: vscode + env: + VSCE_PAT: ${{ secrets.VSCE_PAT }} + run: | + bunx vsce publish -p $VSCE_PAT + build-windows: name: Build and Release Windows runs-on: windows-latest diff --git a/vscode/CHANGELOG.md b/vscode/CHANGELOG.md index c0462398e9..98bd7d9dec 100644 --- a/vscode/CHANGELOG.md +++ b/vscode/CHANGELOG.md @@ -1,12 +1,12 @@ # Change Log -All notable changes to the "cmux" extension will be documented in this file. +All notable changes to the "mux" extension will be documented in this file. ## [0.1.0] - 2024-11-11 ### Added - Initial release -- Command to open cmux workspaces from VS Code and Cursor +- Command to open mux workspaces from VS Code and Cursor - Support for local workspaces - Support for SSH workspaces via Remote-SSH extension - Automatically detects VS Code Remote-SSH (`ms-vscode-remote.remote-ssh`) diff --git a/vscode/README.md b/vscode/README.md index 5e65d80ce7..7cdefad3b2 100644 --- a/vscode/README.md +++ b/vscode/README.md @@ -1,18 +1,18 @@ -# cmux VS Code Extension +# mux VS Code Extension -Open [cmux](https://cmux.io) workspaces from VS Code or Cursor. +Open [mux](https://cmux.io) workspaces from VS Code or Cursor. ## Installation -Download the latest `.vsix` from [cmux releases](https://github.com/coder/cmux/releases) and install: +Download the latest `.vsix` from [mux releases](https://github.com/coder/mux/releases) and install: ```bash -code --install-extension cmux-0.1.0.vsix +code --install-extension mux-0.1.0.vsix ``` ## Usage -`Cmd+Shift+P` → "cmux: Open Workspace" → Select workspace +`Cmd+Shift+P` → "mux: Open Workspace" → Select workspace ## Requirements diff --git a/vscode/package.json b/vscode/package.json index 9392b62279..877fe09e37 100644 --- a/vscode/package.json +++ b/vscode/package.json @@ -1,7 +1,7 @@ { - "name": "cmux", - "displayName": "cmux", - "description": "Open cmux workspaces directly from VS Code", + "name": "mux", + "displayName": "mux", + "description": "Open mux workspaces directly from VS Code", "version": "0.1.0", "publisher": "coder", "icon": "icon.png", @@ -15,21 +15,21 @@ "Other" ], "keywords": [ - "cmux", + "mux", "workspace", "remote", "ssh", "development" ], "activationEvents": [ - "onCommand:cmux.openWorkspace" + "onCommand:mux.openWorkspace" ], "main": "./out/extension.js", "contributes": { "commands": [ { - "command": "cmux.openWorkspace", - "title": "cmux: Open Workspace" + "command": "mux.openWorkspace", + "title": "mux: Open Workspace" } ] }, @@ -48,7 +48,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/coder/cmux.git", + "url": "https://github.com/coder/mux.git", "directory": "vscode" }, "license": "AGPL-3.0-only", diff --git a/vscode/src/cmuxConfig.ts b/vscode/src/cmuxConfig.ts index 6bc848454d..50ba2ff8f1 100644 --- a/vscode/src/cmuxConfig.ts +++ b/vscode/src/cmuxConfig.ts @@ -25,13 +25,13 @@ export async function getAllWorkspaces(): Promise { const workspaces = await config.getAllWorkspaceMetadata(); const extensionMeta = readExtensionMetadata(); - console.log(`[cmux] Read ${extensionMeta.size} entries from extension metadata`); + console.log(`[mux] Read ${extensionMeta.size} entries from extension metadata`); // Enrich with extension metadata const enriched: WorkspaceWithContext[] = workspaces.map((ws) => { const meta = extensionMeta.get(ws.id); if (meta) { - console.log(`[cmux] ${ws.id}: recency=${meta.recency}, streaming=${meta.streaming}`); + console.log(`[mux] ${ws.id}: recency=${meta.recency}, streaming=${meta.streaming}`); } return { ...ws, diff --git a/vscode/src/extension.ts b/vscode/src/extension.ts index 165e992a8f..efc5c0da52 100644 --- a/vscode/src/extension.ts +++ b/vscode/src/extension.ts @@ -47,7 +47,7 @@ function createWorkspaceQuickPickItem( } /** - * Command: Open a cmux workspace + * Command: Open a mux workspace */ async function openWorkspaceCommand() { // Get all workspaces, this is intentionally not cached. @@ -55,14 +55,14 @@ async function openWorkspaceCommand() { if (workspaces.length === 0) { const selection = await vscode.window.showInformationMessage( - "No cmux workspaces found. Create a workspace in cmux first.", - "Open cmux" + "No mux workspaces found. Create a workspace in mux first.", + "Open mux" ); - // User can't easily open cmux from VS Code, so just inform them - if (selection === "Open cmux") { + // User can't easily open mux from VS Code, so just inform them + if (selection === "Open mux") { vscode.window.showInformationMessage( - "Please open the cmux application to create workspaces." + "Please open the mux application to create workspaces." ); } return; @@ -75,7 +75,7 @@ async function openWorkspaceCommand() { const quickPick = vscode.window.createQuickPick< vscode.QuickPickItem & { workspace: WorkspaceWithContext } >(); - quickPick.placeholder = "Select a cmux workspace to open"; + quickPick.placeholder = "Select a mux workspace to open"; quickPick.matchOnDescription = true; quickPick.matchOnDetail = false; quickPick.items = allItems; @@ -126,7 +126,7 @@ async function openWorkspaceCommand() { */ export function activate(context: vscode.ExtensionContext) { // Register the openWorkspace command - const disposable = vscode.commands.registerCommand("cmux.openWorkspace", openWorkspaceCommand); + const disposable = vscode.commands.registerCommand("mux.openWorkspace", openWorkspaceCommand); context.subscriptions.push(disposable); } diff --git a/vscode/src/workspaceOpener.ts b/vscode/src/workspaceOpener.ts index 4ae2085745..7cf4d4482c 100644 --- a/vscode/src/workspaceOpener.ts +++ b/vscode/src/workspaceOpener.ts @@ -29,7 +29,7 @@ export async function openWorkspace(workspace: WorkspaceWithContext) { // Check if Remote-SSH is installed if (!isRemoteSshInstalled()) { const selection = await vscode.window.showErrorMessage( - 'cmux: The "Remote - SSH" extension is required to open SSH workspaces. ' + + 'mux: The "Remote - SSH" extension is required to open SSH workspaces. ' + "Please install it from the Extensions marketplace.", "Open Extensions" ); @@ -45,7 +45,7 @@ export async function openWorkspace(workspace: WorkspaceWithContext) { } if (workspace.runtimeConfig.type !== "ssh") { - vscode.window.showErrorMessage("cmux: Workspace is not configured for SSH."); + vscode.window.showErrorMessage("mux: Workspace is not configured for SSH."); return; } @@ -63,7 +63,7 @@ export async function openWorkspace(workspace: WorkspaceWithContext) { }); } catch (error) { const selection = await vscode.window.showErrorMessage( - `cmux: Failed to open SSH workspace on host "${host}". ` + + `mux: Failed to open SSH workspace on host "${host}". ` + `Make sure the host is configured in your ~/.ssh/config or in the Remote-SSH extension. ` + `Error: ${error instanceof Error ? error.message : String(error)}`, "Open SSH Config"