Skip to main content

Project workflow

The workflow on this project is pretty simple!

Editing code​

Code is edited locally, using a tool like Visual Studio Code. Use Rojo to sync your code to your local build.rbxl place file.

Create build.rbxl, just run the following command in your project's terminal:

lune run lune/build
danger

DO NOT EDIT/SYNC CODE IN game.rbxl! This can lead to massive, difficult-to-fix merge conflicts.

Editing assets or services​

Edit assets/services directly in game.rbxl. Save these changes by saving the file normally.

Editing remotes​

Edit remote events/functions in src/Shared/Remotes.model.json, using Rojo model.json format. Alternatively, create a Remotes.luau file where the remotes folder would go, which as a dictionary of remote signals/events created by a networking library.

info

game.rbxl is a binary place file. rbx-merge is set up so Git can still diff and merge it. Follow the rbx-merge steps in the setup docs once per clone.

Publishing​

To publish your game, simply push or merge to the main branch on Git! A GitHub action will build and publish the game for you.

Building docs​

Documentation is also built when pushing or merging to the main branch. A GitHub action handles this!

As a note, the first time you push, you should set up GitHub pages. Go to your GitHub repository, settings, and then Pages. Select the newly created gh-pages branch as the branch, and then save.

danger

You cannot use GitHub pages on a private repository without the proper subscription! In this case, you can view docs locally by running moonwave dev --code src in your folder's terminal.

Using Pesde packages​

To add packages to your game, you can use packages from the pesde registry or the Wally registry.

Add a pesde package:

pesde add scope/package

Add a Wally package:

pesde add wally#scope/package

Then install dependencies:

pesde install

Packages are installed into roblox_packages/ and synced to ReplicatedStorage.SharedModules.Packages via Rojo. Typechecking for Wally dependencies is handled automatically by pesde's sourcemap_generator script during install.