tf-drift

TUI Style System

tf-drift should support modern terminal interface styles without changing scan behavior, worker behavior, or non-interactive output.

Problem And Goal

The current TUI renders raw ANSI escape sequences directly in the scan dashboard and config picker. That makes colors hard to update, creates duplicated row highlighting logic, and makes accessibility choices difficult to enforce.

Goal: add a small semantic style layer that supports modern, classic, minimal, and accessible TUI styles while preserving current keyboard shortcuts, status text, filters, and detail navigation.

Flow

The style resolver reads a CLI flag and environment variable, falls back predictably, and respects no-color mode before rendering either TUI.

TUI style flow

Scope

Non-Goals

Style Names

Style Purpose
modern Default polished style with semantic colors and clear focus rows.
classic Close to existing cyan/red/green/yellow ANSI feel.
minimal Low-decoration style for plain terminals and NO_COLOR.
accessible High-contrast style that avoids relying on color alone.

Acceptance Criteria

Test Plan

Rollout Notes

This is safe as a default behavior change because it preserves text labels and command semantics. Users who prefer lower decoration can opt into minimal, and automation should still use -non-interactive.