Skip to content

Gawdl3y/Resolute

Repository files navigation

Mod Manager GUI for Resonite


Resolute is a friendly GUI application for installing, updating, and managing Resonite mods. The goal is to provide a cross-platform beginning-to-end setup experience for Resonite modding.

Resolute loads its mod index and metadata from the Resonite Mod Manifest.

Important

Resolute is built with Tauri, which relies upon your operating system's WebView to function. If you're on Windows and have completely removed WebView2 and Edge from your system, Resolute will not work. If you remove Edge but leave WebView2 intact, it should work fine.

Resolute Mod Index screenshot

Features

Implemented

  • Manifest handling
    • Downloading
    • Caching
    • Parsing
  • Mod management
    • Listing (installed and all available)
    • Installation
    • Updating
    • Deletion
    • Detection of externally-installed mods
  • Mod authoring tools
    • SHA-256 checksum calculator
  • Automatic app updates

Planned

  • Mod disabling/reenabling
  • Drop mod file to install
  • ResoniteModLoader/Harmony alerts (missing or outdated)
  • Deprecated mod/mismatched platform alerts
  • Dependency resolution
    • Automatic installation
    • Conflict warnings
  • CLI

Contributing

All contributions are welcome! Try to keep PRs relatively small in scope (single feature/fix/refactor at a time) and word your commits descriptively.

The project is built with Tauri, which is similar to Electron but faster and much more lightweight. It uses Rust for the backend application code and HTML/JS/CSS via the user's operating system's WebView for the frontend. Specifically, Resolute's frontend is a Vue single-page application using Vuetify as its UI framework.

The library code in crates/resolute is externally reusable by other projects and thus is versioned separately. Most new features on the backend are developed there first, with the application code in crates/tauri-app simply calling those library functions.

Resolute uses ESLint + Prettier for HTML/JS (frontend) linting/style enforcement and Clippy + rustfmt for Rust (backend) linting/style enforcement.

Directory breakdown

License

Most of the project is licensed under the GPLv3 license.
The library code located in crates/resolute is instead licensed under the LGPLv3 license.