feat: usability improvements from Nielsen heuristic audit#106
Open
feat: usability improvements from Nielsen heuristic audit#106
Conversation
Systematic audit against Jakob Nielsen's 10 usability heuristics identified gaps in user control (H3), discoverability (H6/H7), consistency (H4), and error recovery (H9). This addresses the high and medium priority findings. - Add confirmation prompts to `stop` and `logout` (with --force to skip) - Add --dry-run to `stop` for previewing actions - Add `completion` command for bash/zsh/fish/powershell - Make --no-color a global flag (was status-only), respect NO_COLOR env - Add --json flag to status, nodes, peers for machine-readable output - Improve error messages with actionable recovery hints Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
Summary
stop,logout), shell completion support, global--no-color,--jsonoutput for key commands, and improved error messages with recovery hintsChanges
H3: User Control & Freedom
citadel stopnow prompts before stopping all services;--rmuses default-No confirmationcitadel logoutnow prompts before disconnecting--force/-fto skip prompts (for scripts/CI)citadel stop --dry-runpreviews what would be stoppedH6/H7: Discoverability & Efficiency
citadel completion [bash|zsh|fish|powershell]command via Cobra built-in generators--jsonflag onstatus,nodes,peersfor machine-readable outputStatusData,GPUInfo,ServiceStatus,PeerInfoH4: Consistency
--no-colormoved from status-only to global persistent flag inroot.goNO_COLORenvironment variable (standard convention)H9: Error Recovery
citadel statusTest plan
go build ./cmd/citadel/compiles cleango test ./cmd/ ./internal/...all unit tests passcitadel stopshows confirmation,--forceskips it,--dry-runpreviewscitadel logoutshows confirmation,--forceskips itcitadel completion bash | headoutputs completion scriptcitadel status --json | jq .outputs valid JSONcitadel --no-color statusdisables colors globallyNO_COLOR=1 citadel statusdisables colors via env🤖 Generated with Claude Code