From 5377cfad509ce9aab462f5a202e9b3a4620b6794 Mon Sep 17 00:00:00 2001 From: deseltrus Date: Sun, 15 Mar 2026 07:13:23 +0100 Subject: [PATCH] fix(ux): launch prefs wizard directly from /gsd prefs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of just showing "Edit file" notification, /gsd prefs now ensures the preferences file exists and immediately launches the interactive wizard. This matches user expectation — typing "prefs" should let you edit preferences, not just show a file path. /gsd prefs status still available for file path info without wizard. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/resources/extensions/gsd/commands.ts | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/resources/extensions/gsd/commands.ts b/src/resources/extensions/gsd/commands.ts index 781800211..e3dc2f59c 100644 --- a/src/resources/extensions/gsd/commands.ts +++ b/src/resources/extensions/gsd/commands.ts @@ -215,20 +215,16 @@ export async function fireStatusViaCommand( async function handlePrefs(args: string, ctx: ExtensionCommandContext): Promise { const trimmed = args.trim(); - if (trimmed === "" || trimmed === "global") { + if (trimmed === "" || trimmed === "global" || trimmed === "wizard" || trimmed === "setup" + || trimmed === "wizard global" || trimmed === "setup global") { await ensurePreferencesFile(getGlobalGSDPreferencesPath(), ctx, "global"); + await handlePrefsWizard(ctx, "global"); return; } - if (trimmed === "project") { + if (trimmed === "project" || trimmed === "wizard project" || trimmed === "setup project") { await ensurePreferencesFile(getProjectGSDPreferencesPath(), ctx, "project"); - return; - } - - if (trimmed === "wizard" || trimmed === "setup" || trimmed === "wizard global" || trimmed === "setup global" - || trimmed === "wizard project" || trimmed === "setup project") { - const scope = trimmed.includes("project") ? "project" : "global"; - await handlePrefsWizard(ctx, scope); + await handlePrefsWizard(ctx, "project"); return; } @@ -538,7 +534,4 @@ async function ensurePreferencesFile( ctx.ui.notify(`Using existing ${scope} GSD skill preferences at ${path}`, "info"); } - await ctx.waitForIdle(); - await ctx.reload(); - ctx.ui.notify(`Edit ${path} to update ${scope} GSD skill preferences.\nRun /gsd prefs wizard for interactive setup.`, "info"); }