remove: TUI dashboard, keep CLI-only interface#32
Merged
Conversation
added 14 commits
July 11, 2026 20:41
- Improved banner with gradient colors and 3 variants (full/mini/rich) - Enhanced TUI widgets with color-coded metrics and status icons - Improved screens with better layouts using Horizontal/Vertical containers - Added dark/light theme support in Textual CSS - Fixed Rich markup syntax error in QuickActions widget - All 72 CLI/config tests passing, zero regressions
- Added theme system with 70+ semantic tokens (frozen dataclass) - Added streaming output with 6-state machine - Added spinner widget with rotating tips - Added status footer with session info - Added tool-specific renderers (eval, audit, diagnose) - Updated styles.tcss for new components - Added 48 tests for new components (120/120 passing) Phase 1 of Claude Code-inspired TUI redesign.
- Added name: ThemeName = ThemeName.DARK to Theme dataclass - Updated DARK_THEME, LIGHT_THEME, ANSI_DARK_THEME with name parameter - Fixed missing closing brace in THEMES dict - All 48 tests passing
- Added MessageList widget with O(visible) rendering - Added Message and MessageRole dataclasses - Added line map for multi-line message support - Added auto-scroll, batch updates, max messages limit - Added 19 new tests (139/139 passing) - Updated styles.tcss for MessageList component Phase 2 of Claude Code-inspired TUI redesign.
- Added RichCommandInput with fuzzy matching autocomplete - Added Command dataclass with name, description, aliases, args - Added CommandSuggester with prefix, alias, and substring matching - Added vim mode support (i, a, o, dd, dw, yy) - Added command history with max history limit - Added 24 new tests (163/163 passing) - Updated styles.tcss for RichCommandInput component Phase 3 of Claude Code-inspired TUI redesign.
- Added ChatScreen with MessageList, StatusFooter, and command input - Integrated theme system with get_theme() - Integrated streaming manager for streaming responses - Added keyboard shortcuts (Ctrl+P, Ctrl+L, Escape) - Added welcome message with available commands - All 163 tests passing Phase 4 of Claude Code-inspired TUI redesign.
- Removed :dark and :light pseudo-selectors (not supported in Textual 8.x) - Removed style='dim' from Rule() calls (not supported in Textual 8.x) - Fixed register_screen() to use push_screen() with screen instances - Fixed push_screen() to use screen instances instead of string names - All 163 tests passing - UI now launches successfully with 'oaeval ui'
- Added import error details to help debug Textual installation issues - Package now installs in development mode with 'pip install -e .'
- Added TUI component overview and architecture - Added keyboard shortcuts reference - Added TUI testing instructions - Added TUI-specific debugging tips - Updated project structure with ui/ directory
- Removed version display from all banner functions - Fixed ASCII art to properly spell 'OAEVAL' - Updated BannerWidget in TUI to show correct ASCII art - All tests passing
- New block-character ASCII art for OAEVAL branding - Gradient coloring from cyan to blue - Updated tagline to 'Production-Ready RAG Evaluation' - All tests passing
- Removed _get_version() from banner.py and widgets.py - Removed importlib.metadata.version import - Removed corresponding test - Version display already removed from banner
- Removed all color styling from banner, widgets, screens - Changed cyan/blue/bright_blue to bold/dim - Changed green/yellow/red to bold/dim - Simplified status indicators - All tests passing
- Remove openagent_eval/ui/ (12 source files: app, screens, components, widgets, theme, streaming, styles) - Remove openagent_eval/cli/commands/ui.py - Remove ui command from CLI registration and shell completions (bash/zsh/fish) - Remove textual and pyfiglet from pyproject.toml optional dependencies - Remove test_phase14_redesign.py and test_phase14_ui.py - 43 CLI tests pass, 0 regressions The TUI (Textual-based dashboard) was unused in practice — all evaluation workflows run through the CLI. Removing it simplifies the codebase and eliminates the textual/pyfiglet dependency chain.
| ctx = click.get_current_context(silent=True) | ||
| if ctx is not None and ctx.invoked_subcommand is None and not quiet: | ||
| create_mini_banner() | ||
| except Exception: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Remove the Textual-based TUI dashboard and keep the CLI-only interface.
Changes
openagent_eval/ui/— 12 source files (app, screens, components, widgets, theme, streaming, styles)openagent_eval/cli/commands/ui.py— theoaeval uicommanduifrom CLI registration and shell completions (bash/zsh/fish)textualandpyfigletfrompyproject.tomloptional dependenciestest_phase14_redesign.pyandtest_phase14_ui.py— UI-specific testsWhy
The TUI (Textual-based dashboard) was unused in practice — all evaluation workflows run through the CLI. Removing it:
Verification
oaeval --helpshows 13 commands (noui)Impact
oaeval ui