-
Notifications
You must be signed in to change notification settings - Fork 0
Building and Releasing
Requires a Rust toolchain (see rust-toolchain.toml in the repo root for the pinned version).
git clone https://github.com/SpaceSquare640/GTAV_Mods_Manager.git
cd GTAV_Mods_Manager
cargo build
cargo test
Run the CLI directly:
cargo run -p gtavmm-cli -- --help
cd crates/gtavmm-app
npm install
npm run tauri dev # dev mode with hot reload
npm run build # frontend build only
npm run tauri build # full native app bundle
-
crates/gtavmm-core— the engine. No UI or CLI dependencies, so it can be tested and reused independently. -
crates/gtavmm-cli— thin CLI wrapper overgtavmm-core. -
crates/gtavmm-app/src-tauri— the Tauri backend, itself a thin wrapper: every command is split into a plain, unit-testable*_implfunction plus a#[tauri::command]wrapper. -
crates/gtavmm-app/src— the React + TypeScript frontend.
GitHub Actions runs cargo build/cargo test/cargo clippy on both Windows and Linux for
every push — see .github/workflows/ in the repo. A schema-version bug that only manifested on
Linux (a difference in how ExitStatus decodes raw waitpid status vs. Windows exit codes) was
actually caught this way, not locally — a concrete example of why both platforms run in CI
rather than just the primary dev machine's OS.
Not yet tagged — there are no GitHub Releases published as of this writing. Once the project reaches its first release, binaries will be published via GitHub Releases with a SHA-256 checksum for each — that will be the only official distribution channel; we take no responsibility for copies obtained elsewhere.
gtavmm report-crash "<what happened>" generates a de-identified, pre-filled GitHub Issue draft
— review it and submit it yourself; nothing is sent automatically. Or open an issue directly:
https://github.com/SpaceSquare640/GTAV_Mods_Manager/issues