Notice:Rojo 7.7.0 introduced a bug. Downgrade to 7.6.1 until patch

Feature-based
architecture for Roblox

Build self-contained systems with client, server, and shared code in one place
Rogen routes every file to the correct Roblox service automatically

Luau
|
TypeScript

Preview

See how Rogen routes files into Roblox Studio

File System
src
Inventory
client
InventoryController.luau
server
InventoryService.luau
shared
InventoryTypes.luau
Roblox Studio
ReplicatedStorage
Inventory
InventoryTypes
ServerScriptService
Inventory
InventoryService
StarterPlayerScripts
Inventory
InventoryController

Group files by feature

Keep related code in one place

Feature Folders

Store related client, server and shared scripts inside a single folder

Auto-Routing

Route files to Roblox services automatically using Rojo or Argon

Multi-Place Support

Merge multiple source directories to share core systems across different places

Environment Tags

Filter test files and inject mock files at build time using tags

Custom Pathing

Control the final output structure using invisible folders and marker files

Modern Tooling

Support Luau, roblox-ts, and Darklua pipelines out of the box

Simple routing rules

Control exactly where your code goes in Roblox Studio

Folder Names

Name a folder 'client' or 'ReplicatedFirst' to send files to that exact service

src/combat/client/...

File Names

Add target words to the start or end of a file name

InputClient.luau

Marker Files

Place a blank '.server' file in a folder to set its target

anti-cheat/.server

Top developers use Rogen

See what they have to say

"It has been a game changer for my team and I"

Acecateer
Technical Director, Wonder Works Studio

"Spent the last couple days refactoring Lua Learning to use Rogen. I love it"

Zack (boatbomber) Williams
CEO, Torpedo Software

Upgrade your codebase

Install Rogen with Rokit or npm

rokit.toml
rogen = "ldgerrits/rogen@1.3.1"
Terminal
npm i @ldgerrits/rogen
Read the setup guide