Real-Time Monitoring & TUI

SkillFiles & storage

Guide for Splitrail's terminal UI and file watching. Use when modifying the TUI, stats display, or real-time update logic.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Real-Time Monitoring & TUI skill

What this skill tells your AI

The instructions your AI receives, as published by piebald-ai/splitrail in .claude/skills/tui/SKILL.md and read by ahel’s review.

Splitrail provides a terminal UI with live updates when analyzer data files change.

Source Files

  • src/tui.rs - TUI entry point and rendering
  • src/tui/logic.rs - TUI state management and input handling
  • src/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::watch channels
  • 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.

Signals

GitHub stars
223
Forks
25
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
tui
Source
github.com/piebald-ai/splitrail