docs: add TUI demo, screenshots, and update README

- Add demo.gif showcasing TUI workflow
- Add screenshots for dashboard, repos, help, and filter views
- Update README with demo GIF at top
- Add Screenshots section with 2x2 grid
- Document TUI feature and keybindings
- Update installation to recommend --features tui
This commit is contained in:
2026-01-26 13:59:14 +01:00
parent 498786071f
commit bc2d5b6f78
7 changed files with 152 additions and 10 deletions

View File

@@ -5,8 +5,11 @@
A plugin manager for [mpv](https://mpv.io/) scripts. Manage your mpv scripts declaratively with simple commands - add repos, install, update, and keep everything in sync.
![empeve demo](assets/demo.gif)
## Features
- **Interactive TUI** - Vim-style terminal interface for managing everything
- **Declarative config** - Define your scripts in `config.toml`, run `install` to sync
- **Git-based** - Scripts are cloned from GitHub (or any git URL) with shallow clones
- **Multi-target support** - Manage multiple mpv configs (mpv, jellyfin-mpv-shim, celluloid, etc.)
@@ -18,6 +21,19 @@ A plugin manager for [mpv](https://mpv.io/) scripts. Manage your mpv scripts dec
- **Lockfile support** - Create reproducible installations across machines
- **Diagnostics** - Built-in doctor command to diagnose and fix issues
## Screenshots
<table>
<tr>
<td><img src="assets/screenshots/dashboard.png" alt="Dashboard" width="400"/><br/><em>Dashboard - overview and quick actions</em></td>
<td><img src="assets/screenshots/repos.png" alt="Repos" width="400"/><br/><em>Repos - manage repositories</em></td>
</tr>
<tr>
<td><img src="assets/screenshots/help.png" alt="Help" width="400"/><br/><em>Help - keybinding reference</em></td>
<td><img src="assets/screenshots/filter.png" alt="Filter" width="400"/><br/><em>Filter - search and filter</em></td>
</tr>
</table>
## Installation
### From source (recommended)
@@ -27,7 +43,10 @@ A plugin manager for [mpv](https://mpv.io/) scripts. Manage your mpv scripts dec
git clone https://somegit.dev/vikingowl/empeve.git
cd empeve
# Build and install
# Build and install with TUI (recommended)
cargo install --path . --features tui
# Or without TUI (CLI only)
cargo install --path .
```
@@ -35,26 +54,39 @@ cargo install --path .
- Rust 1.70+ (for building)
- Git (for cloning repositories)
- Terminal with truecolor support (for TUI)
## Quick Start
```bash
# First run - detects mpv configs and prompts for setup
# Launch the TUI (if built with --features tui)
empeve
# Or use CLI commands directly
empeve status
# Browse popular scripts and add interactively
empeve browse -i
# Or add a specific repo
empeve add tomasklaen/uosc
# Install all configured repos
empeve install
# Update all repos to latest
empeve update
```
## TUI
Launch the interactive TUI by running `empeve` without arguments. Navigate with vim-style keybindings.
| Key | Action |
|-----|--------|
| `j/k` | Move down/up |
| `g/G` | Jump to top/bottom |
| `Tab/S-Tab` | Next/previous view |
| `/` | Filter mode |
| `?` | Help |
| `q` | Quit |
**Views:** `D` Dashboard · `R` Repos · `S` Scripts · `C` Catalog · `T` Targets
Each view has context-specific actions shown in the footer.
## Usage
### Adding Scripts

BIN
assets/demo.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 KiB

110
assets/demo.tape Normal file
View File

@@ -0,0 +1,110 @@
# VHS documentation
#
# Output:
# Output <path>.gif Create a GIF output at the given <path>
# Output <path>.mp4 Create an MP4 output at the given <path>
# Output <path>.webm Create a WebM output at the given <path>
#
# Require:
# Require <string> Ensure a program is on the $PATH to proceed
#
# Settings:
# Set FontSize <number> Set the font size of the terminal
# Set FontFamily <string> Set the font family of the terminal
# Set Height <number> Set the height of the terminal
# Set Width <number> Set the width of the terminal
# Set LetterSpacing <float> Set the font letter spacing (tracking)
# Set LineHeight <float> Set the font line height
# Set LoopOffset <float>% Set the starting frame offset for the GIF loop
# Set Theme <json|string> Set the theme of the terminal
# Set Padding <number> Set the padding of the terminal
# Set Framerate <number> Set the framerate of the recording
# Set PlaybackSpeed <float> Set the playback speed of the recording
# Set MarginFill <file|#000000> Set the file or color the margin will be filled with.
# Set Margin <number> Set the size of the margin. Has no effect if MarginFill isn't set.
# Set BorderRadius <number> Set terminal border radius, in pixels.
# Set WindowBar <string> Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight)
# Set WindowBarSize <number> Set window bar size, in pixels. Default is 40.
# Set TypingSpeed <time> Set the typing speed of the terminal. Default is 50ms.
#
# Sleep:
# Sleep <time> Sleep for a set amount of <time> in seconds
#
# Type:
# Type[@<time>] "<characters>" Type <characters> into the terminal with a
# <time> delay between each character
#
# Keys:
# Escape[@<time>] [number] Press the Escape key
# Backspace[@<time>] [number] Press the Backspace key
# Delete[@<time>] [number] Press the Delete key
# Insert[@<time>] [number] Press the Insert key
# Down[@<time>] [number] Press the Down key
# Enter[@<time>] [number] Press the Enter key
# Space[@<time>] [number] Press the Space key
# Tab[@<time>] [number] Press the Tab key
# Left[@<time>] [number] Press the Left Arrow key
# Right[@<time>] [number] Press the Right Arrow key
# Up[@<time>] [number] Press the Up Arrow key
# Down[@<time>] [number] Press the Down Arrow key
# PageUp[@<time>] [number] Press the Page Up key
# PageDown[@<time>] [number] Press the Page Down key
# Ctrl+<key> Press the Control key + <key> (e.g. Ctrl+C)
#
# Display:
# Hide Hide the subsequent commands from the output
# Show Show the subsequent commands in the output
# VHS tape file for empeve demo
Output assets/demo.gif
Set FontSize 14
Set Width 1200
Set Height 700
Set Theme "Catppuccin Mocha"
# Start empeve
Type "empeve"
Enter
Sleep 2s
# Show dashboard
Sleep 1s
# Navigate to Repos
Type "R"
Sleep 1.5s
# Move through list
Type "j"
Sleep 500ms
Type "j"
Sleep 500ms
Type "k"
Sleep 1s
# Show help
Type "?"
Sleep 2s
Escape
Sleep 500ms
# Filter mode
Type "/"
Sleep 1s
Type "po5"
Sleep 2s
Escape
Sleep 500ms
# Tab through views
Tab
Sleep 1s
Tab
Sleep 1s
Tab
Sleep 1s
# Quit
Type "q"
Sleep 500ms

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
assets/screenshots/help.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB