Skip to content

Developer Setup

KanashiiDev edited this page May 4, 2026 · 1 revision

Setup

git clone https://github.com/KanashiiDev/discord-music-rpc.git
cd discord-music-rpc
npm install
  • Start backend server

    npm start
  • Start Electron app

    npm run start:app

Available NPM Scripts

Start & Development

  • npm start
    Starts the Node.js backend server.

  • npm run start:app
    Launches the Electron application for desktop testing.


Application Build

Windows

  • npm run build:win
    Builds a Windows 64-bit installer.

macOS

  • npm run build:mac
    Builds macOS app (Intel 64-bit).

  • npm run build:mac:arm64
    Builds macOS app (Apple Silicon).

  • npm run build:mac:all
    Builds both Intel and Apple Silicon versions.

  • npm run build:mac:universal
    Builds a universal macOS binary.

Linux

  • npm run build:linux
    Builds Linux app (64-bit, all formats).

  • npm run build:linux:arm64
    Builds Linux app (ARM64).

  • npm run build:linux:all
    Builds both x64 and ARM64 versions.

Linux Specific Formats

  • npm run build:appImage / :arm64 / :all
    Builds AppImage format.

  • npm run build:deb / :arm64 / :all
    Builds DEB package (Debian/Ubuntu).

  • npm run build:rpm / :arm64 / :all
    Builds RPM package (Fedora/RHEL).

  • npm run build:ubuntu = build:deb

  • npm run build:debian = build:deb

  • npm run build:fedora = build:rpm


Browser Extension Build

  • npm run build:chrome
    Builds the Chrome extension.

  • npm run build:firefox
    Builds the Firefox extension.

  • npm run build:extensions
    Builds both Chrome and Firefox extensions.


Browser Extension Packaging (ZIP)

  • npm run pack:chrome
    Packages Chrome extension as ZIP.

  • npm run pack:firefox
    Packages Firefox extension as ZIP.

  • npm run pack:extensions
    Packages both Chrome and Firefox extensions.


Combined Build & Package

  • npm run build-and-pack
    Builds and packages both Chrome and Firefox extensions.

  • npm run build-and-pack:chrome
    Builds and packages Chrome extension only.

  • npm run build-and-pack:firefox
    Builds and packages Firefox extension only.


Additional Commands

  • npm run pack
    Creates an unpacked Electron application directory (no installer).

  • npm run clean
    Removes build artifacts from dist/ folder.

  • npm run lint
    Runs ESLint across the entire project to detect code quality issues.

  • npm run lint:fix
    Automatically fixes ESLint issues where possible.

  • npm run lint:strict
    Runs ESLint and fails if any warnings are found.

  • npm run prettier:check
    Checks code formatting using Prettier without making changes.

  • npm run prettier:write
    Formats all supported files using Prettier.

  • npm run prepare-release
    Builds extensions and prepares release files.

Clone this wiki locally