Murasaki

Quick start

Scaffold a Murasaki app, run it with HMR, and build a distributable.

Prerequisites

  • Node.js 22.12+ (Node 20 is end-of-life and is not supported)
  • murasaki dev runs on macOS, Windows, and Linux. A macOS .app / .dmg must be built on macOS; a portable Windows folder / .zip can be cross-built from any host. Linux app packaging is on the roadmap.

Scaffold

pnpm create murasaki@latest my-app
cd my-app

This creates a React 19 + Vite + Tailwind app with a Next.js-like layout, a native window, and a working context menu — no index.html or entry file to maintain (Murasaki owns the app shell).

Develop

pnpm dev

A native window opens on top of the Vite dev server — React Fast Refresh and HMR work as usual. Edit src/app/page.tsx and the window updates instantly.

Right-click anywhere for the app's native menu; right-click the card for its own scoped menu — both are real NSMenus, not HTML popups.

Build a distributable

pnpm bundle
pnpm installer

The bundle ships a portable Node runtime and a native launcher, so it runs on other machines — not just your build machine. On macOS, the first two commands produce an .app and .dmg. A portable Windows folder / .zip can be built from any host by selecting a Windows target:

pnpm bundle --arch x64            # choose the target architecture
pnpm bundle --target win32-x64    # portable Windows folder + .zip

pnpm installer --target win32-x64 additionally creates an NSIS .exe when makensis is installed, and an MSI .msi when WiX v4 is installed on Windows. If neither optional tool is available, no Windows installer is produced; the portable .zip still works. See Distribution for tool setup and all targets.

On macOS, unsigned builds trigger Gatekeeper on other machines (recipients right-click → Open the first time). To ship a signed, notarized app with no warning, see Distribution → Signing.

Next

Improve this page on GitHub

On this page