You will need the GNU build toolchain installed in order for Go to work on Windows. In most cases, this requires installing MinGW-w64.
The easiest way to install this is using MSYS2: https://www.msys2.org/
If you prefer an alternative method, you can find other methods here: https://www.mingw-w64.org/downloads/
### Task
Download and install Task (to run the build commands): https://taskfile.dev/installation/
Task is a modern equivalent to GNU Make. We use it to coordinate our build steps. You can find our full Task configuration in [Taskfile.yml](Taskfile.yml).
### Go
Download and install Go via your package manager or directly from the website: https://go.dev/doc/install
See NodeJS's website for platform-specific instructions: https://nodejs.org/en/download
### Yarn Modern
Once you have NodeJS installed, you'll need to enable Corepack so that Yarn Modern can work:
```sh
corepack enable
```
If your NodeJS distribution does not ship with Corepack, you can install it manually using NPM:
```sh
npm install -g corepack
corepack enable
```
Corepack's official documentation says to uninstall Yarn and PnPM first, but this is probably overkill. If you have any issues, try removing them from your system before continuing.
For more information on Corepack, check out [this link](https://yarnpkg.com/corepack).
Run the following command to generate a production build and package it. This lets you install the app locally. All artifacts will be placed in `make/`.
You can use the regular Chrome DevTools to debug the frontend application. You can open the DevTools using the keyboard shortcut `Cmd+Option+I` on macOS or `Ctrl+Option+I` on Linux and Windows. Logs will be sent to the Console tab in DevTools.
### Backend logs
Backend logs for the development version of Wave can be found at `~/.waveterm-dev/waveapp.log`. Both the NodeJS backend from Electron and the main Go backend will log here.