chore: Update README.md with features and usage.
All checks were successful
CI / Lint (push) Successful in 13s
CI / Styling (push) Successful in 10s
CI / Analyze (push) Successful in 18s

This commit is contained in:
marked 2024-11-11 21:04:44 +01:00
parent 4799707bc3
commit efd2da8ece

View file

@ -1,3 +1,46 @@
# roblox-project-template
A template for Roblox projects using rojo, darklua, jecs and sapphire.
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](https://git.devmarked.win/marked/roblox-project-template).
## 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](https://github.com/Mark-Marks/roblox-project-template).
# Features
- Forgejo actions, compatible with GitHub actions with a few changes.
- [CI](/.forgejo/workflows/ci.yml) to analyze, lint and style check your code.
- [rokit](https://github.com/rojo-rbx/rokit), a toolchain manager.
- [darklua](https://github.com/seaofvoices/darklua), a Lua(u) code transformer, here used to provide string requires.
- [Rojo](https://github.com/rojo-rbx/rojo), a code syncing tool.
- [Lune](https://github.com/lune-org/lune), a Luau runtime and a multitude of scripts for it.
- [dev.luau](/.lune/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](/.lune/analyze.luau) to analyze your code with luau-lsp.
- [build.luau](/.lune/build.luau) to transform your code with darklua and build it with Rojo.
- [check.luau](/.lune/check.luau) to run StyLua, selene and luau-lsp on your code at once.
- [install-packages.luau](/.lune/install-packages.luau) to install packages. Kept in case of needing to switch to wally.
- [StyLua](https://github.com/JohnnyMorganz/stylua), an opinionated Luau formatter.
- [selene](https://github.com/kampfkarren/selene), a Lua(u) linter.
- [pesde](https://github.com/daimond113/pesde), a modern package manager for Luau and Roblox.
- [luau-lsp](https://github.com/JohnnyMorganz/luau-lsp), a language server implementation for Luau.
- [blink](https://github.com/1Axen/blink), an IDL compiler for Roblox buffer networking.
- [zed](https://github.com/zed-industries/zed) configuration for optimal experience during development.
- [sapphire](https://github.com/Mark-Marks/sapphire), a Roblox framework.
- [sapphire-data](https://github.com/Mark-Marks/sapphire/tree/main/crates/sapphire-data), providing a datastore wrapper.
- [sapphire-jecs](https://github.com/Mark-Marks/sapphire/tree/main/crates/sapphire-jecs), providing a jecs scheduler and utilities.
- [sapphire-lifecycles](https://github.com/Mark-Marks/sapphire/tree/main/crates/sapphire-lifecycles), providing extra lifecycles.
- [sapphire-logging](https://github.com/Mark-Marks/sapphire/tree/main/crates/sapphire-logging), providing a logger.