Skip to content

Developer Guide ​

This section is for developers and covers local development, build steps, project structure and architecture. Players who just want to use the launcher should read the User Guide.

Quick Start ​

Prerequisites ​

  • Node.js 24+ (enforced by engines, aligned with the @types/node ^24 baseline)
  • npm 10+
  • Git (latest)
  • Windows 10+ (the only officially supported platform for now)

Clone & Install ​

bash
git clone https://github.com/MeowY-Studios/VoxVer-Launcher.git
cd VoxVer-Launcher
npm install

Dependency install note

The dependency tree currently has a peer version conflict between vite@8 and @vitejs/plugin-vue@5 (pre-existing; to be resolved by upgrading plugin-vue). If installation reports a peer conflict, use npm install --legacy-peer-deps.

Environment Configuration ​

To use the CurseForge API, create a .env file in the project root:

ini
CURSEFORGE_API_KEY=your_api_key_here

Apply for a key at https://console.curseforge.com/#/api-keys.

Development Mode ​

bash
npm run dev

The launcher runs in development mode with hot reload in the renderer.

Building Installers ​

bash
# Windows (NSIS installer)
npm run build:win

# macOS
npm run build:mac

# Linux
npm run build:linux

Artifacts are written to the build/ directory in the project root; the Windows installer is named VoxVer Launcher Setup x.x.x.exe.

Platform note

Build scripts remain in the repository, but only Windows installers are currently published. The macOS build CI workflow was removed in v0.7.5; macOS and Linux are both planned.

Tech Stack ​

LayerTechnologyVersion
Desktop frameworkElectron42.6.1
Frontend frameworkVue 3 + Composition API3.5.0
Build toolingVite + electron-vite8.1.3 / 5.0.0
LanguageTypeScript5.5.0
UI stylingSCSS + CSS VariablesPixel design system
State managementPinia2.2.0
RouterVue Router4.4.0
Launch core@xmcl/* toolchain2.x / 3.x / 6.x
Databasebetter-sqlite312.0.0 (ABI 146, bound to Electron)
Loggingelectron-log5.0.0
i18nvue-i18n9.14.5
TestingVitest + @vue/test-utils4.1.10 / 2.4.6

Next Steps ​

DocumentContent
ArchitectureProcess layers, IPC channels, database, auth flow and design principles
ContributingNaming conventions, linting, tests and PR workflow
User GuideInstallation and usage docs for players