Small desktop tool to automatically backup WoW Addon configuration.
Built with Kotlin and Compose Multiplatform.
- Kotlin 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .gitea/issue_template | ||
| .github/workflows | ||
| agent | ||
| composeApp | ||
| docs | ||
| gradle | ||
| .gitignore | ||
| AGENTS.md | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| INSTALL.md | ||
| opencode.jsonc | ||
| README.md | ||
| settings.gradle.kts | ||
| UNLICENSE | ||
WoW Backup
Automatic, scheduled backups of your World of Warcraft WTF and Interface folders — a lightweight tray app for macOS, Windows, and Linux.
Installation & Download
Pre-built binaries for macOS, Windows, and Linux are provided on each release.
Tip
See here for download links and step-by-step installation instructions.
Key Features
- Smart Auto-Configuration: Automatically detects standard WoW retail install location.
- Automated & Scheduled Backups: Background scheduler ensures regular backups with no required user interaction.
- Compression & Pruning: Supports optional ZIP compression and automatic pruning of backups beyond the configured limit.
- Game Process Detection: Checks for running WoW processes before running backups to prevent conflicts.
- Notifications: Notifies the user when backups start, succeed, fail, or are skipped.
- Launch at Startup: For truly automated operation (MacOS/Windows only).
- Theming & Customization: Modern MaterialDesign, support for Light/Dark mode, and customisable accent colour.
Application Data Locations
The app uses a configuration file to store user preferences, stored in the following locations:
- macOS:
~/Library/Application Support/WoWBackup/ - Windows:
%APPDATA%\WoWBackup\ - Linux:
~/.config/WoWBackup/
Tech Stack & Architecture
- Language: Kotlin Multiplatform
- UI Framework: Compose Multiplatform + Material3
- Architecture: MVVM + Kotlin Coroutines
- Scheduling:
io.github.kevincianfarini.cardiologist - Logging:
logback-classic+kotlin-logging-jvmwith daily rotation and archiving - Serialization: User settings stored locally using
kotlinx-serialization-json - Theming:
com.materialkolor:material-kolor
Build & Run
Prerequisites
- JDK 17 or higher installed
Development Run
- macOS / Linux:
./gradlew :composeApp:run - Windows:
.\gradlew.bat :composeApp:run
Package Application Distributions
- macOS DMG:
./gradlew :composeApp:packageDmg - Windows MSI:
.\gradlew.bat :composeApp:packageMsi - Linux DEB:
./gradlew :composeApp:packageDeb
License
This project is released into the public domain. See the UNLICENSE file or unlicense.org for details.