Docs
From Studio to the graph, and back.
Installation and connecting your coding agent first, then how a project and its stack are formed, where the graph lives, and what the model is shown. The answers to everything else are at the end.
Installing ROTEX & connecting a coding agent
ROTEX grounds AI code generation in Roblox against a live library and API graph. Instead of your agent guessing at APIs, it queries a graph built from your actual project. This part sets up the tooling, once per machine; pointing it at a game is Starting a project.
Prerequisites
- Roblox Studio, latest version, with Studio’s built-in MCP server enabled: Assistant → … → Manage MCP Servers → Enable Studio as MCP server.
- The ROTEX Companion App, installed on macOS or Windows.
- A supported coding agent. See Supported agents.
Install
- 01
Create an account and sign in
Sign up and confirm your email, then sign the CLI in. Every command after this one authenticates with it, so it comes before any other tooling.
rotex login - 02
Start the local MCP server
The Companion App usually does this for you. Run it by hand if it isn’t open, and check it is up.
rotex mcp start rotex mcp status - 03
Hook up your agent
A soft nudge by default. Strict mode redirects the first raw read of each session to the graph instead of reminding.
soft nudge (default)
rotex agent install claudestrict mode
rotex agent install claude --strict - 04
Confirm what's wired up
rotex agent status
Using it
Once installed, just work normally. With Claude Code:
- It gets a reminder to check ROTEX’s graph before reading a script directly. In strict mode the very first raw read of a session is redirected to the graph, then it relaxes to reminders for the rest of the session.
- You can also ask directly at any point, for example “what does the graph say this library depends on?”
Toggle strictness per session without reinstalling:
ROTEX_HOOK_STRICT=1 # force strict for this session
ROTEX_HOOK_STRICT=0 # force softRemove ROTEX from an agent:
rotex agent uninstall claudeAlready have a CLAUDE.md or AGENTS.md?
Stuck? Most of what setup throws at people is answered in Questions. The rest is faster in the Discord.
Two ways to use ROTEX
Your source either lives in Studio, or in files on disk that Rojo syncs in. Which one applies is detected automatically.
| In-Studio editing | External editing (VS Code + Rojo) | |
|---|---|---|
| Your source lives in | Studio's live DataModel | .luau files on disk, synced by Rojo |
| The graph is built from | The live Studio session, via ROTEX's Command Queue | The Companion App’s own project scan. Studio doesn’t need to be open |
| Best fit for | Scripting directly in Studio's script editor | Working from VS Code, or any external editor |
How it's detected
The Companion App checks for a default.project.json at your repo root to tell these apart. If you’re mid-transition or use both, Studio’s live connection is always available as enrichment on top of the on-disk graph.
Supported agents
Any agent that speaks MCP can reach the graph. The difference is whether ROTEX can make sure it does, or has to hope.
| Agent | Status | How ROTEX gets used |
|---|---|---|
| Claude Code | Supported | Hook-forced. A reminder (or a full block, in strict mode) fires automatically before a raw script read. |
| Gemini CLI | Planned | Same hook-forced approach. |
| Codex | Planned | Hook-forced, coarser-grained. |
| Cursor | Planned | Always-on project rule, no hook needed. |
| Any other MCP-capable agent | Works today, unassisted | Instruction file only. Relies on the model choosing to use it. |
Starting a project
A project is a Roblox experience and its source code, wherever that source lives: in Studio, in an external editor like VS Code, or in a coding agent’s desktop app like Claude Code. Setting one up is separate from installing ROTEX, and it starts one of two ways. Both end in the same place: a library graph, and context built from it.
A · New project
Nothing written yet, or you want to start fresh.
- 1You build the game's stack: the libraries it will use.
- 2ROTEX sets them up in the place, or in the repo.
- 3The Companion App builds the graph from the stack.
- 4Context is prepared for every library in it.
B · Existing project
There is already source, in Studio or in a repo.
- 1Point ROTEX at the repo, or open the experience in Studio.
- 2The Companion App scans it from disk, or live through Studio.
- 3It builds the graph from what is really there.
- 4Context is prepared for the libraries the project already uses.
Build your stack
A stack is the set of community libraries a game is built on: networking, frameworks, state, persistence. Search the catalog, and open any library for who makes it, where its source lives, and how to install it.
Most projects here have no logo of their own, so a result shows its maintainer’s GitHub avatar, or a blank one where there isn’t a suitable image. Every library belongs to its authors; ROTEX is not affiliated with any of them.
About ROTEX
ROTEX is a Companion App and a CLI on your machine, and one crossing off it. The app builds and keeps the library graph, the local MCP server lets Studio and your coding agent query it, and its context engine decides what a model gets to see before it writes any Luau.
In Studio or your editor
Where your source lives. Studio over its MCP server, or files on disk synced by Rojo.
Read moreOn your machine
The Companion App. It parses your project and your stack into a library graph, a file on your disk.
Read moreFor the model
Context. Only what is relevant to a prompt, drawn from the graph and from community-made library docs.
Read more
What leaves your machine
- Your scripts are parsed where they sit, and the library graph is a file on your disk.
- Intent analysis, traversal, ranking and packing all run locally against that file.
- Library documentation, cached for fourteen days, is the one input from outside.
- Your project source is never enqueued. A scoped context goes to the model, and what comes back is checked before it reaches Studio.
The Companion App and the graph
The Companion App is where the graph is built and where it lives. It reads your project (from disk, or live from Studio) with Tree-sitter, and writes a library graph: which scripts require which libraries, what those libraries expose, and how each resolves to documentation and a pinned version.
- Nodes are scripts, libraries, methods, repositories, docs and versions.
- Edges are real relationships (a require, an export, a resolve) found by parsing, not guessed by similarity.
- After the first pass, only what changed is reparsed when you save.
- The graph is a file on your disk. It never crosses to our side.
The graph view is in the dashboard once you are signed in.
Context for LLMs
Every library in a stack comes with context: documentation written and kept up by the community around it. When you prompt, the context engine works out what you meant, walks the graph from there, and packs only what is relevant into what the model sees: your code, the libraries it touches, and their docs.
- Community-made docs are the one input that comes from off your machine. They are cached for 14 days.
- Nothing is pasted in whole. Context is ranked and trimmed to fit the budget.
- Generated Luau goes back through the same analyser that read your project before you see it.
Wrote docs for a library, or found a gap in some? Bring them to the Discord.
CLI & context API
The reference for what the parts above describe: the commands that set up the tooling, what a library’s context carries, and how a prompt’s context is put together.
Commands
| Command | What it does |
|---|---|
| rotex login | Signs the CLI in to your account. Everything else needs it first. |
| rotex mcp start | Starts the local MCP server. The Companion App usually does this for you. |
| rotex mcp status | Reports whether the MCP server is running, and what it is connected to. |
| rotex agent install <agent> | Hooks ROTEX into a coding agent. Add --strict to block the first raw read of a session instead of reminding. |
| rotex agent status | Lists which agents are wired up, and in which mode. |
| rotex agent uninstall <agent> | Removes ROTEX's hook and reference line from that agent. |
What a context holds
A library’s context
- Where its source lives, and the version your project resolves to, pinned.
- What it exposes: the methods your scripts require.
- Documentation written and kept up by its community, cached for 14 days.
A prompt’s context
- 1Intent analysis works out what the prompt is about.
- 2Traversal walks the graph out from there.
- 3Ranking orders what it found by relevance.
- 4Packing trims the result to fit the model's budget.
Context docs are community-made. To add or fix one, bring it to the Discord.
Project pipelines
The same story, drawn. Four diagrams: where each piece runs, how a prompt becomes context, how generated code is checked, and what actually crosses the queue. Pick one.
The plugin runs inside Roblox Studio; the context engine and the library graph run in the desktop app beside it. All three are on your machine. Everything to the right of the line (the command queue, the registry, your account) is reached through one authenticated crossing and nothing else.
Left to right, your machine to ours. Nothing inside the dashed boundary leaves it except through the gate.
- Parsing, analysis and the graph never leave the boundary.
- One gated crossing, keyed to your subscription.
- The website only ever knows about your account.
The Studio plugin, and the desktop app's context engine and library graph, all run on your machine, inside a boundary. A single gated crossing, authenticated by your API key, connects the library graph to the command queue, which reaches the hosted registry and the website. Nothing else crosses.
Questions
Everything people ask, answered. Anything not here is faster in the Discord than in an inbox.
The product
05What ROTEX is, who it is for, and what it does to your project.
What is ROTEX?
Who is it for?
What runs on my machine, and what does not?
Is my project source uploaded anywhere?
Is generated code checked before I see it?
Accounts
04Signing up, confirming an email, and getting back in.
How do I create an account?
I never got the confirmation email.
I can't log in.
How do I reset my password?
Plans and billing
08What a seat costs, what happens at a limit, and how to leave.
What does it cost?
Is the Free plan a trial?
What counts as a seat?
What happens when I hit a limit?
Can I cancel any time?
Can I switch plans mid-cycle?
Do you offer discounts?
Which payment methods do you take?
Security and procurement
04The questions a review asks, and what we need from you to answer them quickly.
How do you handle procurement and security review?
We need more than Teams. What should we send?
Can we run it ourselves?
Where does our data live?
Getting help
04Where to ask, what to bring, and what happens to private questions.
Where do I ask a question?
How fast will someone answer?
How do I report a bug?
What about something I can't say in a public server?
Try Pro free for 14 days.
Cancel before it ends and you pay nothing. See pricing