Skip to content

vscode: strip 'dev server' terminology — titles, palette entries, internal ids, view id, source file names #1158

Description

@amrmelsayed

Problem

The user-facing surfaces for the runnable-worktrees feature use the term "dev server," which is web-dev-centric and doesn't match the actual abstraction. Codev doesn't know or care what a user's worktree.devCommand starts — it could be a Vite / Next / Django server, a cargo run binary, a pnpm expo start React Native process, a pytest --watch test runner, or a plain build script. Users developing CLIs, desktop apps, mobile apps, or non-web software see the term and reasonably question whether the feature applies to them.

The framework is already half-consistent: the config field is worktree.devCommand (neutral), the CLI verb is afx dev (neutral), and the implementation talks about "dev PTY" / "dev process" (neutral). Only the VS Code command titles, palette entries, several internal command IDs, one context key, one view id, four source file names, and the prose in AGENTS.md / CLAUDE.md / the PIR protocol docs still carry "dev server."

This bug closes the gap so all three surfaces (config → CLI → VS Code) read "dev" consistently.

Scope — full rename for consistency

1. VS Code command IDs (packages/vscode/package.json contributes.commands)

Some already read cleanly ("dev" in the id); their titles still need the "Server" stripped. Others carry devServer in the id itself — rename those.

Current command id Current title New title New command id (if changed)
codev.runWorktreeDev Codev: Run Dev Server Codev: Run Dev unchanged
codev.stopWorktreeDev Codev: Stop Dev Server Codev: Stop Dev unchanged
codev.runWorkspaceDev Codev: Start Dev Server (this workspace) Codev: Start Dev (this workspace) unchanged
codev.stopWorkspaceDev Codev: Stop Dev Server (this workspace) Codev: Stop Dev (this workspace) unchanged
codev.devServer.stop Stop Dev Server Stop Dev codev.dev.stop
codev.devServer.restart Restart Dev Server Restart Dev codev.dev.restart
codev.devServer.switchTarget Switch Target Switch Target codev.dev.switchTarget
codev.devServer.showSidebar Show Codev Sidebar Show Codev Sidebar codev.dev.showSidebar
codev.devServer.hideSidebar Hide Codev Sidebar Hide Codev Sidebar codev.dev.hideSidebar

2. Context key

codev.devServerRunningcodev.devRunning

Update setContext calls (extension.ts:560) plus every when clause reference:

  • packages/vscode/package.json lines 488, 492, 714, 719
  • Test assertions in packages/vscode/src/__tests__/contributes-dev-server.test.ts
  • Docstring reference in packages/vscode/src/terminal-manager.ts:524

3. View id

codev.devServercodev.dev

Referenced in:

  • packages/vscode/package.json contributes.views declaration + menus when clauses (lines 714, 719)
  • Test assertions

User-facing migration note: renaming the view id invalidates any user overrides of view visibility in VS Code settings. This is minor (view state is per-user, not shared config), but callable out in the PR body / CHANGELOG.

4. Source file names

Renames for consistency (imports update along):

  • packages/vscode/src/commands/dev-server-actions.tsdev-actions.ts
  • packages/vscode/src/views/dev-server.tsdev.ts
  • packages/vscode/src/views/dev-server-format.tsdev-format.ts
  • packages/vscode/src/__tests__/contributes-dev-server.test.tscontributes-dev.test.ts
  • packages/vscode/src/__tests__/dev-server-format.test.tsdev-format.test.ts

5. Documentation (dual-tree mirror per convention)

Beyond the mechanical rename, sharpen the prose framing. The point of this bugfix isn't just to strip a word from titles — it's to make it obvious to non-web users that the feature applies to them. "Dev" as a noun (short for "development-iteration activity") is inclusive across mobile, CLI, desktop, background workers, docs sites, test watchers, and so on — but only if the surrounding prose says so. Otherwise readers still read "dev" as "web dev server" by association.

Concrete rewrite pattern: wherever prose currently says "spin up a dev server against the builder's branch" or similar, replace with "run whatever your dev command starts against the builder's branch — dev server, cargo run, expo start, a test watcher, a build script, whatever iterates on your project." Enumerate the range at least once per prose section so non-web users don't self-exclude from the feature.

  • AGENTS.md — "Runnable Worktrees" section (line 379+): "dev server" → "dev command" / "dev" per surrounding context. Lines: 379, 395, 402, 403, 419, 420, 422, 424.
  • CLAUDE.md — mirror of AGENTS.md. Same edits.
  • codev-skeleton/AGENTS.md and codev-skeleton/CLAUDE.md — skeleton mirrors, same edits.
  • codev-skeleton/protocols/pir/protocol.md:86,89 — "Run Dev Server" → "Run Dev"
  • codev-skeleton/protocols/pir/prompts/implement.md:124
  • codev-skeleton/protocols/pir/prompts/review.md:78
  • codev/protocols/pir/ mirrors of the above three files (if present)

6. Prose consistency in existing artifacts

The projectlist and past plan artifacts (codev/projectlist.md:265, :315, codev/plans/975-vscode-run-stop-dev-server-con.md) contain "Run/Stop Dev Server" in historical prose. Leave these unchanged — they're historical records describing what shipped at the time, not user-facing docs. Renaming would rewrite history.

What stays unchanged (deliberately)

  • worktree.devCommand config field name — already neutral, matches the new naming
  • afx dev CLI — already neutral
  • Terminal tab name pattern Codev: <name> (dev) — already neutral
  • Wire types / API payloads sent between Tower and the extension — none of these use "server" today (verified via grep)
  • Historical plan / projectlist prose (see §6)

Verification

  1. Palette (Cmd+Shift+P) shows the renamed titles; no title contains "Server"
  2. All command ids under codev.dev.* fire correctly
  3. codev.devRunning context key gates the sidebar chip / tab badge as before
  4. View id codev.dev renders the same content that codev.devServer did
  5. Right-clicking a builder row in the Codev sidebar shows the renamed context-menu entries
  6. Grep packages/vscode/ for devServer — only historical codev/projectlist.md and past plan hits remain
  7. pnpm --filter codev-vscode test passes (test files reflect renames)
  8. pnpm --filter codev-vscode compile passes
  9. Backward compatibility: existing users' keybindings pointing at codev.devServer.stop etc. will silently no-op post-upgrade. Document this in the CHANGELOG so users know to update their keybindings.json.

Related

Metadata

Metadata

Assignees

Labels

area/vscodeArea: VS Code extension

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions