NarraLeaf Desktop
Desktop visual novel app documentation for NarraLeaf Desktop runtime, renderer, project config, and CLI.
Welcome to the documentation of NarraLeaf Desktop!
NarraLeaf Desktop is a desktop visual novel app toolchain built on Electron, React, and NarraLeaf-React. It provides the main-process runtime, renderer shell, save bridge, page routing, project configuration, and CLI workflow used to create a complete packaged app.
Why NarraLeaf Desktop?
- Full desktop app: Build a standalone Electron application instead of only embedding a player in an existing web page.
- Typed runtime surface: Configure the main process, renderer bridge, save system, and build targets with TypeScript-friendly APIs.
- NarraLeaf-React inside: Author the story with NarraLeaf-React, then let NarraLeaf Desktop handle app boot, routing, persistence, and packaging.
Choose NarraLeaf-React when you only need the React player framework. Choose NarraLeaf Desktop when you also need the desktop app shell, CLI, and delivery workflow.
Getting Started
Start with installation, then create a project and run it locally.
Installation
Install the CLI and runtime packages used by a NarraLeaf Desktop app.
Quick Start
Create your first NarraLeaf Desktop project and run the development server.
Modules
Main
Electron main-process runtime, AppConfig, App, AppWindow, hooks, and storage.
Renderer
Renderer entry, App provider, save hooks, typed main-process events, and page routing.
CLI
Project commands for init, dev, build, info, and generated renderer entries.
Project Setup
Project Config
Understand narraleaf.config.js and the required project folders.
Build Targets
Configure Windows, macOS, and Linux targets through narraleaf/config.
Recommended Reading Path
- Read Installation.
- Follow Quick Start.
- Learn Project Config.
- Use Main and Renderer when you need API details.
- Use CLI when you are ready to automate local development and packaging.
Note: NarraLeaf Desktop is in early development. Some APIs are stable enough to document, but projects should keep NarraLeaf Desktop, NarraLeaf-React, Electron, and React versions aligned.