Development

Environment

Desktop and website prerequisites and local setup.

The desktop application and website are developed independently. You can work on the website without cloning the desktop repository. If you work on both, use separate dependency installations.

Desktop application

Required:

  • Rust stable and Cargo.
  • Node.js 20 or newer and npm.
  • Tauri 2 Linux prerequisites: WebKitGTK 4.1, GTK 3, and libsoup 3.

Required for VM operations:

  • QEMU and qemu-img. The shell can start without them, but machines cannot be created or started.
  • An accessible Linux KVM device at /dev/kvm is optional; without it, QEMU uses software emulation.
git clone https://github.com/somemorewater/waveVM.git
cd waveVM
npm install
npm run dev

See Prerequisites for distribution notes and Building from source for the full check sequence.

Website

The website uses Node.js 18.18 or newer and pnpm. It has no build-time or runtime dependency on the desktop repository.

git clone https://github.com/somemorewater/wave-vm-website.git
cd wave-vm-website
pnpm install
pnpm dev

The website is available at http://localhost:3000 by default.

Keep the projects independent

Do not add symlinks, relative imports, or runtime paths from the website to the desktop repository. Do not import desktop source files at website build time. The website must continue to build when the desktop repository is absent.