Skip to content

Repository files navigation

narraleaf banner

NarraLeaf-Studio

NarraLeaf Studio preview

NarraLeaf Studio screenshots

This project is currently in the early stages of development.

The development of visual novel engines has often been hampered by clunky interactive experiences and limited team collaboration capabilities; NarraLeaf Studio offers a more intuitive solution.

NarraLeaf Studio is an IDE designed for creating visual novels within the NarraLeaf ecosystem. It integrates story writing, UI editing, asset management, and team collaboration into a unified desktop workspace, moving the development process away from a reliance on scattered scripts, configuration files, and manual debugging workflows.

Unlike traditional lightweight editors, NarraLeaf Studio does not require users to write code or adhere to rigid interface templates to create a game. Instead, it features:

  • An interface editor similar to prototyping tools, paired with a visual logic system
  • An easy-to-learn, command-based story editing system that requires no knowledge of external programming languages
  • WYSIWYG application previews, along with cross-platform production and packaging capabilities

Studio

NarraLeaf Team

Game Compatibility

For game compatibility, see docs/game-compatibility.md.

Asset protection

NarraLeaf Studio is open source, with one exception: an optional asset-protection component that is not open source. For details, see docs/asset-protection.md.

Development

Setup

Development

yarn dev
yarn dev --cdp --cdp-port=9222
yarn stop

--cdp enables the Electron Chrome DevTools Protocol endpoint during development. --cdp-port is optional and defaults to 9222; the main process ignores CDP flags outside development mode.

yarn stop ends the session yarn dev started — the dev server on port 5588 and the Electron app it spawned. Only this checkout's processes are stopped; anything else holding those ports is reported instead of killed (--force overrides, --dry-run previews). Reach for it when yarn dev reports that another session owns the port, which it refuses to start alongside.

Releases

Packages

Contributors

Languages