Introduction
WTF (aka wtfutil) is a personal terminal dashboard that pulls data from services you use daily and displays them in a single customizable view. It is designed to keep developers informed without leaving the terminal.
What WTF Does
- Displays real-time data from dozens of modules (Git, GitHub, Jira, PagerDuty, weather, and more)
- Provides a fully customizable YAML-based layout and configuration system
- Supports keyboard navigation and interactive modules for quick actions
- Refreshes data at configurable intervals per module
- Works across macOS, Linux, and Windows with a single binary
Architecture Overview
WTF is written in Go and uses the tview library for terminal rendering. Each data source is implemented as an independent module that fetches data on its own refresh cycle. The layout engine reads a YAML config file to arrange modules in a grid. Modules communicate through a simple interface, making it straightforward to add new data sources.
Self-Hosting & Configuration
- Install via Homebrew, AUR, or download a prebuilt binary from GitHub Releases
- Configuration lives in
~/.config/wtf/config.ymlby default - Each module has its own config block with API keys, refresh intervals, and display options
- Grid layout is defined by rows and columns in the config file
- Environment variables can be referenced in config for sensitive values like API tokens
Key Features
- Over 40 built-in modules covering DevOps, project management, and productivity
- Lightweight single binary with no runtime dependencies
- Hot-reloadable configuration without restarting the application
- Keyboard-driven navigation with per-module keybindings
- Extensible module system with a well-documented Go API
Comparison with Similar Tools
- tmux status bar — limited to simple text; WTF provides rich multi-source dashboards
- Grafana — browser-based and designed for metrics; WTF is terminal-native and personal
- Glances — focused on system monitoring; WTF aggregates external service data
- btop/htop — system resource monitors; WTF covers project and service data, not CPU/RAM
- Dashy/Homepage — web-based dashboards; WTF runs entirely in the terminal
FAQ
Q: Does WTF require an internet connection? A: Only for modules that fetch remote data. Local modules like Git work offline.
Q: Can I write custom modules? A: Yes. WTF exposes a Go module interface you can implement and compile into your own build.
Q: How do I pass API keys securely? A: Use environment variable references in the YAML config or a secrets manager integration.
Q: Does it work over SSH? A: Yes. It runs in any terminal that supports 256 colors, including remote SSH sessions.