Desktop client for Reality Launcher, built with Electron + Astro/React and a Rust native module.
- Frontend: Astro + React
- Desktop shell: Electron
- Native module: Rust (
native/, napi-rs) - Styling: Tailwind CSS
bun install
cd native && bun install && bun run build && cd ..
bun run dev# Build web + electron bundles
bun run build
# Build native module only
bun run build:rust
# Package installers
bun run dist
bun run dist:win
bun run dist:mac
bun run dist:linuxBuild artifacts are generated in release-build/.
Copy .env.example to .env.local and adjust only what you need.
Main optional runtime env vars:
ML_API_URLAUTH_URLML_CURSEFORGE_DOWNLOAD_CONCURRENCYML_MODPACK_DOWNLOAD_CONCURRENCY
Windows Store release helpers:
MS_STORE_PRODUCT_IDMS_STORE_MSIX_ARCHMS_STORE_TENANT_IDMS_STORE_SELLER_IDMS_STORE_CLIENT_IDMS_STORE_CLIENT_SECRETMSSTORE_BIN
- Public CI for PRs runs on GitHub-hosted runners (
.github/workflows/ci.yml). - Release pipeline uses self-hosted runners (
.github/workflows/build.yml) and publish secrets. - macOS self-hosted release runner is opt-in via repo variable
ENABLE_MACOS_RUNNER=true. - GitLab is also supported:
- CI checks on merge requests/main (
.gitlab-ci.ymljobci:checks) - release deploy flow (tag/manual/main with flags)
- runs on self-hosted shell runners (
linux,windows,macostags)
- CI checks on merge requests/main (
See CONTRIBUTING.md.
See SECURITY.md.
GPL-3.0-only. See LICENSE.