Skip to content

Getting started

The fastest way to try Manabrew is the web client at manabrew.app. It runs the Manabrew engine compiled to WebAssembly — nothing to install.

Native installers are published on GitHub releases. Follow the platform instructions:

The client does not ship card images. They are fetched from Scryfall at runtime, so playing needs an internet connection even in the desktop app.

You need Node.js 22+, Yarn v1, and a Rust toolchain. Desktop builds also need the Tauri platform prerequisites; Java (18+) and Maven are only required for Forge-backed games and parity runs.

Terminal window
git clone --recurse-submodules https://github.com/witchesofthehill/manabrew.git
cd manabrew
yarn install
# Web client Manabrew( engine compiled to WASM)
yarn web
# Desktop client (Tauri)
yarn dev

The forge submodule provides card scripts and the Java reference engine — the --recurse-submodules flag matters.

If you cloned without --recurse-submodules, set it up before building:

Terminal window
git submodule update --init --recursive

The forge submodule is the whole Forge tree — the Java reference engine plus card scripts, editions, and tokens (it tracks the manabrew branch). Pull the latest commit and rebuild, since the harness, the WASM engine, and the card archives all build from it:

Terminal window
git submodule update --remote forge
yarn build:harness # rebuilds the Java harness + restages the Tauri card bundle
yarn web # rebuilds the WASM engine and card archive (yarn dev does too)

Skipping the rebuild leaves stale builds; one visible symptom is the deck loader removing any card not yet in the bundle — that “Removed from your deck” notice.

Questions, deck sharing, and bug reports all happen on Discord. Issues are also welcome on GitHub.