Stoat for Desktop
[](https://github.com/stoatchat/for-desktop/stargazers)
[](https://github.com/stoatchat/for-desktop/network/members)
[](https://github.com/stoatchat/for-desktop/pulls)
[](https://github.com/stoatchat/for-desktop/issues)
[](https://github.com/stoatchat/for-desktop/graphs/contributors)
[](https://github.com/stoatchat/for-desktop/blob/main/LICENSE)
Application for Windows, macOS, and Linux.
## Installation
- All downloads and instructions for Stoat can be found on our [Website](https://stoat.chat/download).
## Development Guide
_Contribution guidelines for Desktop app TBA!_
Before getting started, you'll want to install:
- Git
- Node.js
- pnpm (run `corepack enable`)
### Windows notes
If `pnpm` fails in PowerShell with `running scripts is disabled` (pnpm.ps1):
- Run: `Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned`
- Close and reopen Powershell, then try `pnpm` again.
If native modules fail to build (node-gyp errors, missing `cl` or `msbuild`):
- Install "Build Tools for Visual Studio 2022" with "Desktop development with C++" (MSVC v143 and Windows SDK).
- Run commands from "x64 Native Tools Command Prompt for VS 2022" (or "Developer Powershell for VS 2022") so `cl.exe` and `msbuild.exe` are on PATH.
Then proceed to setup:
```bash
# clone the repository
git clone --recursive https://github.com/stoatchat/for-desktop stoat-for-desktop
cd stoat-for-desktop
# install all packages
pnpm i --frozen-lockfile
# start the application
pnpm start
# ... or build the bundle
pnpm package
# ... or build all distributables
pnpm make
```
Various useful commands for development testing:
```bash
# connect to the development server
pnpm start -- --force-server http://localhost:5173
# test the flatpak (after `make`)
pnpm install:flatpak
pnpm run:flatpak
# ... also connect to dev server like so:
pnpm run:flatpak --force-server http://localhost:5173
# Nix-specific instructions for testing
pnpm package
pnpm run:nix
# ... as before:
pnpm run:nix --force-server=http://localhost:5173
# a better solution would be telling
# Electron Forge where system Electron is
```
### Pulling in Stoat's assets
If you want to pull in Stoat brand assets after pulling, run the following:
```bash
# update the assets
git -c submodule."assets".update=checkout submodule update --init assets
```
Currently, this is required to build, any forks are expected to provide their own assets.