Template for Roblox projects.
.forgejo/workflows | ||
.lune | ||
.pesde | ||
.zed | ||
src | ||
.darklua.json | ||
.gitignore | ||
.luaurc | ||
.styluaignore | ||
build.project.json | ||
default.project.json | ||
luau_lsp_settings.json | ||
net.blink | ||
pesde.lock | ||
pesde.toml | ||
README.md | ||
rokit.toml | ||
selene.toml | ||
selene_definitions.yaml | ||
stylua.toml |
roblox-project-template
An opinionated template for Roblox projects.
Usage
Forgejo
Create a secret on the repository called githubtoken
and set it to a GitHub PAT which can read all public repositories.
This is necessary so that actions pulling releases from GitHub can do it without ratelimits.
Available on my Forgejo instance.
GitHub
Rename .forgejo
to .github
and change all instances of ${{ secrets.githubtoken }}
to ${{ secrets.GITHUB_TOKEN }}
.
You may also migrate all steps to ubuntu-latest
from ghcr.io/catthehacker/ubuntu:act-22-04
running on docker.
Available as a read-only fork.
Features
- Forgejo actions, compatible with GitHub actions with a few changes.
- CI to analyze, lint and style check your code.
- rokit, a toolchain manager.
- darklua, a Lua(u) code transformer, here used to provide string requires.
- Rojo, a code syncing tool.
- Lune, a Luau runtime and a multitude of scripts for it.
- dev.luau to generate the sourcemap, transform the code with darklua, serve it with Rojo, automatically install packages, compile your networking and provide an easy way to commit & push code.
- analyze.luau to analyze your code with luau-lsp.
- build.luau to transform your code with darklua and build it with Rojo.
- check.luau to run StyLua, selene and luau-lsp on your code at once.
- install-packages.luau to install packages. Kept in case of needing to switch to wally.
- StyLua, an opinionated Luau formatter.
- selene, a Lua(u) linter.
- pesde, a modern package manager for Luau and Roblox.
- luau-lsp, a language server implementation for Luau.
- blink, an IDL compiler for Roblox buffer networking.
- zed configuration for optimal experience during development.
- sapphire, a Roblox framework.
- sapphire-data, providing a datastore wrapper.
- sapphire-jecs, providing a jecs scheduler and utilities.
- sapphire-lifecycles, providing extra lifecycles.
- sapphire-logging, providing a logger.