Steam Game IdlerSteam Game Idler
Advertisement

Build It Yourself

SGI's source code is fully public on GitHub. The desktop app is a Tauri app (Rust + Next.js), and it drives a bundled helper process, SteamUtility, built from a separate C#/.NET project at libs/SteamUtility/.

Prerequisites

  • Node.js >= 20.0
  • pnpm - the project uses pnpm workspaces, not npm/yarn
  • Rust (stable toolchain)
  • .NET SDK >= 8.0 (libs/SteamUtility targets net8.0 only)

Windows only:

  • VS Build Tools = latest, with the "Desktop development with C++" workload
  • WebView2 = latest (pre-installed on Windows 11 and newer Windows 10 versions)

Linux only:

Clone Repo

git clone https://github.com/zevnda/steam-game-idler.git
cd ./steam-game-idler

Install Dependencies

pnpm install

This installs dependencies for both the root app and the docs/ workspace package

Build SteamUtility

dotnet build ./libs/SteamUtility/SteamUtility.csproj

This outputs SteamUtility to src-tauri/target/debug/libs/ (or release/libs/ for a release build); pnpm tauri dev/pnpm tauri build expect it to already be there

Create Environment Files

Create a .env file in the root of ./steam-game-idler and add a KEY variable containing your Steam Web API Key

.env
pnpm-lock.yaml
package.json
.env
KEY="ABC123******789XYZ"

Development or Production Build

# Development
pnpm td       # shorthand for `tauri dev`

# Production
pnpm tb       # shorthand for `tauri build`, outputs to `src-tauri/target/release/bundle/`

Other Useful Scripts

Run these from the repo root:

ScriptWhat it does
pnpm typechecktsc --noEmit for the desktop app
pnpm lintESLint for the desktop app
pnpm ddStarts the docs site dev server (this site)
pnpm build:docsProduction build of the docs site
pnpm build:libsBuilds the ./libs/SteamUtility.csproj
pnpm i18n:checkChecks en-US.json for duplicate translation values
Advertisement

On this page