Skip to content

v0.5.0 — UX polish + TUI rendering fix

Choose a tag to compare

@CreatmanCEO CreatmanCEO released this 21 May 10:45
· 3 commits to main since this release
77e1e3a

Highlights

Critical fix — TUI bodies no longer render empty

All 8 screens previously used height: NN% CSS, which Textual 8.2.5
collapses to 0 inside a TabPane. Every tab opened to an empty viewport.
Switched the screens and TabbedContent to 1fr fractional units;
DataTable and side panes now share remaining space correctly.

UX polish

  • Per-screen header on every tab — a single Rich-markup line stating
    what the tab shows and the key actions available.
  • Empty-state CTAs on Schedule (lists the 5 built-in templates),
    Audit (shows the cc-janitor stats snapshot recipe), and Dream
    (explains the safety-net concept).
  • F1 tab-specific help modal — context-aware help for each tab.
  • First-run Welcome modal with the 8-tab tour. Marker at
    ~/.cc-janitor/state/seen-welcome makes it one-shot; re-display via
    cc-janitor --tutorial.
  • Filter-by-scope labels next to the source-filter dropdowns on
    Permissions / Memory / Hooks.
  • Inline column legends on Sessions (Msgs/Size) and Permissions
    (Used90d, STALE/DUP).
  • Screen-level BINDINGS on every screen so Footer surfaces the
    per-tab action keys.

Numbers

  • 302 passing tests (was 290; +12 in tests/tui/test_ux_polish.py)
  • All 4 CI jobs green (Ubuntu/Windows × Python 3.11/3.12)

Install / upgrade

pip install --upgrade cc-janitor
cc-janitor --tutorial   # see the new Welcome tour

See CHANGELOG.md for the full diff.