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