tui
Guide for Splitrail's terminal UI and file watching. Use when modifying the TUI, stats display, or real-time update logic.
$ 설치
git clone https://github.com/Piebald-AI/splitrail /tmp/splitrail && cp -r /tmp/splitrail/.claude/skills/tui ~/.claude/skills/splitrail// tip: Run this command in your terminal to install the skill
SKILL.md
name: tui description: Guide for Splitrail's terminal UI and file watching. Use when modifying the TUI, stats display, or real-time update logic.
Real-Time Monitoring & TUI
Splitrail provides a terminal UI with live updates when analyzer data files change.
Source Files
src/tui.rs- TUI entry point and renderingsrc/tui/logic.rs- TUI state management and input handlingsrc/watcher.rs- File watching implementation
Components
FileWatcher (src/watcher.rs)
Watches analyzer data directories for changes using the notify crate. Triggers incremental re-parsing on file changes and updates TUI via channels.
RealtimeStatsManager
Coordinates real-time updates: background file watching, auto-upload to Splitrail Cloud (if configured), and stats updates to TUI via tokio::sync::watch.
TUI (src/tui.rs, src/tui/logic.rs)
Terminal interface using ratatui:
- Daily stats view with date navigation
- Session view with lazy message loading
- Real-time stats refresh
Key Patterns
- Channel-based updates - Stats flow through
tokio::sync::watchchannels - Lazy message loading - Messages loaded on-demand for session view to reduce memory
Adding Watch Support to an Analyzer
Implement get_watch_directories() in your analyzer to return root directories for file watching. See src/analyzer.rs for the trait definition.
Repository

Piebald-AI
Author
Piebald-AI/splitrail/.claude/skills/tui
78
Stars
6
Forks
Updated5d ago
Added6d ago