Contributing
Thank you for your interest in contributing to Storyteller! This guide will help you get your environment setup so you can have the best possible development experience.
First-time setup
We use Visual Studio Code to work on this project, so you'll get the best mileage from using it too. We also have several recommended extensions that should be installed.
You will also need Rokit for installing the various command-line tools we use.
With the above requirements satisfied, run the following commands from your clone of the repo to start developing:
# Install command-line tools (like Lune)
$ rokit install
# Install packages
$ lune run install
Testing
Run the following to run all unit tests for the project:
$ lune run test
We use jsdotlua's Jest fork for authoring and executing unit tests. Read the docs and look to our existing .spec.luau
modules for how to write tests.
If your code is not properly tested, maintainers will let you know and offer suggestions on how to improve your tests so you can get your pull request merged.
Building
Part of our build process uses darklua to compile our Luau source code for Roblox. This is largely to support string requires so our Storyteller source code can use the same syntax as our Lune scripts.
Run the following to build the project:
$ lune run build
By default, the project is built for a production environment, so all development files like our unit tests are pruned from the resulting build. To keep development files, pass the --target
flag to set the environment to build for:
$ lune run build --target dev