Skip to content

feat: add live dashboard and polling to validate command#189

Merged
l50 merged 1 commit into
mainfrom
validate-tui-poll
May 10, 2026
Merged

feat: add live dashboard and polling to validate command#189
l50 merged 1 commit into
mainfrom
validate-tui-poll

Conversation

@l50
Copy link
Copy Markdown
Contributor

@l50 l50 commented May 10, 2026

Key Changes:

  • Introduced a live dashboard (TUI) for the validate command using Bubbletea and Lipgloss
  • Added --plain and --poll flags to control dashboard output and recurring validation
  • Refactored validation flow to support live updates, polling, and clean separation of UI logic
  • Added comprehensive tests for polling intervals, dashboard rendering, and TUI state management

Added:

  • Live dashboard implementation for validation runs, with dynamic status board and category breakdown - internal/validate/tui.go, internal/validate/panel.go
  • Support for --plain (disable dashboard) and --poll (repeat validation at intervals) flags to the validate command - cmd/validate.go
  • Helper functions and types for parsing poll intervals, managing dashboard state, and rendering panels
  • Unit tests for poll interval parsing, dashboard rendering, and TUI logic - cmd/validate_test.go, internal/validate/panel_test.go, internal/validate/tui_test.go

Changed:

  • Refactored runValidate to support TUI or plain output based on terminal detection and user flags - cmd/validate.go
  • Reorganized validator state management to support polling and live updates, including new methods for resetting state, silent operation, and result callbacks - internal/validate/validator.go
  • Updated module dependencies to add golang.org/x/term for terminal detection and UI sizing - go.mod

Removed:

  • Removed dependency on github.com/fatih/color in validate.go in favor of Lipgloss-based rendering for consistent color and style handling

**Added:**

- Introduced `--plain` flag to disable live dashboard and stream results to stdout in validate command
- Added `--poll` flag to rerun validation on a configurable cadence in validate command
- Implemented terminal TUI dashboard for validation runs using Bubbletea and Lipgloss, including real-time category/status breakdown and polling support - `internal/validate/tui.go`
- Added static summary panel rendering for post-run summary output - `internal/validate/panel.go`
- Created table-driven tests for poll interval parsing and dashboard rendering - `cli/cmd/validate_test.go`, `internal/validate/panel_test.go`, `internal/validate/tui_test.go`

**Changed:**

- Refactored validate command to support TUI dashboard, polling, and new CLI flags
- Replaced direct color output with summary panel rendering when not using TUI
- Updated output logic to separate TUI/console flows, including warnings for ignored flags

**Removed:**

- Removed dependency on `github.com/fatih/color` in favor of Lipgloss styling for output
- Eliminated redundant/legacy color output logic from validate summary
@l50 l50 merged commit c07e434 into main May 10, 2026
9 checks passed
@l50 l50 deleted the validate-tui-poll branch May 10, 2026 23:25
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.

1 participant