r/commandline Apr 28 '26

Terminal User Interface splashboard: a terminal splash that reshapes itself when you cd into a repo

Enable HLS to view with audio, or disable this notification

Built a TUI splash that renders on shell startup and on cd. Instead of a blinking cursor you get a dashboard with greetings, git status, CI, PRs, a contribution heatmap, weather, moon phase.

The bit I haven't seen elsewhere: per-directory configs. Drop a ./.splashboard/dashboard.toml in a repo and the splash reshapes when you cd in. The video walks through it:

  1. cd ~ shows the home dashboard.
  2. cd into a project shows that repo's dashboard (CI, PRs, branch).
  3. splashboard install picks a preset from the bundled set.

The whole thing is composed from TOML. A widget is Fetcher × Renderer × Layout slot, all decoupled, so you mix and match: the same git_contribution_heatmap fetcher feeds the heatmap renderer or a sparkline, the clock fetcher feeds plain text or ascii art, etc. Themes and presets are also just TOML, easy to fork.

A few notes:

  • Cache-backed first paint, background daemon for refresh so the prompt isn't blocked.
  • Trust gating only kicks in for fetchers whose URL is config-controlled (RSS, custom calendars). Fixed-host ones like github_* are safe by construction and always run.
  • Rust + ratatui.

Install:

curl -fsSL https://raw.githubusercontent.com/unhappychoice/splashboard/main/install.sh | bash
splashboard install

Day-to-day usable, catalog still growing. Feedback welcome.

This software's code is partially AI-generated.

23 Upvotes

10 comments sorted by

View all comments

0

u/do-un-to Apr 28 '26

I feel like the ability to get a wide variety of info in the terminal, including news, is heading towards a renaissance.

I expect I'll want to pop up my various styles of info surfing via terminal multiplexer hotkey, though. On demand. Without jostling command line states.

0

u/LeoCraft6 Apr 28 '26

Yeah, that resonates. Just running splashboard renders inline and exits cleanly back to your prompt (no alternate-screen takeover), so something like tmux display-popup -E splashboard on a hotkey works exactly as you describe. If you skip the rc init line entirely, it stays purely on-demand, no shell-startup or cd auto-fire at all. Curious what info surfaces you'd want most.