roframe
v1.3.1
Published
Zero-dependency Roblox Toolchain Automation & Dynamic Rojo Project Builder
Maintainers
Readme
RoFrame 🚀
Zero-dependency Roblox Toolchain Automation & Dynamic Rojo Project Builder.
RoFrame streamlines your Roblox development environment setup into a single command. It manages toolchain managers (Rokit), dynamic package dependencies (Wally with centau/[email protected]), linter configurations (Selene), structured modular project templates (Core, Features, Startup), and provides a dynamic Rojo project builder with file watching, feature generator CLI, and auto-generated sourcemap.json.
⚡ Quick Start
Option 1: Global Installation (Recommended for Daily Development)
Install once to make roframe available globally:
npm install -g roframeThen run commands anywhere in your terminal:
# 1. Initialize a complete new project structure
roframe create
# 2. Quickly generate a new Feature module (e.g. Shop)
roframe feature Shop
# 3. Start live file watcher & Rojo sync server
roframe watchOption 2: Direct npx Execution (No Installation Required)
# Initialize project
npx roframe create
# Generate a new feature module
npx roframe feature Shop
# Start live sync
npx roframe watch🛠️ Commands Overview
| Command | Description |
| :--- | :--- |
| roframe create / npx roframe create | Installs Rokit, configures toolchain manifests (rokit.toml, wally.toml with [email protected], selene.toml), sets up starter folders (Core as Shared, Features, Startup with Init.server.luau and Init.client.luau), generates roframe.project.json, default.project.json, sourcemap.json, .gitignore, empty ServerPackages/, and runs wally install. |
| roframe feature <Name> / roframe g <Name> | Instantly generates a structured Feature directory inside src/Features/<Name>/ with starter <Name>Service.luau (Server), <Name>Controller.luau (Client), and UI/Components/ folders. |
| roframe reset-structure / npx roframe reset-structure | Regenerates default roframe.project.json template (if corrupted or customized by mistake) and auto-rebuilds default.project.json and sourcemap.json. |
| roframe watch / npx roframe watch | Watches src/ & roframe.project.json, auto-compiles default.project.json and sourcemap.json on file changes, and runs rojo serve for live sync with Roblox Studio. |
| roframe help / roframe --help | Displays command documentation and usage details in terminal. |
📁 Starter Project Structure
src/
├── Core/ # Entirely Shared (ReplicatedStorage.[ProjectName].Core)
│ └── UI/Components/
├── Features/ # Convention-based (Files ending with Service = Server, rest = Client/Shared)
│ └── <FeatureName>/ # Created via `roframe feature <Name>`
│ ├── <Name>Service.luau # Server-side Service
│ ├── <Name>Controller.luau # Client-side Controller
│ └── UI/Components/
└── Startup/
├── Init.server.luau # Mapped to ServerScriptService.ServerInit
└── Init.client.luau # Mapped to StarterPlayer.StarterPlayerScripts.ClientInit📄 License
MIT License.
