# Build from source

Run the Tauri and Rust development toolchain.

## Requirements

- Node.js 22.13 or newer and the checkout's pinned pnpm version.
- Stable Rust.
- Microsoft C++ Build Tools and WebView2 on Windows.

The documented main branch pins `pnpm@11.5.1`. Read `packageManager` in your checkout if the toolchain changes.

```powershell
git clone "https://github.com/MediaFilez/mediafilez-desktop.git"
Set-Location mediafilez-desktop
pnpm install --frozen-lockfile
pnpm tauri dev
```

Create a package:

```powershell
pnpm tauri build
```

## Check a change

```powershell
pnpm version:check
pnpm test
pnpm build
Set-Location src-tauri
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test
```

Network integration tests can download real media. Review the README before opting into them.

A local build does not publish a release or configure updater signing. Follow the [repository's release instructions](https://github.com/MediaFilez/mediafilez-desktop#publishing-a-release) for distribution.
