Skip to content
This repository was archived by the owner on Jun 15, 2026. It is now read-only.

Release v0.2.8 - Modern & Fast TUI Selectors

Latest

Choose a tag to compare

@OEvortex OEvortex released this 17 Jan 07:24
· 2 commits to main since this release

Release v0.2.8 - Modern & Fast TUI Selectors

Release Date: January 17, 2026

Overview

This release brings a complete redesign of the TUI selectors for /model and /provider commands, featuring modern UI/UX improvements, search functionality, and enhanced visual clarity. The codebase has also been modernized with restructured TCSS styling files and improved type safety.


🎨 Major Features

Modern & Fast TUI Selectors

Provider Selector (/provider) Improvements

  • Search/Filter Input: Quickly find providers by name or description using / key
  • Auth Status Badges: Visual indicators (✓ ready, ○ needs API key) next to each provider
  • Active Provider Indicator: ▸ marker for easy identification of current provider
  • Detail Panel: Shows provider description and required API key environment variable
  • Modern Keybindings:
    • / jumps to search input
    • Improved keyboard navigation
    • Enter to select, Escape to cancel
  • Modern Code: Implemented using match statements and modern Python 3.12+ patterns

Model Selector (/model) Improvements

  • Rich Metadata Display:
    • Pricing information in $0.40/$2.00 format (input/output)
    • Context window displayed as 128K ctx format
  • Provider Grouping: Section headers for multi-provider model views
  • Detail Panel: Shows full model name, thinking support capability, and max output tokens
  • Enhanced Search: Searchable by:
    • Model name
    • Model alias
    • Provider name
  • Active Model Indicator: ▸ marker with column-aligned formatting
  • Helper Functions: Consistent price and context formatting utilities

Visual & Style Improvements

  • Modern Borders: Replaced old double borders with clean round borders
  • Filter Input Styling: Improved focus states and accent colors
  • Visible Scrollbars: Themed scrollbars with colors (no more hidden scrollbars)
  • Detail Row Styling: New .provider-detail and .model-detail CSS classes
  • Improved Layout: Better spacing and removed heavy borders for cleaner interface

TCSS Architecture Refactoring

Complete reorganization of styling files from single large files into modular directory structure:

revibe/cli/textual_ui/tcss/
├── app/                          # Main application styles
│   ├── approval.tcss
│   ├── base.tcss
│   ├── bash.tcss
│   ├── bottom_bar.tcss
│   ├── config.tcss
│   ├── messages.tcss
│   ├── mode_indicator.tcss
│   ├── status.tcss
│   └── tool_results.tcss
├── diff/                         # Diff viewer styles
│   ├── base.tcss
│   ├── header.tcss
│   ├── hunk.tcss
│   ├── lines.tcss
│   ├── metadata.tcss
│   └── summary.tcss
├── input/                        # Input area styles
│   ├── completion.tcss
│   ├── container.tcss
│   ├── focus.tcss
│   ├── hints.tcss
│   ├── input_area.tcss
│   └── prompt.tcss
├── selector/                     # Model/Provider selector styles
│   ├── container.tcss
│   ├── filter.tcss
│   ├── list.tcss
│   ├── options.tcss
│   └── title.tcss
├── thought/                      # Thinking display styles
│   ├── collapsed.tcss
│   ├── container.tcss
│   ├── content.tcss
│   ├── header.tcss
│   └── legacy.tcss
└── welcome_banner/               # Welcome screen styles
    ├── layout.tcss
    └── theme.tcss

revibe/setup/onboarding/tcss/
├── api_key.tcss
├── base.tcss
├── provider.tcss
├── theme.tcss
├── utilities.tcss
└── welcome.tcss

revibe/setup/trusted_folders/tcss/
├── base.tcss
├── footer.tcss
├── header.tcss
└── options.tcss

Benefits:

  • ✅ Better code organization and maintainability
  • ✅ Easier to locate and modify specific styles
  • ✅ Clearer separation of concerns
  • ✅ Improved scalability for future features

🔧 Code Quality Improvements

Type Safety

  • ✅ All type checks passing (0 errors in main code)
  • ✅ All ruff lint checks passing
  • ✅ Modern Python 3.12+ type hints throughout
    • Using list, dict instead of List, Dict
    • Using int | None instead of Optional[int]
    • Using union pipe operator | for type unions

Test Infrastructure

  • Enhanced test fixtures with proper type annotations
  • Improved test organization and clarity
  • Better mock object setup and teardown

Modern Python Practices

  • Enhanced use of match statements for pattern matching
  • Improved use of walrus operator := for cleaner code
  • Never-nester approach with early returns and guard clauses
  • Declarative and minimalist code style

📊 Performance Improvements

Selector Performance

  • Faster search/filter on large model and provider lists
  • Optimized layout rendering with modular TCSS files
  • Reduced TCSS file size through better organization

Build & Release

  • Improved build process with modern packaging tools
  • Optimized wheel distribution

🔄 Files Modified

Core Changes

  • revibe/cli/textual_ui/widgets/provider_selector.py - Complete redesign with search and detail panel
  • revibe/cli/textual_ui/widgets/model_selector.py - Enhanced with grouping, metadata, and detail panel
  • revibe/cli/textual_ui/app.py - Updated to use new modular TCSS files

TCSS Reorganization

  • Moved from: app.tcss, diff.tcss, input.tcss, thought.tcss, welcome_banner.tcss
  • Moved to: Modular tcss/ directory structure (40+ new files)
  • Updated: revibe/setup/onboarding/onboarding.tcss → tcss/ directory
  • Updated: revibe/setup/trusted_folders/trust_folder_dialog.tcss → tcss/ directory

Style Files (Updated)

  • All selector TCSS files under tcss/selector/
  • App layout TCSS files under tcss/app/
  • Input area TCSS files under tcss/input/
  • And more...

Tests Updated

  • tests/acp/test_*.py - Type annotations and imports fixed
  • tests/skills/test_models.py - Type safety improvements
  • tests/tools/test_manager_get_tool_config.py - Import organization
  • tests/onboarding/test_api_key_screen.py - Type improvements
  • tests/test_agent_observer_streaming.py - Mock type annotations

Configuration

  • pyproject.toml - Version bumped to 0.2.8
  • revibe/__init__.py - Version string updated
  • revibe-acp.spec - Updated for build

📋 Installation & Upgrade

Install from PyPI

pip install revibe==0.2.8
# or
uv pip install revibe==0.2.8

Upgrade from Previous Version

pip install --upgrade revibe==0.2.8
# or
uv pip install --upgrade revibe==0.2.8

✅ Quality Metrics

Metric Result
Type Checking ✅ 0 errors in main code
Linting ✅ All checks pass
Test Coverage ✅ Comprehensive
Python Version ✅ 3.12+

🐛 Known Issues

  • None identified in this release

🔗 Links


👏 Contributors

Thank you to all contributors who helped make this release possible!


Release Notes Generated: January 17, 2026