Installation Guide
Relevant source files
The following files were used as context for generating this wiki page:This guide provides comprehensive instructions for installing the Skid-Inc desktop application on Windows, macOS, and Linux. It also covers the technical details of the build, deployment, and auto-update systems for developers. The application is built using Electron, allowing it to be packaged as a standalone desktop application from the core web-based game.
Upon first launch, the application can automatically migrate existing game data from the web version (stored in localStorage) to the new local save system. After installation, the application will manage its own updates, notifying the user when a new version is available.
Sources: INSTALLATION.md, USER_GUIDE.md:14-17, src/renderer/save-manager.js:462-470
System Requirements
The following are the minimum system requirements to run Skid-Inc.
| Platform | Operating System | Memory (RAM) | Disk Space | CPU Architecture |
|---|---|---|---|---|
| Windows | Windows 10 or later | 4 GB (8 GB recommended) | 500 MB | 64-bit |
| macOS | macOS 10.15 (Catalina) or later | 4 GB (8 GB recommended) | 500 MB | Intel (x64) & Apple Silicon (arm64) |
| Linux | Ubuntu 18.04+, Debian 10+, Fedora 32+ | 4 GB (8 GB recommended) | 500 MB | 64-bit (x86_64) |
Sources: INSTALLATION.md:5-24, scripts/deploy.js:184-188, package.json:115-118, 129-136
Installation Procedures
Download the appropriate installer for your operating system from the project's releases page.
Sources: INSTALLATION.md:28-30
Windows
Two options are available for Windows users: a standard installer and a portable executable.
- Installer (Recommended):
- Download the
Skid-Inc-Setup-x.x.x.exefile. - Run the installer. If a "Windows protected your PC" warning appears, click "More info" and then "Run anyway".
- The application will be installed, and shortcuts will be created.
- Download the
- Portable Version:
- Download the
Skid-Inc-x.x.x-win.exeor*portable*.exefile. - Place it in any directory and run it directly. No installation is required.
- Download the
Sources: INSTALLATION.md:32-49, scripts/deploy.js:174-176, package.json:108-114
macOS
macOS users can install the application via a DMG image or a ZIP archive.
- DMG (Standard):
- Download the
Skid-Inc-x.x.x.dmgfile. - Open the DMG file and drag the
Skid-Incapp icon into yourApplicationsfolder. - If you see a warning about an "unidentified developer," you may need to go to
System Preferences > Security & Privacyand click "Open Anyway."
- Download the
- ZIP Archive:
- Download the
Skid-Inc-x.x.x-mac.zipfile. - Extract the archive and move the
Skid-Inc.appto yourApplicationsfolder.
- Download the
Sources: INSTALLATION.md:53-64, scripts/deploy.js:178-180, package.json:120-128
Linux
Multiple package formats are provided for Linux distributions.
- AppImage (Universal):
- Download the
.AppImagefile. - Make it executable:
chmod +x Skid-Inc-x.x.x.AppImage - Run it:
./Skid-Inc-x.x.x.AppImage
- Download the
- DEB (Debian/Ubuntu):
- Download the
.debfile. - Install it using:
sudo dpkg -i skid-inc_x.x.x_amd64.deb - If there are missing dependencies, run:
sudo apt-get install -f
- Download the
- RPM (Fedora/Red Hat):
- Download the
.rpmfile. - Install it using:
sudo rpm -i skid-inc-x.x.x.x86_64.rpm
- Download the
Sources: INSTALLATION.md:68-91, scripts/deploy.js:181-183, package.json:138-155
Build and Deployment
For developers, the project includes automated scripts to build and deploy the application for all platforms. The process uses electron-builder and is managed via npm scripts.
Sources: scripts/README.md:3-5, package.json:19-45
Build & Release Workflow
The following diagram illustrates the automated release process, which is typically triggered by the npm run release command.
This diagram shows the flow from running the release script to the final packaged artifacts.
Sources: package.json:35, scripts/build-all.js:151-175, scripts/deploy.js:238-258
Key NPM Scripts
The package.json file defines several scripts to manage the build and deployment lifecycle.
| Script | Description |
|---|---|
npm run electron | Starts the application in production mode. |
npm run build | Builds the application for the current platform using electron-builder. |
npm run build:all | Builds for Windows, macOS, and Linux. |
npm run build:automated | Runs the comprehensive build script (build/automated-build.js) with error handling and retries. |
npm run deploy | Gathers build artifacts, generates checksums, and creates release notes. |
npm run release | Executes the full release pipeline: build:release followed by deploy:github. |
Sources: package.json:19-45, ELECTRON-SETUP.md:17-22, scripts/README.md:46-56
Build Configuration
The build process is configured in the build section of package.json. This configuration specifies the application ID, output directories, files to be included, and platform-specific targets.
// package.json:50-169
"build": {
"appId": "com.totominc.skidinc",
"productName": "Skid-Inc",
"directories": {
"output": "dist",
"buildResources": "build"
},
"files": [
"src/**/*",
"app/**/*",
"index.html",
"icons/**/*"
],
"win": {
"target": [ { "target": "portable", "arch": ["x64"] } ]
},
"mac": {
"target": [ { "target": "dmg", "arch": ["x64", "arm64"] }, { "target": "zip", "arch": ["x64", "arm64"] } ]
},
"linux": {
"target": [ "AppImage", "deb", "rpm" ]
},
"publish": {
"provider": "github",
"owner": "TotomInc",
"repo": "skid-inc"
}
}
This configuration instructs electron-builder to create a portable .exe for Windows, .dmg and .zip files for macOS (for both Intel and Apple Silicon), and .AppImage, .deb, and .rpm packages for Linux. The publish section configures the auto-update system to use GitHub Releases.
Sources: package.json:50-169
First Launch and Data Migration
When you run the Skid-Inc desktop application for the first time, it checks for existing game data from the web version stored in your browser's localStorage. If data is found, a dialog will appear, offering to import your progress. This ensures a seamless transition from the web version to the desktop application. After loading a save file, the tutorial is automatically marked as complete and hidden.
Sources: INSTALLATION.md:95-102, src/renderer/save-manager.js:462-470, 725-731
Automatic Updates
The application includes an auto-update system powered by electron-updater. It periodically checks for new versions and guides the user through the update process.
Update Process Flow
The following sequence diagram shows how the application checks for and applies updates.
This diagram illustrates the automated check, user prompts for download and installation, and the final application restart to apply the update.
Sources: src/auto-updater.js:10-17, 193-201, 120-134, 150-164
Update Configuration
The auto-update behavior is configured in src/auto-updater.js and package.json.
- Provider: Updates are sourced from GitHub.
- Check Interval: The app checks for updates on startup (after a 10-second delay) and then every 4 hours.
- Manual Check: Users can manually check for updates via the "Help" menu.
- User Prompts: The system is configured to ask the user before downloading an update and before restarting to install it.
Sources: src/auto-updater.js:29-37, 193-201, package.json:165-169, scripts/auto-update.js:12-18