[Bugfix #1158] Strip "dev server" terminology from VS Code surfaces#1173
Merged
Conversation
Close the naming gap so config -> CLI -> VS Code all read "dev". The config field (worktree.devCommand) and CLI (afx dev) were already neutral; only the VS Code titles, several command ids, one context key, one view id, five source file names, and doc prose still carried the web-centric "dev server." - package.json: strip "Server" from 6 command titles; codev.devServer.* -> codev.dev.* command ids; context key codev.devServerRunning -> codev.devRunning; view id codev.devServer -> codev.dev. - extension.ts / views / commands: rename internal identifiers (stopDevServer -> stopDev, DevServerTreeProvider -> DevTreeProvider, etc.), the auto view-focus command codev.devServer.focus -> codev.dev.focus, and neutralize user-facing strings / comments. - Rename source files: dev-server-actions.ts -> dev-actions.ts, views/dev-server.ts -> dev.ts, views/dev-server-format.ts -> dev-format.ts (+ the two test files). - Docs: sharpen AGENTS.md / CLAUDE.md "Runnable Worktrees" prose so non-web users (cargo run, expo start, test watchers, build scripts) don't self-exclude; update PIR protocol/prompt command names; fix arch.md's now-stale #921 identifiers. - Left historical records unchanged (plans 921/1104/975, review 921, projectlist). BREAKING (per-user, minor): old keybindings on codev.devServer.* silently no-op; the codev.dev view id invalidates any user override of the old view's visibility. Grep of packages/vscode for devServer / "Dev Server" / dev-server = 0 hits.
3-way CMAP review (gemini + codex + claude, all REQUEST_CHANGES on the same
defect) caught user-facing toast strings the first pass missed. Root cause: the
initial verification grep was case-sensitive and skipped the mixed-case
"Dev server" variant.
- dev-shared.ts / stop-worktree-dev.ts: "Codev: Dev server started/stopped/already
running for ..." -> "Codev: Dev started/stopped/is already running for ..."
(runtime showInformationMessage toasts).
- terminal-manager.ts / workspace.ts: comment wording ("Dev servers are ...",
the "Stop Dev Server" row reference).
- README.md (marketplace doc): command titles now match the renamed palette
(Run/Stop/Start Dev), prose neutralized, and the intro enumerates the range
(dev server, cargo run, expo start, test watcher, build script) so non-web
users don't self-exclude.
- pir/protocol.md (both trees): "at-gate dev-server review flow" -> "dev review flow".
- contributes-dev.test.ts: strengthen the #1158 guard to scan EVERY contributed
menu group and all keybindings for a reintroduced devServer id/when-clause
(previously only view/title was checked).
Case-insensitive grep of packages/vscode for dev-server terminology now returns
only the intentional stack-agnostic enumeration. 590 unit tests pass; compile clean.
amrmelsayed
added a commit
that referenced
this pull request
Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Strips the web-centric "dev server" terminology from the runnable-worktrees VS Code surfaces so all three layers read "dev" consistently: the config field (
worktree.devCommand) and CLI (afx dev) were already neutral; this closes the gap on the last surfaces (VS Code titles, command ids, one context key, one view id, five source-file names, and doc prose) that hadn't gotten the memo.The abstraction is stack-agnostic.
worktree.devCommandcan start a dev server,cargo run,expo start, a test watcher, a build script, or any other iterate-on-your-project process, so the prose was also sharpened (not just word-stripped) to make it obvious to non-web users that the feature applies to them.Fixes #1158.
Root Cause
Not a behavior bug: a naming inconsistency. The feature was half-renamed when it shipped (neutral config/CLI, neutral "dev PTY" internals) but the VS Code layer and docs kept "dev server."
Fix
packages/vscode/package.jsonCodev: Run Dev,Stop Dev,Start Dev (this workspace),Stop Dev (this workspace),Stop Dev,Restart Dev).codev.devServer.*→codev.dev.*(stop / restart / switchTarget / showSidebar / hideSidebar), across the command declarations, command-palette gating, andview/titlemenus.codev.devServerRunning→codev.devRunning.codev.devServer→codev.dev.Source (
extension.ts, views, commands, terminal-manager, …)devServer(verification Defense Phase Confusion - Misinterpreted as Justification vs Testing #6):stopDevServer→stopDev,restartDevServer→restartDev,DevServerTreeProvider→DevTreeProvider,devServerProvider→devProvider,devServerView→devView, and the auto view-focus commandcodev.devServer.focus→codev.dev.focus.File renames (imports updated):
commands/dev-server-actions.ts→commands/dev-actions.tsviews/dev-server.ts→views/dev.tsviews/dev-server-format.ts→views/dev-format.ts__tests__/contributes-dev-server.test.ts→__tests__/contributes-dev.test.ts__tests__/dev-server-format.test.ts→__tests__/dev-format.test.tsDocs
AGENTS.md/CLAUDE.md(kept byte-identical): reworded the "Runnable Worktrees" section; the intro now enumerates the range (dev server,cargo run,expo start, test watcher, build script) so non-web users don't self-exclude.codev-skeleton/protocols/pir/+codev/protocols/pir/mirrors: command-name updates inprotocol.md,prompts/implement.md,prompts/review.md.codev/resources/arch.md: the living architecture reference named the now-deadcodev.devServerview /codev.devServerRunningkey /views/dev-server-format.tsin its vscode: Codev Dev surface — bottom-panel tab with title-bar Stop/Restart, paired with always-visible status-bar chip #921 bullets; updated to the new identifiers.Left unchanged (deliberate): historical records —
codev/plans/921,codev/plans/1104,codev/plans/975,codev/reviews/921,codev/state/pir-921_thread.md, andcodev/projectlist.md. These describe what shipped at the time; renaming would rewrite history (issue §6).codev.devServer.stop/.restart/.switchTarget/.showSidebar/.hideSidebarwill silently no-op after upgrade. Users who bound these must updatekeybindings.jsontocodev.dev.*.codev.devServer→codev.devinvalidates any per-user override of that view's visibility in VS Code settings. (View state is per-user, not shared config.)(No wire types / API payloads changed — none used "server". Verified via grep.)
Test Plan
contributes-dev.test.tspins the newcodev.dev.*ids,codev.devRunningkey, andcodev.devview, and adds a#1158block asserting no command title contains "Server" and nodevServerin any command id / view id / menu (every group) / keybinding — fails loudly if the terminology is ever reintroduced.pnpm --filter codev-vscode test:unit→ 590 passed / 51 files.pnpm --filter codev-vscode compile(check-types + lint + esbuild) → pass.grep -rin "dev[ -]server\|devserver" packages/vscode/→ only the intentional stack-agnostic enumeration ("a dev server,cargo run, …") remains.CMAP review (3-way)
Ran a 3-way review at the PR — gemini + codex + claude, all
REQUEST_CHANGESon the same real defect: the first pass's verification grep was case-sensitive and missed the mixed-case "Dev server" variant, leaving four user-facing toast strings (dev-shared.ts,stop-worktree-dev.ts) still saying "Dev server started/stopped/already running". Fixed in commitf931aa4e, along with:README.md(marketplace doc) — command titles now match the renamed palette; prose neutralized + enumerated.view/title).Rebutted (codex): adding deprecated
codev.devServer.*command aliases for backward-compat. The breaking rename is the issue's explicit decision (#1158 verification #9: old ids "will silently no-op post-upgrade. Document this in the CHANGELOG"), so aliases would contradict the chosen approach and expand surface the issue deliberately declined. Surfaced as a documented break instead (above).Note for merge / release
packages/vscode/CHANGELOG.mdwas intentionally not touched here — this repo accumulates the VS Code changelog on the dedicated changelog branch after cleanup, not in feature/bugfix PRs. The backward-compat break above should be captured there.