Skip to content

Improve user feedback architecture#113

Merged
lukidoescode merged 2 commits into
mainfrom
lwagner/97-user-feedback-architecture
May 2, 2026
Merged

Improve user feedback architecture#113
lukidoescode merged 2 commits into
mainfrom
lwagner/97-user-feedback-architecture

Conversation

@lukidoescode
Copy link
Copy Markdown
Owner

Replace bare println!/eprintln!/print! calls across all command
modules with a CliWriter trait abstraction. Commands now receive
&dyn CliWriter, enabling testable output without filesystem or
terminal dependencies.

- Add CliWriter trait with semantic methods (line, heading, list_item,
  indented, detail, blank, message, warn_stderr, raw)
- Add StdoutCliWriter for production use (identical output to before)
- Add BufferCliWriter (cfg(test)) with typed OutputEntry enum for
  semantic assertions in unit tests
- Wire writer through Commands::execute() into all command modules
- Add unit tests for add, manage, and additional_packages output
@lukidoescode lukidoescode merged commit d74ccd1 into main May 2, 2026
14 checks passed
@lukidoescode lukidoescode deleted the lwagner/97-user-feedback-architecture branch May 2, 2026 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace bare println! guidance messages in interactive prompts

1 participant