Back to projects
shipped preview v0.2.0

BottleLite

A lightweight native macOS runner for Windows apps.

BottleLite is a SwiftUI Wine front-end for running Windows apps on macOS without Electron, accounts, telemetry, or a bundled runtime. It detects your existing Wine install, keeps bottles persistent, imports .exe files safely, and gives each program logs, settings, and stop controls.

BottleLite app icon
Problem

Wine workflows on macOS tend to sprawl across Terminal commands, prefixes, logs, and runtime assumptions.

What I built

A SwiftUI app that manages bottles, validates PE executables, runs GUI and console programs through existing Wine, captures logs, and wires Sparkle update feeds for preview releases.

Result

Windows app testing becomes a native Mac workflow with explicit runtime state and no hidden bundled layer.

Audience

For Mac users who want a small, inspectable Wine wrapper instead of a heavyweight launcher.

Developer setup

source without GitHub CLI git clone https://github.com/jx-grxf/BottleLite.git && cd BottleLite
source with GitHub CLI gh repo clone jx-grxf/BottleLite && cd BottleLite
latest release open https://github.com/jx-grxf/BottleLite/releases/tag/v0.2.0
download stable macos with GitHub CLI gh release download v0.2.0 -R jx-grxf/BottleLite -p 'BottleLite-0.2.0.dmg'
download stable archive with GitHub CLI gh release download v0.2.0 -R jx-grxf/BottleLite -p 'BottleLite-0.2.0.zip'

Highlights

  • Manages persistent Wine bottles with import, rename, delete, and per-program settings.
  • Validates .exe files by extension and MZ header before adding them to a bottle.
  • Runs GUI apps quietly and console tools visibly in Terminal.app, with logs for each launch.
  • Preview distribution includes a DMG, Sparkle appcast, and SHA256 checksums.