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
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.
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.
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.