Thank you for your interest in contributing to rocale-cli! This document covers how to get set up, make changes, and submit contributions.
-
Fork and clone the repository:
git clone https://github.com/<your-username>/rocale-cli.git cd rocale-cli
-
Install toolchain dependencies:
foreman install
This installs Lute (Luau compiler), StyLua (formatter), and Rojo (build tool) at the pinned versions in
foreman.toml. -
Build:
lute scripts/build
The binary is output to
build/rocale-cli.
lute scripts/buildTests run against a real Roblox place via Open Cloud APIs, so you'll need to set up a test environment:
- Create a new place to use for testing.
- Generate an Open Cloud API Key with the following permissions for your place:
universe-places:writeluau-execution-sessions:write
- Set the required environment variables:
export TEST_UNIVERSE_ID=<your-universe-id> export TEST_PLACE_ID=<your-place-id> export ROBLOX_API_KEY=<your-api-key>
- Run the tests:
lute scripts/test
CI runs tests automatically on pull requests after a maintainer approves the change.
- Create a feature branch from
master. - Make your changes.
- Ensure the project builds and code is formatted with StyLua.
- Open a pull request from your fork targeting the
masterbranch. - Once a maintainer approves, CI will execute the test suite.
Releases are handled by maintainers. To publish a new version:
- Draft a new release and create a new tag with the format
vx.x.x. - CI automatically builds platform binaries (macOS, Linux, Windows) and attaches them to the release.
- The release build bakes the version and commit hash into the binary via
lute scripts/build <version> $(git rev-parse HEAD).
By contributing, you agree that your contributions will be licensed under the MIT License.