Add ratatui-based TUI with project browser, creator, and log viewer screens
Implement a terminal UI for interactive project management using ratatui
0.28 with the crossterm backend. The application shell provides a tabbed
interface with three screens accessible via number keys (1-3) or Tab
cycling. A status bar at the bottom displays global keybindings.
The Project List screen renders a scrollable table of tracked projects
discovered by scanning the local root directory for .project.toml files.
Each row displays a color-coded status indicator (green for local, yellow
for archived), project name, human-readable size, and last-sync date.
Vim-style j/k and arrow key navigation is supported. Pressing r refreshes
the list from disk. The screen is empty with an appropriate message when
no projects are configured.
The Project Creator screen provides a two-field form for interactively
creating .project.toml files. The name field is pre-filled from the
current directory name. Tab and Shift+Tab cycle focus between name and
local path fields. Typing appends characters, backspace deletes. Ctrl+S
validates that the path exists and is a directory, that the name is
non-empty, then writes the .project.toml via the core library’s atomic
write function. Status messages appear on success or validation failure.
The Log Viewer screen reads the local JSONL transaction log and displays
entries in a scrollable table with timestamp, operation type, project
name, data size, and color-coded status (green OK, red FAILED, yellow
in-progress). Supports refresh with r and j/k navigation.
The TUI is enabled behind the tui Cargo feature flag which gates the
ratatui and crossterm dependencies.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.