roblox-knit-lib
v1.0.0
Published
A luau Roblox library based on Knit
Downloads
62
Readme
roblox-knit-lib
A Roblox library based on Knit
Setup
We use the following third-party tools to help streamline development, deployment and version control:
- Aftman - The recommended toolchain manager for using Wally
- Wally - a package control system
- Rojo - VSCode <-> Roblox studio syncing
- Knit - The framework all code is build upon
- Selene - A linter to help with code suggestions.
- Roblox LSP - A VSCode extension Intellisense for VSCode
1. Aftman
Download
Aftman is the prefered toolchain manager to 'later' use the package manager 'Wally'. Next to Aftman there are also other ways to get started, like Homebrew (only MacOS/Linux), pre-built binaries or you can even build from the source. (More info on the Wally-website)
If Aftman is downloaded is a toolchain manager which contains a number of packages that will ease development with Knit
in VSCode
If you're not sure if Aftman is installed already you can check it by simply typing aftman -V
in the terminal.
You can download the latest version Here
Install
Setup
Aftman needs a .toml
file. If it isn't there already, create one at the same location as this README.md
and call it aftman.toml
. Even easier is using the following commands in your terminal:
aftman init
aftman add UpliftGames/wally
aftman add rojo-rbx/rojo
aftman install
This file will contain the list of packages that will be installed into your project. Your project will be dependant on these packages:
[tools]
wally = "UpliftGames/[email protected]"
2. Wally
Add the following underneath the [dependencies]
:
Knit = "sleitnick/[email protected]"
Binder = "hahafunnyman/[email protected]"
Component = "sleitnick/[email protected]"
Signal = "sleitnick/signal@^1"
TableUtil = "sleitnick/table-util@^1"
Promise = "evaera/[email protected]"
Shake = "sleitnick/[email protected]"
Trove = "sleitnick/[email protected]"
<!-- Maid = "nightcycle/[email protected]" -->
Then install these dependencies by using the command:
wally install
All the packages will be installed locally in a 'Packages'
folder (also next to this readme-file)
WARNING! It's important to use the exact versions inside the .toml
file since selene
and stylua
are also used inside the CI script on Github! And they need to be identital to prevent linting issues when pushing PR's during the development process:
3. Rojo
Rojo needs to be installed inside Roblox (as a plugin) inside VSCode (as an extension)
Other tools
To install the other tools navigate to the project folder and run:
aftman install
then run:
wally install
Now aftman and wally automatically install all the dependencies and packages you need. In our case this is rojo, knit and serene.
Required VSCode plugins
To make development easier, I'd also recommend installing these plugins in VSCode
- Selene - More info
- Rojo - More info
- Roblox LSP - Language server. Intellisense for Roblox and Luau More info
Restart VSCode
For Rojo to recognize your project as a rojo project you now need to restart VSCode. I know... Just do it.
Inside VSCode press ctrl + shift + P and select Rojo Open Menu
. Then on the bottom of the list select the play button to start live syncing the project to roblox.
Sync Rojo with roblox
Open Roblox Studio and make a new project. Last thing to install is the Rojo plugin inside roblox.
Once installed, open the Rojo Plugin and press connect. You are now fully sync'ed and ready to rock.