Skip to content

Conversation

@JacksonFergusonDev
Copy link
Owner

@JacksonFergusonDev JacksonFergusonDev commented Feb 1, 2026

Summary

Refactors the CLI output to use the Rich library, replacing standard print statements 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

  • Dependency: Added rich>=14.2.0 to pyproject.toml.
  • UI Components:
    • 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: Updated tests/test_cli.py to match the new text-based status indicators (removed emojis that caused assertion failures).

Visuals

  • Status: 🟢 Running -> [Active] (Green, inside Panel)
  • Repo List: Manual columns -> Responsive Table with headers.
  • Progress: Silent waits -> Animated dots spinner.

Testing

  • test_status_reports_pause_state updated to assert "PAUSED" text instead of emoji.
  • Verified rich dependency is correctly recognized in pyproject.toml.

Instantiates a global Rich Console object to replace standard print
statements. Refactors show_status() to use Panels for a clearer
visual hierarchy between System and Repository status.
Replaces manual string padding/truncation in list_repos() with a
Rich Table. This ensures correct alignment and resizing across
different terminal widths.
Wraps connectivity and system checks in progress spinners. Replaces
standard prints with colored status indicators (✔/✘) for immediate
visual feedback.
Updates setup_repo, show_diff, and error messages to use
console.print() with consistent semantic coloring.
Standardizes setup_repo and unregister_repo to use Rich console
methods. Replaces standard print statements with semantic coloring for
initialization steps, registry updates, and warnings.
Updates tail_log and set_pause_state to use Rich formatting.
Replaces emojis with bold/colored text status indicators for clearer
feedback.
Wraps service installation, pruning, and finalization commands in
Rich status spinners to provide visual feedback during potentially
long-running operations.
Updates test_status_reports_pause_state to expect the new text-based
"PAUSED" status indicator instead of the removed emoji, aligning the
test suite with the recent CLI aesthetic refactor.
@JacksonFergusonDev JacksonFergusonDev merged commit 99da357 into main Feb 1, 2026
4 checks passed
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.

2 participants