stoat-for-desktop/README.md

3.5 KiB

Stoat for Desktop

Stars Forks Pull Requests Issues Contributors License

Application for Windows, macOS, and Linux.

Installation

Packaging status
  • All downloads and instructions for Stoat can be found on our Website.

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:

# 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:

# 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:

# 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.