Guide for Splitrail's terminal UI and file watching. Use when modifying the TUI, stats display, or real-time update logic.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
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.
More by Piebald-AI
View all<!--
Remember Skill: <!--
Guide for working with Splitrail's MCP server. Use when adding tools, resources, or modifying the MCP interface.
Guide for adding a new AI coding agent analyzer to Splitrail. Use when implementing support for a new tool like Copilot, Cline, or similar.
