Skip to content

Configuration ​

All available settings in GemShell.

Project Settings ​

SettingTypeDescription
Game TitlestringDisplay name shown in title bar
App NamestringUnique identifier (no spaces, lowercase)
VersionstringSemantic version (e.g., "1.0.0")

Window Settings ​

SettingTypeDefaultDescription
Widthnumber1280Window width in pixels
Heightnumber720Window height in pixels
ResizablebooleantrueAllow window resizing
FullscreenbooleanfalseStart in fullscreen mode
FramebooleantrueShow window frame/titlebar
Always on TopbooleanfalseKeep window above others

Build Targets ​

macOS ​

ArchitectureDescription
ARM64Apple Silicon (M1/M2/M3)
x64Intel Macs

Windows ​

ArchitectureDescription
x6464-bit (most common)
ARM64ARM-based Windows devices
ia3232-bit (legacy support)

Linux ​

ArchitectureDescription
x6464-bit (most common)
ARM64ARM-based devices

Optimization (Pro) ​

SettingDescription
Minify JavaScriptCompress JS files
Minify CSSCompress CSS files
Minify HTMLCompress HTML files
Bundle CDN ResourcesDownload and bundle external resources

Steamworks (Pro) ​

SettingDescription
Enable SteamworksAdd Steam integration
App IDYour Steam Application ID

Configuration File ​

Settings are saved to gemshell.config.json in your game folder:

json
{
  "title": "My Game",
  "appName": "my-game",
  "version": "1.0.0",
  "window": {
    "width": 1280,
    "height": 720,
    "resizable": true,
    "fullscreen": false
  },
  "targets": {
    "macos-arm64": true,
    "macos-x64": true,
    "windows-x64": true,
    "linux-x64": true
  },
  "steamworks": {
    "enabled": false,
    "appId": "480"
  },
  "optimization": {
    "minifyJs": true,
    "minifyCss": true,
    "minifyHtml": true
  },
  "plugins": {}
}

Environment Variables ​

GemShell respects these environment variables:

VariableDescription
GEMSHELL_BUILD_DIROverride default build output directory
STEAM_APP_IDOverride Steam App ID for testing

Command Line (Future) ​

bash
# Build with default settings
gemshell build /path/to/game

# Build specific platforms
gemshell build /path/to/game --platform=windows-x64,macos-arm64

# Build with custom output
gemshell build /path/to/game --output=/path/to/output