Konsey Suite
Small personal VS Code helpers. Published as konseyy.konsey-suite.
Commands
Both commands act on the active file and open a GitLens diff, working tree on the right. Both resolve the
branch's fork point as git merge-base <konsey.baseRef> HEAD, so commits that landed on the base branch after
forking never show up in the diff.
konsey.diffWithMergeBase — Diff Active File with Fork Point
Left side is the file as it was where this branch forked from konsey.baseRef. Shows exactly what this branch
changed in the file.
konsey.diffWithBranchCommit — Diff Active File with a Commit on This Branch...
Quick pick of the commits between the fork point and HEAD, newest first, plus the fork point itself as the last
entry. Commits that touched the active file are marked. Pick one, left side is the file at that commit.
Settings and keybinding args
konsey.baseRef: branch this feature branch forked from. Default origin/dev.
- Both commands accept
{ "ref": "..." } as keybinding args to override the base per binding.
{
"key": "ctrl+d ctrl+d",
"command": "konsey.diffWithMergeBase",
"when": "editorTextFocus"
},
{
"key": "ctrl+d ctrl+f",
"command": "konsey.diffWithBranchCommit",
"when": "editorTextFocus"
},
{
"key": "ctrl+d ctrl+m",
"command": "konsey.diffWithMergeBase",
"args": { "ref": "origin/main" },
"when": "editorTextFocus"
}
Requires the GitLens extension (declared as an extension dependency) and git on PATH.
Development
pnpm install
pnpm run build # tsc --noEmit, then vite build into out/
pnpm run typecheck # tsc --noEmit only
pnpm run bundle # vite build only
pnpm run watch # vite build --watch, no typecheck
pnpm run package # build + .vsix in the project root
code --install-extension konsey-suite-<version>.vsix
Vite runs in library mode: single CJS chunk, vscode external, no minification, source maps on. tsc is type checking only and always runs before bundling in build, which is what vsce and CI call.
Press F5 in VS Code to launch an Extension Development Host instead of installing.
Releasing
Releases are automated. Bump version in package.json, commit, push to main.
.github/workflows/release.yml runs on every push to main:
- Install, typecheck, build.
- Query the marketplace for the currently published version.
- If
package.json has a different version, run vsce publish. Otherwise finish without publishing.
Only a version change publishes. Regular commits to main are safe.
Requirements:
Manual release
pnpm vsce login konseyy # once, stores the token locally
pnpm release # vsce publish
Layout
src/extension.ts commands
src/git.ts git helpers, repo lookup
out/ vite output, gitignored
vite.config.ts library mode, cjs, vscode + node builtins external
tsconfig.json strict, ES2024, noEmit
.node-version 24, matches CI and vite target
pnpm-workspace.yaml allowBuilds for vsce-sign, esbuild, keytar
.vscodeignore keeps the .vsix down to out/ + manifest
.github/workflows/ release workflow