feat(cli): modernize aesthetic with Rich #32
Merged
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
Refactors the CLI output to use the Rich library, replacing standard
printstatements with semantic coloring, dynamic tables, and panels. This aligns the tool's aesthetic with professional standards (e.g.,gh,uv), improves readability, and fixes fragility issues related to manual string padding in repository lists.Changes
rich>=14.2.0topyproject.toml.show_status: Now uses Panels to visually separate Daemon status from Repository status.list_repos: Implemented a dynamic Table to handle long paths and terminal resizing automatically.run_doctor: Wrapped connectivity and registry checks in Spinners for visual feedback during blocking operations.show_diff&setup_repo: Standardized output with semantic colors (Green for success, Red for errors, Yellow for warnings/pauses).tests/test_cli.pyto match the new text-based status indicators (removed emojis that caused assertion failures).Visuals
🟢 Running->[Active](Green, inside Panel)Testing
test_status_reports_pause_stateupdated to assert "PAUSED" text instead of emoji.richdependency is correctly recognized inpyproject.toml.