Style Conventions

The following document outlines a basic style guide for Luau code, followed by the Eryx standard library.

Naming conventions

Use of whitespace

Documentation

The determination of what comments are "complex" is not strictly defined, but any comments using notation such as @param are considered complex.

Type conventions

The new type solver is used exclusively. Classes are defined as:

local MyClass = {}
MyClass.__index = MyClass
type MyClassProps = {...}
type MyClass = setmetatable<MyClassProps, typeof(MyClass)>

MyClassProps can be inlined into the setmetatable<> call when not required as a seperate type.