Skip to content

NarraLeaf/NarraLang

Repository files navigation

NarraLeaf Logo

NarraLang

NarraLeaf Scripting Language – A modern, expressive scripting DSL for narrative-driven experiences.

NarraLang is a scripting language designed to simplify writing rich, structured stories for NarraLeaf. It supports syntax sugar, modifiers, contextual persistence, and flexible control flow — all optimized for visual novels and narrative engines.


✨ Features

  • Easy to learn – Learn the basics in minutes
  • Multi-language keywords – Localizable grammar (e.g., English and Chinese)
  • JavaScript-style expressions – Expression-oriented, easy to embed logic
  • Static Script – Generate static scripts, easy to integrate

🚀 Quick Example

character John "John"
image John "john.png" pos [5, 10] scale 1.0

scene Morning {
  John: "Hello, Sensei."
  John: "It's a new day. Let's do our best!"

  John char "john-happy.png"

  John: "Let's start with <b>the basics</b>."
}

📘 Documentation

In progress...

🧩 Integration with NarraLeaf

In progress...

🧩 Integration with NarraLeaf-React

In progress...

🌍 Localization

In progress...

License

MIT © NarraLeaf Project

Contributing

We're just getting started! Feel free to:

Report issues

Suggest new syntax sugar

Help implement multi-language support

Contribute tests or documentation

About

NarraLeaf Scripting Language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published