diff --git a/.cline/skills/publish-desktop/SKILL.md b/.cline/skills/publish-desktop/SKILL.md index d35982bacd..76c7f4f802 100644 --- a/.cline/skills/publish-desktop/SKILL.md +++ b/.cline/skills/publish-desktop/SKILL.md @@ -1,11 +1,11 @@ --- name: publish-desktop -description: Use when preparing, tagging, and publishing a Cline Code desktop app (apps/examples/desktop-app) release — stable (desktop-vX.Y.Z from main) or beta (desktop-vX.Y.Z-beta.N from desktop-experimental, shipped as the side-by-side "Cline Code Beta" app). Guides changelog drafting, version bumps in package.json + tauri.conf.json, tagging, and the desktop-publish GitHub workflow that builds, signs, notarizes, and updates the per-channel auto-update feed. +description: Use when preparing, tagging, and publishing a Cline desktop app (apps/examples/desktop-app) release — stable (desktop-vX.Y.Z from main) or beta (desktop-vX.Y.Z-beta.N from desktop-experimental, shipped as the side-by-side "Cline Beta" app). Guides changelog drafting, version bumps in package.json + tauri.conf.json, tagging, and the desktop-publish GitHub workflow that builds, signs, notarizes, and updates the per-channel auto-update feed. --- # Desktop App Release -Use this skill when the user asks to release the desktop app, publish Cline Code, cut a desktop beta, bump the desktop version, create a `desktop-vX.Y.Z` (or `desktop-vX.Y.Z-beta.N`) tag, or trigger the desktop publish workflow. +Use this skill when the user asks to release the desktop app, publish the Cline desktop app, cut a desktop beta, bump the desktop version, create a `desktop-vX.Y.Z` (or `desktop-vX.Y.Z-beta.N`) tag, or trigger the desktop publish workflow. > Working directory: run every command below from the repository root. @@ -14,8 +14,8 @@ Desktop releases are macOS-only today (a single signed + notarized universal DMG ## Release contract - Two channels, one workflow (`channel` input on `desktop-publish.yml`): - - **stable** — tag `desktop-vX.Y.Z` (no suffix; the workflow rejects prerelease suffixes on this channel), cut from `main`, feeds the rolling `desktop-latest` release, ships as "Cline Code". - - **beta** — tag `desktop-vX.Y.Z-beta.N`, cut from `desktop-experimental`, feeds the rolling `desktop-beta` release, ships as "Cline Code Beta" (separate bundle identifier `bot.cline.app.beta`; installs side by side with stable). Built with the extra `src-tauri/tauri.beta.conf.json` overlay. Process background: `apps/examples/desktop-app/EXPERIMENTAL.md`. + - **stable** — tag `desktop-vX.Y.Z` (no suffix; the workflow rejects prerelease suffixes on this channel), cut from `main`, feeds the rolling `desktop-latest` release, ships as "Cline". + - **beta** — tag `desktop-vX.Y.Z-beta.N`, cut from `desktop-experimental`, feeds the rolling `desktop-beta` release, ships as "Cline Beta" (separate bundle identifier `bot.cline.app.beta`; installs side by side with stable). Built with the extra `src-tauri/tauri.beta.conf.json` overlay. Process background: `apps/examples/desktop-app/EXPERIMENTAL.md`. - Version sources (must match each other and the tag): `apps/examples/desktop-app/package.json` and `apps/examples/desktop-app/src-tauri/tauri.conf.json`. (`src-tauri/Cargo.toml` has its own version but `tauri.conf.json` overrides it; no need to touch it.) - Beta versions are prereleases of the **next** stable: stable `0.0.13` → betas `0.0.14-beta.1`, `-beta.2`, … Once a stable ≥ the beta base ships, the next beta bumps its base (`0.0.15-beta.1`). - Release prep includes approved release notes, the version bumps, and an `apps/examples/desktop-app/CHANGELOG.md` update — committed on `main` for stable, on `desktop-experimental` for beta. diff --git a/.github/workflows/desktop-publish.yml b/.github/workflows/desktop-publish.yml index 39e0033092..e04c10449a 100644 --- a/.github/workflows/desktop-publish.yml +++ b/.github/workflows/desktop-publish.yml @@ -111,7 +111,7 @@ jobs: fi ANCESTOR_REF=main FEED=desktop-latest - PRODUCT="Cline Code" + PRODUCT="Cline" ;; beta) if ! printf "%s\n" "$TAG" | grep -Eq '^desktop-v[0-9]+\.[0-9]+\.[0-9]+-beta\.[0-9]+$'; then @@ -120,7 +120,7 @@ jobs: fi ANCESTOR_REF=desktop-experimental FEED=desktop-beta - PRODUCT="Cline Code Beta" + PRODUCT="Cline Beta" ;; *) echo "unknown channel: ${CHANNEL}" @@ -435,7 +435,7 @@ jobs: OUT="dist/publish" mkdir -p "$OUT" - # "Cline Code" -> Cline-Code, "Cline Code Beta" -> Cline-Code-Beta + # "Cline" -> Cline, "Cline Beta" -> Cline-Beta PREFIX="${PRODUCT// /-}" DMG=$(find "$BUNDLE_DIR/dmg" -name '*.dmg' -print -quit) @@ -607,14 +607,14 @@ jobs: if ! gh release view "$FEED" >/dev/null 2>&1; then if [ "$CHANNEL" = "beta" ]; then gh release create "$FEED" \ - --title "Cline Code desktop beta (auto-update feed)" \ + --title "Cline desktop beta (auto-update feed)" \ --notes "Rolling release backing the beta desktop app auto-updater. The latest.json asset points at the newest desktop-vX.Y.Z-beta.N release. Only beta installs poll this feed; stable installs use desktop-latest. Do not delete." \ --latest=false \ --prerelease \ --target "$(git rev-parse HEAD)" else gh release create "$FEED" \ - --title "Cline Code desktop (auto-update feed)" \ + --title "Cline desktop (auto-update feed)" \ --notes "Rolling release backing the desktop app auto-updater. The latest.json asset points at the newest desktop-vX.Y.Z release. Do not delete." \ --latest=false \ --target "$(git rev-parse HEAD)" @@ -628,7 +628,7 @@ jobs: TAG: ${{ needs.validate.outputs.tag }} FEED: ${{ needs.validate.outputs.feed }} run: | - echo "Published Cline Code desktop v${VERSION}" + echo "Published Cline desktop v${VERSION}" echo "Release: https://github.com/${GITHUB_REPOSITORY}/releases/tag/${TAG}" echo "Auto-update feed refreshed: https://github.com/${GITHUB_REPOSITORY}/releases/download/${FEED}/latest.json" @@ -639,12 +639,12 @@ jobs: token: ${{ secrets.SLACK_RELEASE_BOT_TOKEN }} payload: | channel: "C0APVKGGZFC" - text: "Cline Code desktop v${{ needs.validate.outputs.version }}${{ needs.validate.outputs.channel == 'beta' && ' (beta)' || '' }}" + text: "Cline desktop v${{ needs.validate.outputs.version }}${{ needs.validate.outputs.channel == 'beta' && ' (beta)' || '' }}" blocks: - type: "section" text: type: "mrkdwn" - text: "Cline Code desktop v${{ needs.validate.outputs.version }}${{ needs.validate.outputs.channel == 'beta' && ' (beta)' || '' }}" + text: "Cline desktop v${{ needs.validate.outputs.version }}${{ needs.validate.outputs.channel == 'beta' && ' (beta)' || '' }}" - type: "section" text: type: "mrkdwn" diff --git a/apps/cline-hub/src/server/session-mapping.ts b/apps/cline-hub/src/server/session-mapping.ts index 04ad70ea93..068dd3a725 100644 --- a/apps/cline-hub/src/server/session-mapping.ts +++ b/apps/cline-hub/src/server/session-mapping.ts @@ -88,7 +88,7 @@ function summarizeClient(client: TrackedClient): { normalizedType === "code-sidecar-observer" || normalizedType === "code-sidecar-list" ) { - return { key: "code-app", label: "Code App", name: "Code App" }; + return { key: "code-app", label: "Cline Desktop", name: "Cline Desktop" }; } return { key: client.clientId, diff --git a/apps/examples/desktop-app/CHANGELOG.md b/apps/examples/desktop-app/CHANGELOG.md index 0c4884950c..5de546e09a 100644 --- a/apps/examples/desktop-app/CHANGELOG.md +++ b/apps/examples/desktop-app/CHANGELOG.md @@ -1,4 +1,4 @@ -# Cline Code Desktop Changelog +# Cline Desktop Changelog ## 0.0.14 diff --git a/apps/examples/desktop-app/EXPERIMENTAL.md b/apps/examples/desktop-app/EXPERIMENTAL.md index 087ba7e828..d532aa13ad 100644 --- a/apps/examples/desktop-app/EXPERIMENTAL.md +++ b/apps/examples/desktop-app/EXPERIMENTAL.md @@ -1,7 +1,7 @@ # Desktop Experimental Branch & Beta Channel How experimental desktop features are developed on the `desktop-experimental` -branch, shipped to users as **Cline Code Beta**, and graduated into `main`. +branch, shipped to users as **Cline Beta**, and graduated into `main`. The release mechanics (workflow internals, secrets) live in [`.github/workflows/desktop-publish.yml`](../../../.github/workflows/desktop-publish.yml) and the `publish-desktop` skill @@ -12,8 +12,8 @@ this doc is the process. The beta is a **separate app**, not a mode of the stable app: -- Product name `Cline Code Beta`, bundle identifier `bot.cline.app.beta` - (stable is `Cline Code` / `bot.cline.app`) — set by +- Product name `Cline Beta`, bundle identifier `bot.cline.app.beta` + (stable is `Cline` / `bot.cline.app`) — set by [`src-tauri/tauri.beta.conf.json`](./src-tauri/tauri.beta.conf.json), which is layered over `tauri.release.conf.json` at build time. - Both apps install and run **side by side**, so people can compare beta diff --git a/apps/examples/desktop-app/README.md b/apps/examples/desktop-app/README.md index 78f03c822c..b6eeadd218 100644 --- a/apps/examples/desktop-app/README.md +++ b/apps/examples/desktop-app/README.md @@ -55,7 +55,7 @@ lost: the `desktop-latest` release/tag (its feed URL is baked into shipped apps) and the updater private key (`TAURI_SIGNING_PRIVATE_KEY` — without it, shipped apps can't verify new updates). -There is also a beta channel ("Cline Code Beta", a separate app that installs +There is also a beta channel ("Cline Beta", a separate app that installs side by side with stable) cut from the `desktop-experimental` branch and served by the rolling `desktop-beta` release — the same never-delete rule applies to it. The experimental-branch process and beta release flow live in diff --git a/apps/examples/desktop-app/scripts/generate-update-manifest.ts b/apps/examples/desktop-app/scripts/generate-update-manifest.ts index 733c8da565..3ae65544f8 100644 --- a/apps/examples/desktop-app/scripts/generate-update-manifest.ts +++ b/apps/examples/desktop-app/scripts/generate-update-manifest.ts @@ -121,7 +121,7 @@ const main = () => { const notes = notesFile ? readFileSync(notesFile, "utf8").trim() - : `Cline Code v${version}`; + : `Cline v${version}`; const manifest = buildUpdateManifest({ version, diff --git a/apps/examples/desktop-app/scripts/package-desktop.ts b/apps/examples/desktop-app/scripts/package-desktop.ts index deeb13ce2c..0432c545f7 100644 --- a/apps/examples/desktop-app/scripts/package-desktop.ts +++ b/apps/examples/desktop-app/scripts/package-desktop.ts @@ -15,7 +15,7 @@ const BOOLEAN_FLAGS = new Set(["--allow-unsigned-mac", "--skip-build"]); const VALUE_FLAGS = new Set(["--platform", "--target"]); const VALID_FLAGS = [...BOOLEAN_FLAGS, ...VALUE_FLAGS]; -const APP_NAME = "Cline Code"; +const APP_NAME = "Cline"; const APP_ROOT = path.resolve(import.meta.dir, ".."); const BUNDLE_ROOT = path.join( APP_ROOT, diff --git a/apps/examples/desktop-app/sidecar/ARCHITECTURE.md b/apps/examples/desktop-app/sidecar/ARCHITECTURE.md index d7b94b9009..45099d4d0e 100644 --- a/apps/examples/desktop-app/sidecar/ARCHITECTURE.md +++ b/apps/examples/desktop-app/sidecar/ARCHITECTURE.md @@ -49,7 +49,7 @@ const sessionManager = await ClineCore.create({ workspaceRoot, cwd: workspaceRoot, clientType: "code-sidecar", - displayName: "Code App sidecar", + displayName: "Cline Desktop sidecar", }, capabilities: { requestToolApproval: async (request) => { diff --git a/apps/examples/desktop-app/sidecar/context.test.ts b/apps/examples/desktop-app/sidecar/context.test.ts index 0ec840310d..fd3ddb71e1 100644 --- a/apps/examples/desktop-app/sidecar/context.test.ts +++ b/apps/examples/desktop-app/sidecar/context.test.ts @@ -80,7 +80,7 @@ describe("Code sidecar runtime capabilities", () => { }); }); - it("registers Code App capability factory with core", async () => { + it("registers the desktop capability factory with core", async () => { const { createSidecarContext, initializeSessionManager } = await import( "./context" ); @@ -102,7 +102,7 @@ describe("Code sidecar runtime capabilities", () => { workspaceRoot: "/workspace/project", cwd: "/workspace/project", clientType: "code-sidecar", - displayName: "Code App sidecar", + displayName: "Cline Desktop sidecar", }), }), ); @@ -113,7 +113,7 @@ describe("Code sidecar runtime capabilities", () => { expect.objectContaining({ url: "ws://127.0.0.1:25463/hub", clientType: "code-sidecar-observer", - displayName: "Code App observer", + displayName: "Cline Desktop observer", }), ); }); @@ -578,7 +578,7 @@ describe("Code sidecar runtime capabilities", () => { hub: expect.objectContaining({ strategy: "require-hub", clientType: "code-sidecar", - displayName: "Code App sidecar", + displayName: "Cline Desktop sidecar", }), }), ); diff --git a/apps/examples/desktop-app/sidecar/context.ts b/apps/examples/desktop-app/sidecar/context.ts index 5a4a1d9a7f..74540c9a52 100644 --- a/apps/examples/desktop-app/sidecar/context.ts +++ b/apps/examples/desktop-app/sidecar/context.ts @@ -851,7 +851,7 @@ export async function initializeSessionManager( workspaceRoot: ctx.workspaceRoot, cwd: ctx.workspaceRoot, clientType: "code-sidecar", - displayName: "Code App sidecar", + displayName: "Cline Desktop sidecar", }, }); @@ -899,7 +899,7 @@ export async function ensureSharedHubClient( const client = new NodeHubClient({ url, clientType: "code-sidecar-observer", - displayName: "Code App observer", + displayName: "Cline Desktop observer", workspaceRoot: ctx.workspaceRoot, cwd: ctx.workspaceRoot, }); diff --git a/apps/examples/desktop-app/sidecar/observability.test.ts b/apps/examples/desktop-app/sidecar/observability.test.ts index 19ce913338..f10ea83421 100644 --- a/apps/examples/desktop-app/sidecar/observability.test.ts +++ b/apps/examples/desktop-app/sidecar/observability.test.ts @@ -58,7 +58,7 @@ describe("desktop observability", () => { expect(mocks.createClineTelemetryServiceConfig).toHaveBeenCalledWith({ metadata: expect.objectContaining({ cline_type: "desktop", - platform: "Cline Code", + platform: "Cline", }), }); expect(mocks.createConfiguredTelemetryHandle).toHaveBeenCalledWith( diff --git a/apps/examples/desktop-app/sidecar/observability.ts b/apps/examples/desktop-app/sidecar/observability.ts index 50c59e7ef4..c4b20f38bf 100644 --- a/apps/examples/desktop-app/sidecar/observability.ts +++ b/apps/examples/desktop-app/sidecar/observability.ts @@ -30,7 +30,7 @@ export function createDesktopObservability(): DesktopObservability { metadata: { extension_version: version, cline_type: "desktop", - platform: "Cline Code", + platform: "Cline", platform_version: process.version, os_type: os.platform(), os_version: os.version(), diff --git a/apps/examples/desktop-app/src-tauri/Info.plist b/apps/examples/desktop-app/src-tauri/Info.plist index c2d8e132fa..961bf2ca44 100644 --- a/apps/examples/desktop-app/src-tauri/Info.plist +++ b/apps/examples/desktop-app/src-tauri/Info.plist @@ -3,6 +3,6 @@ NSMicrophoneUsageDescription - Cline Code uses the microphone to transcribe speech into chat input. + Cline uses the microphone to transcribe speech into chat input. diff --git a/apps/examples/desktop-app/src-tauri/src/macos_notification.rs b/apps/examples/desktop-app/src-tauri/src/macos_notification.rs index f9e4f21d9a..e298990c88 100644 --- a/apps/examples/desktop-app/src-tauri/src/macos_notification.rs +++ b/apps/examples/desktop-app/src-tauri/src/macos_notification.rs @@ -6,7 +6,7 @@ use std::sync::OnceLock; use tauri::AppHandle; const DEV_APP_DIRECTORY: &str = "notification-identity"; -const DEV_BUNDLE_NAME: &str = "Cline Code.app"; +const DEV_BUNDLE_NAME: &str = "Cline.app"; const LAUNCH_SERVICES_REGISTER: &str = "/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister"; static CONFIGURATION: OnceLock> = OnceLock::new(); @@ -200,17 +200,13 @@ mod tests { fs::write(&executable, b"test executable").unwrap(); fs::write(&icon, b"test icon").unwrap(); - let bundle = create_dev_application_bundle( - &executable, - &icon, - "bot.cline.app.dev", - "Cline Code Dev", - ) - .unwrap(); + let bundle = + create_dev_application_bundle(&executable, &icon, "bot.cline.app.dev", "Cline Dev") + .unwrap(); let plist = fs::read_to_string(bundle.join("Contents/Info.plist")).unwrap(); assert!(plist.contains("bot.cline.app.dev")); - assert!(plist.contains("Cline Code Dev")); + assert!(plist.contains("Cline Dev")); assert_eq!( fs::read_link(bundle.join("Contents/MacOS/cline-app")).unwrap(), executable diff --git a/apps/examples/desktop-app/src-tauri/src/main.rs b/apps/examples/desktop-app/src-tauri/src/main.rs index ee0bee3467..e291781b2f 100644 --- a/apps/examples/desktop-app/src-tauri/src/main.rs +++ b/apps/examples/desktop-app/src-tauri/src/main.rs @@ -162,7 +162,7 @@ fn running_sessions_text(running_sessions: u32) -> String { } // app_name is package_info().name (the configured productName), so beta -// builds ("Cline Code Beta") identify themselves in the tooltip too. +// builds ("Cline Beta") identify themselves in the tooltip too. fn tray_tooltip_text(app_name: &str, running_sessions: u32) -> String { if running_sessions == 0 { app_name.to_string() @@ -1036,7 +1036,7 @@ fn setup_tray_icon(app: &tauri::App) -> tauri::Result<()> { .text( TRAY_OPEN_MENU_ID, // package_info().name is the configured productName, so beta - // builds ("Cline Code Beta") identify themselves in the tray too. + // builds ("Cline Beta") identify themselves in the tray too. format!( "{} v{}", app.package_info().name, @@ -1326,14 +1326,11 @@ mod tests { assert_eq!(running_sessions_text(0), "0 sessions running"); assert_eq!(running_sessions_text(1), "1 session running"); assert_eq!(running_sessions_text(3), "3 sessions running"); - assert_eq!(tray_tooltip_text("Cline Code", 0), "Cline Code"); + assert_eq!(tray_tooltip_text("Cline", 0), "Cline"); + assert_eq!(tray_tooltip_text("Cline", 3), "Cline — 3 sessions running"); assert_eq!( - tray_tooltip_text("Cline Code", 3), - "Cline Code — 3 sessions running" - ); - assert_eq!( - tray_tooltip_text("Cline Code Beta", 2), - "Cline Code Beta — 2 sessions running" + tray_tooltip_text("Cline Beta", 2), + "Cline Beta — 2 sessions running" ); assert_eq!(tray_badge_text(0), None); assert_eq!(tray_badge_text(3), Some("3".to_string())); diff --git a/apps/examples/desktop-app/src-tauri/tauri.beta.conf.json b/apps/examples/desktop-app/src-tauri/tauri.beta.conf.json index ed9234cb21..b3eb60e20c 100644 --- a/apps/examples/desktop-app/src-tauri/tauri.beta.conf.json +++ b/apps/examples/desktop-app/src-tauri/tauri.beta.conf.json @@ -1,6 +1,6 @@ { "$schema": "https://schema.tauri.app/config/2", - "productName": "Cline Code Beta", + "productName": "Cline Beta", "identifier": "bot.cline.app.beta", "plugins": { "updater": { diff --git a/apps/examples/desktop-app/src-tauri/tauri.conf.json b/apps/examples/desktop-app/src-tauri/tauri.conf.json index 5ff06bc116..e78ba88c67 100644 --- a/apps/examples/desktop-app/src-tauri/tauri.conf.json +++ b/apps/examples/desktop-app/src-tauri/tauri.conf.json @@ -1,6 +1,6 @@ { "$schema": "https://schema.tauri.app/config/2", - "productName": "Cline Code", + "productName": "Cline", "version": "0.0.14", "identifier": "bot.cline.app", "build": { @@ -21,7 +21,7 @@ "windows": [ { "label": "main", - "title": "Cline Code", + "title": "Cline", "width": 1500, "height": 980, "resizable": true, diff --git a/apps/examples/desktop-app/src-tauri/tauri.dev.conf.json b/apps/examples/desktop-app/src-tauri/tauri.dev.conf.json index a1b88b10dd..54855be112 100644 --- a/apps/examples/desktop-app/src-tauri/tauri.dev.conf.json +++ b/apps/examples/desktop-app/src-tauri/tauri.dev.conf.json @@ -1,5 +1,5 @@ { "$schema": "https://schema.tauri.app/config/2", - "productName": "Cline Code Dev", + "productName": "Cline Dev", "identifier": "bot.cline.app.dev" } diff --git a/apps/examples/desktop-app/webview/components/agent-sidebar.test.tsx b/apps/examples/desktop-app/webview/components/agent-sidebar.test.tsx index 4818707583..5adde4b0c9 100644 --- a/apps/examples/desktop-app/webview/components/agent-sidebar.test.tsx +++ b/apps/examples/desktop-app/webview/components/agent-sidebar.test.tsx @@ -536,7 +536,7 @@ describe("AgentSidebar session organization", () => { const titleBar = container.querySelector("[data-tauri-drag-region]"); expect(titleBar).not.toBeNull(); - expect(titleBar?.textContent).not.toContain("Cline Code"); + expect(titleBar?.textContent).not.toContain("Cline"); await click( container.querySelector('[aria-label="Previous page"]') as Element, diff --git a/apps/examples/desktop-app/webview/components/hub-update-required-dialog.tsx b/apps/examples/desktop-app/webview/components/hub-update-required-dialog.tsx index eaa6498ba6..76120bd765 100644 --- a/apps/examples/desktop-app/webview/components/hub-update-required-dialog.tsx +++ b/apps/examples/desktop-app/webview/components/hub-update-required-dialog.tsx @@ -104,8 +104,8 @@ export function HubUpdateRequiredDialog() { {mismatch?.hubCoreVersion ? ` (core ${mismatch.hubCoreVersion})` : ""} - , and it no longer matches this app. Update and restart Cline Code - to stay in sync with the running Hub. + , and it no longer matches this app. Update and restart Cline to + stay in sync with the running Hub. {updateHint ? ( {updateHint} diff --git a/apps/examples/desktop-app/webview/lib/app-channel.ts b/apps/examples/desktop-app/webview/lib/app-channel.ts index 9647786c26..6d19c37200 100644 --- a/apps/examples/desktop-app/webview/lib/app-channel.ts +++ b/apps/examples/desktop-app/webview/lib/app-channel.ts @@ -9,8 +9,8 @@ * See apps/examples/desktop-app/EXPERIMENTAL.md for the channel model. */ -export const STABLE_PRODUCT_NAME = "Cline Code"; -export const BETA_PRODUCT_NAME = "Cline Code Beta"; +export const STABLE_PRODUCT_NAME = "Cline"; +export const BETA_PRODUCT_NAME = "Cline Beta"; export function isBetaVersion(version: string | null | undefined): boolean { return typeof version === "string" && version.includes("-beta"); diff --git a/apps/examples/desktop-app/webview/lib/desktop-window-title.test.ts b/apps/examples/desktop-app/webview/lib/desktop-window-title.test.ts index 74be4b1561..721b511a06 100644 --- a/apps/examples/desktop-app/webview/lib/desktop-window-title.test.ts +++ b/apps/examples/desktop-app/webview/lib/desktop-window-title.test.ts @@ -49,7 +49,7 @@ describe("desktop window title", () => { it("titles beta builds with the beta product name", async () => { const { buildDesktopWindowTitle } = await importFresh(); expect(buildDesktopWindowTitle("0.0.14-beta.1")).toBe( - "Cline Code Beta v0.0.14-beta.1", + "Cline Beta v0.0.14-beta.1", ); }); diff --git a/apps/examples/menubar/sidecar/index.ts b/apps/examples/menubar/sidecar/index.ts index 659365167f..c09a253eda 100644 --- a/apps/examples/menubar/sidecar/index.ts +++ b/apps/examples/menubar/sidecar/index.ts @@ -268,8 +268,8 @@ function summarizeClient(client: TrackedClient): { ) { return { key: "code-app", - label: "Code App", - name: "Code App", + label: "Cline Desktop", + name: "Cline Desktop", }; } return { diff --git a/sdk/AGENTS.md b/sdk/AGENTS.md index 95e2f8e4c4..13f5a3615e 100644 --- a/sdk/AGENTS.md +++ b/sdk/AGENTS.md @@ -30,7 +30,7 @@ flowchart TD shared["@cline/shared"] --> llms["@cline/llms"] & agents["@cline/agents"] & core["@cline/core"] llms --> agents & core agents --> core - core --> apps["CLI / VS Code / Code App"] + core --> apps["CLI / VS Code / Desktop App"] ``` Rules: