feat(ux): smart menu, all commands, back nav, and consistent preview cards#60
Open
feat(ux): smart menu, all commands, back nav, and consistent preview cards#60
Conversation
…n-TTY - Add 5 e2e tests covering devw add --list, --search, --tag, --dry-run, and full install with config/cache verification - Fix init command crashing when .dwf/ exists and --yes flag is used in non-TTY mode: skip confirmPrompt, exit cleanly with exit code 0 - Update test to reflect new idempotent init behavior with -y - Remove stale compiled rules section from CLAUDE.md (v2 writes to .claude/rules/ via directory bridge, not inline to CLAUDE.md)
…d add - init: show summary card (location, tools, mode, files) + single confirm before writing; consolidate 3 spinners into 1 - add (direct): show preview card with rule description, scope, version, and target file before confirming install; skipped with --force/--dry-run - add (interactive): replace header+loop summary with notePrompt for consistent visual style - add: remove redundant ui.info(Downloading) spinner covers it - resolveRuleVersionCheck: expose registryRule in return type for preview
…k nav - menu: detect context at startup — show only Init+Exit when no .dwf/ found, full menu with local/global badge once configured - menu: add Watch, List (with sub-select), and Explain as menu options - menu: error guard keeps loop alive instead of exiting on command failure - watch: fix SIGINT handler to resolve Promise instead of process.exit(0) so Ctrl+C returns to the menu rather than killing the process - add: replace BACK_VALUE hack in multiselect with multiselectPromptOrBack — Esc now navigates back to categories cleanly without a checkbox back option - add: unify preview card format between single-rule and multi-select flows - prompt: export runWatch, runList, runExplain; add multiselectPromptOrBack util
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
What
Complete UX overhaul of the interactive menu and
addcommand flow.Why
The menu always showed the same 5 options regardless of project state, causing new users to hit errors immediately. Commands like
watch,list, andexplainwere only accessible via CLI flags, not from the interactive menu. The "Back to categories" option inaddwas a checkbox item inside a multiselect, which was confusing UX.Changes
commands/menu.ts.dwf/found, full menu with mode badge when configured. Added Watch, List (sub-select), Explain. Error guard keeps loop alive.commands/watch.tsresolve()Promise instead ofprocess.exit(0)— Ctrl+C now returns to the menu. ExportedrunWatch.commands/list.tsrunListfor menu access.commands/explain.tsrunExplainfor menu access.commands/add.tsBACK_VALUEhack withmultiselectPromptOrBack— Esc navigates back cleanly. Unified preview card format between single-rule and multi-select flows.utils/prompt.tsmultiselectPromptOrBack<T>— returnsnullon Escape instead of exiting the process.Test