A roblox-ts template for fully managed rojo projects.
Caution
You likely do not need a fully managed rojo project. For the vast majority of projects, a more simple setup will suffice. If you are new to roblox-ts, I would strongly advise against using the vast majority of the tooling in this project. Instead, I would recommend starting with a more simple setup such as the default flamework template, or the roblox-ts-template by MonzterDev.
This is my personal template for use in the roblox-ts ecosystem, utilizing
popular libraries and tools such as Flamework, React, and Reflex. For a
comprehensive list of packages, refer to the package.json
file.
The primary objective of this project is to provide a streamlined approach for initiating new projects, complete with frequently used patterns that I adopt already configured. Additionally, it integrates my own customized eslint-config, which is a highly opinionated guide for writing clean and consistent code.
Note
This aims to be a fully-fledged solution to fully managed rojo projects but does not currently have any built-in support for handing models. Eventually this functionality will exist. For now, you can investigate Lune to figure out solutions that will work for your use case.
- Press the green
Use this template
button on the top right of the page to create a new repository. - Clone the repository to your local machine.
- Run
pnpm install
to install all the dependencies. - Run
pnpm run dev:start
to start the development server. - Start coding! 🎉
The following is a list of primary resources that are used in this project (in alphabetical order):
The following is a guide to the tools of the project and how to typically use them.
While in development, I would typically use the pnpm run dev:start
command to
compile the project and start the development server. This will compile the
code, build the project, and then automatically open the place file in Roblox
Studio.
To publish the project, I would use the pnpm run prod:build
command to build
the game project with the production configuration. This will delete your
current out
folder, replace it with the new build, and then automatically runs
darklua on the project (outputting the game project to the dist
folder). This
allows us to completely remove any development only code, such that it does not
exist in the final game project. This process is currently automated when you
merge a pull request into the main
branch.
All of the commands can be found in the package.json
file under the scripts
section. These can be accessed in VSCode through the NPM SCRIPTS
tab in the
sidebar, where you can run them by clicking the play button next to the command.
As this is a personal template, I am not typically seeking contributions. However, if you discover any bugs, feel free to create a pull request or an issue, and I will address it. If you wish to suggest a feature or improvement, please submit an issue first to initiate discussion!
Some of the code in this template has been taken from others and modified for my usage, and I would like to give credit to the following people and projects: