XIV VAULT
A Windows desktop app and command-line tool that moves a Final Fantasy XIV player’s Dalamud plugin setup to a new PC — every plugin’s settings backed up as a hash-verified ZIP to OneDrive, a NAS or any folder, and restored with a safety backup taken first.

Dalamud, the plugin framework XIVLauncher loads into the game, keeps each plugin’s settings in its own folder, and a new PC starts with none of them. XIV Vault backs up the portable part — plugin settings, Dalamud’s own settings and custom repositories, and its plugin database — and leaves the plugins themselves for Dalamud to download again. Backups run on demand or from a Windows scheduled task (daily, weekly or at login) that waits for the game to close, and a restore is a four-step wizard: choose a backup, review what it changes on this PC, pass the safety checks, restore. Nothing on disk changes before the last step.
The engine is built never to make things worse. It reads and writes only an allowlist of files, and each archive is written as a temp file, read back and checked against the SHA-256 of every file before it counts, so a failed backup never looks like a finished one. A restore checks the manifest, takes a pre-restore safety backup, unpacks into a temporary folder, replaces files one rename at a time and puts every one back if anything fails part-way. Archives with traversal paths, files outside the allowlist or a manifest that misdescribes its contents are refused, and a named mutex stops the app, the CLI and a scheduled run from writing at once. Backups that OneDrive keeps online only are recognized from their Windows file attributes, so a new PC lists them without downloading any and fetches only the one it restores.
The Avalonia desktop app and the Spectre.Console CLI are two front ends on one .NET 10 engine, and the CLI has JSON output and stable exit codes for scripts. It ships as a per-user Velopack installer that updates itself from GitHub releases through delta packages, plus portable builds, and the update check is its only network call. Nearly 200 xUnit tests and a CLI smoke test run in CI on Windows, the screenshots are rendered from the real views by Avalonia’s headless renderer against a fake XIVLauncher folder, and the first real restore brought back a 67-plugin setup.