Stoat for Desktop [![Stars](https://img.shields.io/github/stars/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/stargazers) [![Forks](https://img.shields.io/github/forks/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/network/members) [![Pull Requests](https://img.shields.io/github/issues-pr/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/pulls) [![Issues](https://img.shields.io/github/issues/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/issues) [![Contributors](https://img.shields.io/github/contributors/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/graphs/contributors) [![License](https://img.shields.io/github/license/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/blob/main/LICENSE)

Application for Windows, macOS, and Linux.

## Installation Packaging status - 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.