Commit Graph

4 Commits

Author SHA1 Message Date
6f714e58fa Implement comprehensive improvement roadmap (Phases 0-4)
Phase 0 - Quick fixes:
- Fix catalog entries() return type (removed extra indirection)
- Fix welcome string (mpv-mgr → empeve)
- Fix HEAD detachment on update (branch-aware fast-forward)
- Add fetch_rev with branch detection

Phase 1 - Git model ("rev means rev"):
- Add RevType enum (Commit/Tag/Branch/Default)
- Add UpdateResult enum for update outcomes
- Implement clone_with_rev for proper revision checkout
- Pinned repos (commits/tags) skip auto-update

Phase 2 - Discovery & install fidelity:
- Support init.lua and named entry points for multi-file scripts
- Better asset mapping with prefix matching for configs
- Proactive target directory creation

Phase 3 - UX and quality-of-life:
- Add --verbose flag to status command
- Add 'empeve doctor' diagnostic command
- Improve error messages with actionable hints

Phase 4 - Feature expansion:
- External TOML catalog system (extensible)
- Import --convert-local for local script management
- Lockfile support for reproducible installations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 03:44:37 +01:00
17b6bfb76d Rename project from mpv-mgr to empeve
Rebrand the entire project with a memorable phonetic name:
- Update package and binary name in Cargo.toml
- Change config directory from ~/.config/mpv-mgr to ~/.config/empeve
- Rename MpvMgrError to EmpveError
- Update all CLI help text and user-facing messages
- Update README title and documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 02:19:08 +01:00
b2b2f7b71e Add multi-target mpv config support (Phase 1)
Core infrastructure for managing multiple mpv config folders:

Config changes (config.rs):
- Add TargetConfig struct for target definitions
- Add targets field to Config (list of target configs)
- Add targets field to RepoEntry (optional, defaults to all)
- Add should_install_to() for per-repo target filtering
- Add enabled_targets(), find_target(), add_target() helpers

Path detection (paths.rs):
- Add DetectedTarget struct for discovered configs
- Add detect_mpv_configs() to find mpv, jellyfin-mpv-shim, celluloid, flatpak
- Check for existing scripts in each detected folder

First-run setup (main.rs):
- Detect all mpv config folders on first run
- Interactive selection of which targets to manage
- Save selected targets to config

Install command (install.rs):
- Install scripts to multiple targets
- Per-repo target filtering via targets field
- Show target labels when installing to multiple targets

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 01:18:57 +01:00
97743f26ad Initial commit: mpv-mgr vim-plug style package manager
A CLI tool for managing mpv scripts inspired by vim-plug:
- Declarative config (config.toml) listing git repos
- Commands: add, remove, install, update, clean, status, list, import
- Auto-discovers .lua/.js scripts in repositories
- Symlinks scripts to ~/.config/mpv/scripts/
- Handles script assets (script-opts, fonts, shaders)
- First-run detection with import prompt for existing scripts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 00:28:05 +01:00