rbxmx2repo
v0.1.1
Published
Convert Roblox .rbxmx files into repo-style filesystem structures.
Downloads
76
Readme
rbxmx2repo
Convert Roblox .rbxmx XML models into a clean, repo-based filesystem layout designed for Rojo-style workflows.
Features
- Parses Roblox
.rbxmxXML files. - Traverses the Instance hierarchy and preserves folder structure.
- Extracts script sources:
Script→.server.luaLocalScript→.client.luaModuleScript→.lua
- Auto-deduplicates filenames to avoid collisions.
- Generates
_manifest.jsonwith script metadata. - Optional export of non-script models into
assets/.
Usage
rbxmx2repo input.rbxmx --out ./repoLocal development run
npm run build
node dist/index.js input.rbxmx --out ./repoGlobal install
npm i -g .
rbxmx2repo input.rbxmx --out ./repoHomebrew
A Homebrew formula can install this package and expose rbxmx2repo on PATH via the bin entry in package.json.
Flags
--scripts-only(default) Only export script sources intosrc/.--keep-modelsExport non-script subtrees intoassets/as.rbxmxfiles.--plain-luaOutput.luafor all scripts (disable Rojo-style extensions).
Output Structure
repo/
src/
<Instance folders>/
MyScript.server.lua
MyModule.lua
assets/ # only if --keep-models
_manifest.jsonDevelopment
npm install
npm run buildManifest Format
_manifest.json is an array of entries with the following shape:
{
"name": "MyScript",
"className": "Script",
"serviceRoot": "ServerScriptService",
"outputPath": "src/Folder/MyScript.server.lua",
"disabled": false
}Notes
This tool is intentionally modular and TypeScript-based so it can be extended later for Rojo + RobloxTS compatibility.
