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 devruns on macOS, Windows, and Linux. A macOS.app/.dmgmust be built on macOS; a portable Windows folder /.zipcan be cross-built from any host. Linux app packaging is on the roadmap.
Scaffold
pnpm create murasaki@latest my-app
cd my-appThis 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 devA 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 installerThe 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 + .zippnpm 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.