
# OneLauncher | OneClient
The monorepo containing the code for OneLauncher, OneClient, and their core backend.
OneClient is a Minecraft client featuring fully 100% open-source components, offering many packaged and pre-configured mods in one click.
OneLauncher is a WIP Minecraft launcher giving power-users the greatest customization whilst featuring a clean UI.
> [!NOTE]
> This is **OneLauncher/OneClient v2** — a full rewrite in Rust using [Freya](https://freyaui.dev/).
> All previous web-based (React / Tauri) code has been removed.
## Technologies Used
- [**Rust**](https://www.rust-lang.org/) (edition 2024)
- [**Freya**](https://freyaui.dev/) - native GUI framework for Rust
## Contributing
We welcome contributions! Please read our [contributing guidelines](CONTRIBUTING.md) before getting started.
### Requirements
The project targets **Rust edition 2024**, so a recent Rust toolchain is required.
- Install Rust via [rustup](https://rustup.rs/)
- Use a toolchain that supports edition 2024 (`rustc` **1.85+**)
### Building & Running
```sh
# Run the app
cargo run -p oneclient_app
# Build a release binary
cargo build --release -p oneclient_app
```
### Packaging / Releasing
Installers are produced with [**cargo-packager**](https://github.com/crabnebula-dev/cargo-packager)
(the standalone bundler spun out of the Tauri bundler). Config lives in
[`packages/oneclient_app/Cargo.toml`](./packages/oneclient_app/Cargo.toml) under
`[package.metadata.packager]`.
```sh
cargo install cargo-packager --locked
# Build the binary, then bundle it for the current OS:
cargo build --release -p oneclient_app
cargo packager --release -p oneclient_app --formats