---
title: 'Project Setup'
sidebar_label: Introduction
description: 'Set yourself up for success'
---

## Overview

Your local development environment will need a couple of tools to compile, build, package and debug your Yew application.

## Installing Rust

To install Rust, follow the [official instructions](https://www.rust-lang.org/tools/install).

:::important
The minimum supported Rust version (MSRV) for Yew is `1.56.0`. Older versions can cause unexpected issues accompanied
by incomprehensible error messages or outright fail to compile. You can check your toolchain version using
`rustup show` (under "active toolchain") or alternatively `rustc --version`. To update your toolchain, run `rustup update`.
:::

## Install WebAssembly target

Rust can compile source codes for different "targets" (e.g. different processors). The compilation target for browser-based WebAssembly is called "wasm32-unknown-unknown". The following command will add this target to your development environment.

```shell
rustup target add wasm32-unknown-unknown
```

## Install Trunk

Trunk is the recommended tool for managing deployment and packaging, and will be used throughout the documentation and examples.
See [Wasm Build Tools](./../more/wasm-build-tools.mdx) for more information on packaging and alternatives.

```shell
# note that this might take a while to install, because it compiles everything from scratch
# Trunk also provides prebuilt binaries for a number of major package managers
# See https://trunkrs.dev/#install for further details
cargo install trunk
```

## Summary

Now that you have all the tools needed, we can [build a sample application](./build-a-sample-app.mdx).
