diff --git a/README.md b/README.md index a54c5dd..32aef8f 100644 --- a/README.md +++ b/README.md @@ -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 + + + + + + + + + + +
Dashboard
Dashboard - overview and quick actions
Repos
Repos - manage repositories
Help
Help - keybinding reference
Filter
Filter - search and filter
+ ## 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 diff --git a/assets/demo.gif b/assets/demo.gif new file mode 100644 index 0000000..e4b97d4 Binary files /dev/null and b/assets/demo.gif differ diff --git a/assets/demo.tape b/assets/demo.tape new file mode 100644 index 0000000..b7b6fde --- /dev/null +++ b/assets/demo.tape @@ -0,0 +1,110 @@ +# VHS documentation +# +# Output: +# Output .gif Create a GIF output at the given +# Output .mp4 Create an MP4 output at the given +# Output .webm Create a WebM output at the given +# +# Require: +# Require Ensure a program is on the $PATH to proceed +# +# Settings: +# Set FontSize Set the font size of the terminal +# Set FontFamily Set the font family of the terminal +# Set Height Set the height of the terminal +# Set Width Set the width of the terminal +# Set LetterSpacing Set the font letter spacing (tracking) +# Set LineHeight Set the font line height +# Set LoopOffset % Set the starting frame offset for the GIF loop +# Set Theme Set the theme of the terminal +# Set Padding Set the padding of the terminal +# Set Framerate Set the framerate of the recording +# Set PlaybackSpeed Set the playback speed of the recording +# Set MarginFill Set the file or color the margin will be filled with. +# Set Margin Set the size of the margin. Has no effect if MarginFill isn't set. +# Set BorderRadius Set terminal border radius, in pixels. +# Set WindowBar Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight) +# Set WindowBarSize Set window bar size, in pixels. Default is 40. +# Set TypingSpeed