@joepham/vsm
v0.1.9
Published
VS Code Shortcut Manager CLI
Readme
@joepham/vsm
VS Code Shortcut Manager CLI, re-homed into this repository as the new source of truth.
Installation
Recommended (global CLI install):
npm i -g @joepham/vsm
vsm --versionUpdate global install:
npm i -g @joepham/vsm@latestCurrent Status
- Phase A bootstrap completed.
- Non-interactive command core implemented for all primary commands.
- Interactive fallback prompts are enabled for
create,adopt,inspect,update,removewhen required inputs are missing. - Canonical command model is
vsm <command>. - Changesets and publish workflow scaffolding are added for release preparation.
- CI verification runs build + parity smoke + negative smoke checks.
Command Model
Canonical commands:
vsm listvsm createvsm adoptvsm inspectvsm updatevsm removevsm doctor
Bundle ID Behavior (macOS)
--bundle-idcontrols the shortcut.appidentity and conflict detection.- macOS window grouping still follows the running
target-appprocess (for exampleVisual Studio Code.app). - If you need separate Dock/window identity, use different target app bundles (for example separate copies of VS Code app).
UI Differentiation Metadata
vsm can write per-shortcut UI metadata into the shortcut config and apply it to the shortcut's User/settings.json.
--window-label: label stored in metadata and used to auto-build a default title when--window-titleis not provided.--window-title: explicit VS Codewindow.titletemplate.--window-accent: single accent color (#RGBor#RRGGBB) for all modes (legacy/simple mode).--window-accent-dark: accent color for dark themes.--window-accent-light: accent color for light themes.
Example:
vsm update --name "Visual Studio Code Joe 1" \
--window-label "JOE 1" \
--window-title '[JOE 1] ${rootName}' \
--window-accent-dark "#4B5563" \
--window-accent-light "#9CA3AF"This provides a second differentiation mechanism beyond app identity: title and color cues that adapt between dark and light themes.
Development
npm install
npm run build
node ./bin/run.js --help
npm run smoke:parity
npm run smoke:negativeMigration Policy
- Migration and deprecation timeline:
docs/MIGRATION.md
