feat: add comprehensive TUI with vim-style navigation
Implement a modern terminal UI inspired by lazygit/k9s with full
feature parity to the CLI:
Views:
- Dashboard: stats overview, quick actions (Install/Update/Lock/Clean)
- Repos: list/add/remove/install/update repos, script selector popup
- Scripts: browse by target, filter by target, enable/disable/remove
- Catalog: browse and install from curated script catalog
- Targets: manage mpv config targets, create directories
Features:
- Vim-style navigation (j/k, g/G, Ctrl+d/u, /)
- Non-blocking background tasks with spinner animation
- Script selector popup for granular per-repo script management
- Target filtering in Scripts view
- Orphan cleanup prompt after repo removal
- Broken symlink detection and repair in Targets view
- Path expansion for ~ in target configs
Technical:
- Feature-gated module (#[cfg(feature = "tui")])
- mpsc channels for async task communication
- Scripts caching to avoid filesystem I/O on every render
- Terminal 16-color ANSI palette for theme compatibility