summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-10-02 08:38:03 +0300
committerPaul Buetow <paul@buetow.org>2025-10-02 08:38:03 +0300
commit0c1b108ff5fccf39ae5bc6dc06802ce565bda633 (patch)
tree914e65e04bae26d3eae565f9d6a64d08ade361d0 /README.md
parent36be499ed342d92969ccaaff083c557a0951def9 (diff)
new version major refactorv0.2.0
Diffstat (limited to 'README.md')
-rw-r--r--README.md45
1 files changed, 44 insertions, 1 deletions
diff --git a/README.md b/README.md
index 1ea7a30..ad3ed2e 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,48 @@
# Yoga
-A yoga video selector. Fully vibe-coded.
+Yoga is a TUI for browsing local yoga videos with quick filtering, duration probing, and one-key playback via VLC.
![Yoga](yoga.png)
+
+## Usage
+
+```bash
+yoga [--root PATH] [--crop WxH] [--version]
+```
+
+- `--root` sets the directory to scan for videos. When omitted, Yoga uses `~/Yoga` and creates it on first launch.
+- `--crop` supplies an optional VLC crop string (for example `5:4`). Toggle the crop at runtime with the `c` key.
+- `--version` prints the current version and exits.
+
+Yoga recognises common video extensions (`.mp4`, `.mkv`, `.mov`, `.avi`, `.wmv`, `.m4v`) and follows symlinks when scanning. Duration metadata is cached per directory in `.video_duration_cache.json`.
+
+### Keyboard Shortcuts
+
+- `↑/↓` – Navigate the table
+- `enter` – Play the selected video in VLC
+- `/` or `f` – Open the filter dialog
+- `r` – Reset filters
+- `n`, `l`, `a` – Sort by name, length, or age
+- `c` – Toggle VLC crop
+- `q` – Quit
+
+## Development
+
+The project uses [Mage](https://magefile.org/) for common tasks. Targets live in `magefile.go`.
+
+```bash
+mage build # go build ./cmd/yoga
+mage test # go test ./...
+mage install # go install ./cmd/yoga
+mage coverage # go test with coverage (fails if <85%)
+```
+
+Before sending changes:
+
+1. Format Go code with `gofumpt`.
+2. Run `mage test` and `mage coverage` to ensure the suite passes and coverage stays above 85%.
+3. Update documentation when flags or behaviour change.
+
+## Licensing
+
+This repository is released under the terms specified in the accompanying license file (if present).