A terminal user interface for viewing Rootly incidents and alerts.
- View and navigate incidents with full details
- View and navigate alerts with full details
- Split-pane interface with list and detail views
- Press Enter to load extended details (roles, causes, responders, etc.)
- Keyboard-driven navigation
- Configurable API endpoint (supports self-hosted Rootly)
- Internationalization with 12 supported languages
- Persistent caching for faster startup
- In-app debug log viewer
- English (US/UK)
- Spanish (Espanol)
- French (Francais)
- German (Deutsch)
- Chinese Simplified (简体中文)
- Hindi (हिन्दी)
- Arabic (العربية)
- Bengali (বাংলা)
- Portuguese Brazilian (Portugues)
- Russian (Русский)
- Japanese (日本語)
brew tap rootlyhq/tap
brew install rootly-tuiOr in a single command:
brew install rootlyhq/tap/rootly-tuigo install github.com/rootlyhq/rootly-tui/cmd/rootly-tui@latestDownload the latest release from the Releases page.
git clone https://github.com/rootlyhq/rootly-tui.git
cd rootly-tui
make build
./bin/rootly-tuiOn first run, you'll be prompted to enter your Rootly API credentials, select your timezone, and choose your preferred language.
Configuration is stored at ~/.rootly-tui/config.yaml:
api_key: "your-api-key"
endpoint: "api.rootly.com" # Optional: defaults to api.rootly.com
timezone: "America/Los_Angeles"
language: "en_US"
layout: "horizontal" # "horizontal" (side-by-side) or "vertical" (stacked)| Option | Description | Default |
|---|---|---|
api_key |
Your Rootly API key (required) | - |
endpoint |
Rootly API endpoint | api.rootly.com |
timezone |
Timezone for displaying timestamps | UTC (auto-detected on setup) |
language |
UI language code | en_US (auto-detected on setup) |
layout |
Panel layout: horizontal or vertical |
horizontal |
- Log in to your Rootly account
- Navigate to Settings > API Keys
- Create a new API key with read permissions for incidents and alerts
# Run the TUI
rootly-tui
# Check version
rootly-tui --version
# Enable debug logging (outputs to stderr)
rootly-tui --debug
# Write debug logs to a file
rootly-tui --log debug.logDebug mode logs API requests, responses, and parsing details. This is useful for troubleshooting connection issues or unexpected behavior.
# Debug to stderr (visible after exiting TUI)
rootly-tui --debug 2> debug.log
# Or write directly to a file
rootly-tui --log debug.logDebug logs include:
- API endpoint configuration
- HTTP request method and URL
- Response status codes and body length
- JSON parsing results and errors (with prettified JSON)
Press l at any time to open the in-app log viewer. Logs are always captured in memory (up to 1000 entries) even without --debug mode.
Log viewer controls:
j/k- Scroll up/downg/G- Jump to top/bottomf- Toggle auto-follow (tail) modea- Select all logsy- Copy selected logs to clipboardc- Clear logslorEsc- Close viewer
| Key | Action |
|---|---|
j / ↓ |
Move cursor down |
k / ↑ |
Move cursor up |
g |
Go to first item |
G |
Go to last item |
[ |
Previous page |
] |
Next page |
Tab |
Switch between Incidents and Alerts |
Enter |
Load detailed view / focus detail pane for scrolling |
o |
Open item URL in browser |
c |
Copy detail panel to clipboard |
r |
Refresh data (clears cache) |
S |
Open sort menu |
l |
View debug logs |
s |
Open setup screen |
A |
Show about dialog |
? |
Toggle help overlay |
q / Esc |
Quit (or return from overlay/setup) |
┌─────────────────────────────────────────────────────────────┐
│ Rootly [Incidents] Alerts v0.1.0│
├─────────────────────────────────────────────────────────────┤
│ ┌──────────────────────┬──────────────────────────────────┐│
│ │ INCIDENTS │ [INC-123] Database Connection ││
│ │ │ ││
│ │ ▶████ INC-123 in_pro │ Status: in_progress ││
│ │ ███ INC-122 resolv │ Severity: ████ Critical ││
│ │ ██ INC-121 resolv │ ││
│ │ │ 🔗 Links ││
│ │ │ Rootly: https://rootly.com/... ││
│ │ │ ││
│ │ │ 📅 Timeline ││
│ │ │ Started: Jan 5, 10:30 AM ││
│ │ │ Detected: Jan 5, 10:32 AM ││
│ │ │ ││
│ │ Page 1 (1-3) │ 🛠 Services ││
│ │ │ • api ││
│ │ │ • database ││
│ └──────────────────────┴──────────────────────────────────┘│
├─────────────────────────────────────────────────────────────┤
│ j/k nav Tab switch o open c copy r refresh ? help │
└─────────────────────────────────────────────────────────────┘
- Go 1.24+
- Make
make build # Build binary
make run # Build and run
make dev # Run with go runmake test # Run tests
make lint # Run linter
make coverage # Run tests with coverage report
make check # Format, lint, and testReleases are automated via GoReleaser when a new tag is pushed:
git tag -a v0.1.0 -m "Release v0.1.0"
git push origin v0.1.0- Bubble Tea - TUI framework
- Bubbles - TUI components
- Lip Gloss - Style definitions
- Log - Structured logging
- go-i18n - Internationalization
- BoltDB - Persistent cache
- rootly-go - Rootly API client
MIT License - see LICENSE for details.