Back to projects

Git-Based Addon Manager

Cross-platform Tauri desktop app for managing World of Warcraft addons via Git, built as a Rust + Vue.js experiment that grew into a full-featured manager.

rusttaurivuedesktop

Git-Based Addon Manager

A modern GUI addon manager that uses Git repositories to install, update, and manage World of Warcraft addons across multiple installations.

Why I Built It

I started this project as a way to explore building a real desktop application with the following constraints:

  • Rust-first core with strong typing and safety
  • Tauri for a lightweight, cross-platform shell
  • Vue.js + DaisyUI for a pleasant, testable UI

At the same time, I had a concrete pain point: keeping the same set of addons up to date across multiple WoW clients and installs. Existing managers either did not support Git-based workflows well or were too tied to a single ecosystem. This project became a way to:

  • Treat addons as versioned Git repos instead of opaque downloads
  • Sync addons across multiple addon directories (e.g., different clients / installs)
  • Experiment with end-to-end tooling: Rust backend, Vue frontend, tests, and CI

Over time, what started as a Tauri experiment turned into a practical tool I actually use.

Key Features

  • Git-based installs: Install addons directly from GitHub/GitLab URLs
  • Curated catalogue: Built-in list of popular addons for quick install without hunting for URLs
  • Bulk operations: Install or update all tracked addons in one action
  • Multiple addon directories: Manage several WoW installs from a single UI
  • Local addon support: Install from local folders and keep non-Git addons managed via symlinks
  • Branch and sub-addon management: Switch Git branches and handle nested addon structures
  • Headless CLI mode: Run in --headless mode to check and update addons without opening the UI
  • Cross-platform: Works on Windows, Linux, and macOS

For full details, screenshots, and usage examples, see the project README on GitHub.

Tech Stack

  • Rust for the core logic and CLI
  • Tauri as the desktop application shell
  • Vue.js for the frontend
  • DaisyUI + Tailwind CSS for styling and components
  • Bun for frontend tooling and scripts
  • Testing & tooling: Rust tests, ESLint/Prettier, and git hooks for formatting

What I Learned

  • How to structure a Rust + Tauri + Vue codebase cleanly between backend and frontend
  • Managing cross-platform filesystem quirks (symlinks, paths, and permissions) for addon directories
  • Designing a UI that stays simple while still exposing advanced flows like local imports and headless updates

Related Projects

Realmctl
Rust CLI tool to launch World of Warcraft clients, switch realmlist targets, and manage disk-efficient workspaces from a single config.
rustcliwow