A comprehensive Terminal User Interface (TUI) client for the Riven media management system, built with Go and the Bubble Tea framework.
- Dashboard: Real-time system statistics and health monitoring
- Media Browser: Browse, search, and manage your media library with advanced filtering
- Item Details: Comprehensive item view with streams, metadata, and actions
- Settings Management: View and configure Riven settings
- Logs Viewer: Monitor system logs and events
- Interactive Help: Built-in help system with keyboard shortcuts
- Modern TUI Design: Clean, responsive terminal interface
- Multiple Themes: Default, dark, and light themes with customizable styling
- Responsive Layout: Adapts to different terminal sizes
- Rich Components: Tables, progress bars, spinners, toast notifications, and confirmation dialogs
- Keyboard Navigation: Intuitive vim-like key bindings
- Real-time Updates: Auto-refreshing data with configurable intervals
- Search & Filtering: Powerful search and filtering capabilities with state-based filters
- Pagination: Efficient handling of large datasets
- Error Handling: Comprehensive error handling with retry mechanisms and user feedback
- Configuration Management: Flexible YAML-based configuration system
Download the latest release for your platform from the releases page:
# Linux (amd64)
curl -L -o riven-tui https://github.com/machetie/riven-tui/releases/download/v0.2.0/riven-tui-linux-amd64
chmod +x riven-tui
# macOS (Intel)
curl -L -o riven-tui https://github.com/machetie/riven-tui/releases/download/v0.2.0/riven-tui-darwin-amd64
chmod +x riven-tui
# macOS (Apple Silicon)
curl -L -o riven-tui https://github.com/machetie/riven-tui/releases/download/v0.2.0/riven-tui-darwin-arm64
chmod +x riven-tui
# Windows
curl -L -o riven-tui.exe https://github.com/machetie/riven-tui/releases/download/v0.2.0/riven-tui-windows-amd64.exe- Access to a running Riven instance
- Bearer token for Riven API authentication
git clone https://github.com/machetie/riven-tui.git
cd riven-tui
go build -o riven-tui cmd/riven-tui/main.gogo install github.com/machetie/riven-tui/cmd/riven-tui@latest
β οΈ Breaking Change Notice: Starting from version 0.2.0, the authentication method has changed fromapi_keytotokenusing standard Bearer token authentication. Please update your configuration files to usetoken:instead ofapi_key:. The oldRIVEN_API_KEYenvironment variable is still supported but deprecated - please useRIVEN_API_TOKENinstead.
Create a configuration file at ~/.config/riven-tui/config.yaml:
api:
endpoint: "http://localhost:8080"
token: "your-bearer-token-here"
timeout: 30s
ui:
refresh_interval: 5s
theme: "default"You can also configure using environment variables:
RIVEN_API_ENDPOINT: Riven API endpoint URLRIVEN_API_TOKEN: Bearer token for authenticationRIVEN_API_TIMEOUT: Request timeout (default: 30s)
# Start the TUI
./riven-tui
# Specify custom config file
./riven-tui --config /path/to/config.yaml
# Use environment variables
RIVEN_API_ENDPOINT=http://localhost:8080 RIVEN_API_TOKEN=your-token ./riven-tui- Arrow Keys / hjkl: Navigate menus and lists
- Enter: Select item or confirm action
- Tab: Switch between panels
- Esc: Go back or cancel
- q: Quit application
- r: Refresh current view
- ?: Show help
- Dashboard (
d): System overview and quick stats - Media Items (
m): Browse and manage media library - Settings (
s): Configure Riven settings - Logs (
l): View system logs and events - Help (
?): Show keyboard shortcuts
riven-tui/
βββ cmd/riven-tui/ # Main application entry point
βββ pkg/
β βββ api/ # API client and HTTP handling
β βββ config/ # Configuration management
β βββ models/ # Data models and structures
β βββ tui/ # TUI components and screens
βββ go.mod
βββ go.sum
βββ README.md
go run cmd/riven-tui/main.go# Build for current platform
go build -o riven-tui cmd/riven-tui/main.go
# Cross-compile for different platforms
GOOS=linux GOARCH=amd64 go build -o riven-tui-linux-amd64 cmd/riven-tui/main.go
GOOS=windows GOARCH=amd64 go build -o riven-tui-windows-amd64.exe cmd/riven-tui/main.go
GOOS=darwin GOARCH=amd64 go build -o riven-tui-darwin-amd64 cmd/riven-tui/main.goWe welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests if applicable
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
git clone https://github.com/machetie/riven-tui.git
cd riven-tui
go mod download
go test ./...Releases are automated via GitHub Actions when a new tag is pushed:
git tag v0.3.0
git push origin v0.3.0This will automatically:
- Build cross-platform binaries
- Generate SHA256 checksums
- Create a GitHub release with all assets
This project is licensed under the MIT License - see the LICENSE file for details.
- Bubble Tea - The TUI framework that powers this application
- Riven - The media management system this TUI interfaces with
- Bubbles - Pre-built TUI components
- Lip Gloss - Styling library for terminal applications
Made with β€οΈ for the Riven community