Settings

Theme

Match system follows your machine, including when it switches at sunset.

Pet

The creature along the bottom of the window, on wide screens.

Reduce motion

Stops the background drift, the logo row and the scroll animations.

Terms

The terms you accepted on your first visit.

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.

01

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

  1. 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
  2. 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
  3. 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 claude

    strict mode

    rotex agent install claude --strict
  4. 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 soft

Remove ROTEX from an agent:

rotex agent uninstall claude

Already 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.

02

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 editingExternal editing (VS Code + Rojo)
Your source lives inStudio's live DataModel.luau files on disk, synced by Rojo
The graph is built fromThe live Studio session, via ROTEX's Command QueueThe Companion App’s own project scan. Studio doesn’t need to be open
Best fit forScripting directly in Studio's script editorWorking 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.

03

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.

AgentStatusHow ROTEX gets used
Claude CodeSupportedHook-forced. A reminder (or a full block, in strict mode) fires automatically before a raw script read.
Gemini CLIPlannedSame hook-forced approach.
CodexPlannedHook-forced, coarser-grained.
CursorPlannedAlways-on project rule, no hook needed.
Any other MCP-capable agentWorks today, unassistedInstruction file only. Relies on the model choosing to use it.
04

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.

  1. 1You build the game's stack: the libraries it will use.
  2. 2ROTEX sets them up in the place, or in the repo.
  3. 3The Companion App builds the graph from the stack.
  4. 4Context is prepared for every library in it.
Build your stack

B · Existing project

There is already source, in Studio or in a repo.

  1. 1Point ROTEX at the repo, or open the experience in Studio.
  2. 2The Companion App scans it from disk, or live through Studio.
  3. 3It builds the graph from what is really there.
  4. 4Context is prepared for the libraries the project already uses.
Two ways to use ROTEX
05

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.

06

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 more
  • On your machine

    The Companion App. It parses your project and your stack into a library graph, a file on your disk.

    Read more
  • For 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.
07

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.

08

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.

09

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

CommandWhat it does
rotex loginSigns the CLI in to your account. Everything else needs it first.
rotex mcp startStarts the local MCP server. The Companion App usually does this for you.
rotex mcp statusReports 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 statusLists 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

  1. 1Intent analysis works out what the prompt is about.
  2. 2Traversal walks the graph out from there.
  3. 3Ranking orders what it found by relevance.
  4. 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.

10

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.

11

Questions

Everything people ask, answered. Anything not here is faster in the Discord than in an inbox.

The product

05

What ROTEX is, who it is for, and what it does to your project.

What is ROTEX?
A Roblox Studio plugin and a desktop app. The plugin is the way in: it sees the open place, detects the source already in it, and hands it to the desktop app. The desktop app parses it with Tree-sitter and builds a library graph: a file on your disk describing which scripts require which libraries, what those libraries expose, and how they resolve to documentation and pinned versions. Its context engine reads that graph to answer questions about your code, and to assemble the context a model needs before it writes any.
Who is it for?
People working on Roblox projects large enough that nobody holds the whole dependency tree in their head, where the useful question is “what actually calls this”, and the honest answer requires having parsed the place rather than guessed at it.
What runs on my machine, and what does not?
The plugin runs inside Studio, and the context engine and the library graph run in the desktop app beside it, all on your machine. The command queue, the registry and your account live on ours, and there is one authenticated crossing between the two. The pipeline diagrams draw every path in both directions.
Is my project source uploaded anywhere?
No. What crosses the boundary is a package name and a symbol, queued until a worker resolves it, and the result comes back the same way. There is no code path that enqueues your source or your graph. The fourth pipeline diagram draws that refusal explicitly.
Is generated code checked before I see it?
Yes, by the same analyser that indexed your project. Generated Luau is parsed and type-checked; anything that does not parse, type-check or resolve comes back to the model as a correction and it tries again. You see the draft that survived the loop, not the first one.

Accounts

04

Signing up, confirming an email, and getting back in.

How do I create an account?
Sign up with an email and password, then click the confirmation link we email you. That link logs you straight into the dashboard.
I never got the confirmation email.
Check your spam folder first. If it still hasn't arrived after a few minutes, ask in #help and we'll sort it out.
I can't log in.
If you signed up but never clicked the confirmation link, login will tell you the email isn't confirmed yet. Use the link in that email first. Anything else, bring the exact message you saw to #help.
How do I reset my password?
Password reset isn't available yet. Ask in #help and we'll help in the meantime.

Plans and billing

08

What a seat costs, what happens at a limit, and how to leave.

What does it cost?
Free on one machine, Pro for one person, and Teams at one flat price for up to four people. The pricing page has the plans side by side. Billing isn't wired up yet.
Is the Free plan a trial?
No. Free stays free, on one machine, with no card on file. The 14-day trial is separate: it unlocks Pro or Teams so you can evaluate them before paying.
What counts as a seat?
One person, not one machine. Pro is one person, and they can run the desktop app on as many machines as they use (laptop, desktop, a build box) under the same account. Teams is up to four people on one flat price, each with the same.
What happens when I hit a limit?
Nothing breaks and nothing is deleted. New sources beyond the limit won't connect, and history older than your retention window stops being queryable. It comes back if you upgrade later.
Can I cancel any time?
Yes, at any time, in Settings › Billing. Cancel during the trial and you are never charged. Cancel after it and nothing more is charged: the plan runs to the end of the period you already paid for, then drops to Free. We don't ask you to email anyone, and a first purchase can be refunded within 14 days (see Refunds & cancellation).
Can I switch plans mid-cycle?
Upgrades take effect immediately and are prorated against what you've already paid. Downgrades take effect at the end of the current period, so you keep what you paid for.
Do you offer discounts?
Annual billing saves about 20%. We also discount for students, non-profits and open-source maintainers. Say which applies and we'll sort it out: ask in the Discord and we'll take it to a private thread.
Which payment methods do you take?
Card, for Pro and Teams alike. Invoicing and bank transfer would come with an Enterprise plan, which isn't offered yet. DM us on Discord if you need it.

Security and procurement

04

The questions a review asks, and what we need from you to answer them quickly.

How do you handle procurement and security review?
There is no Enterprise plan yet, so SSO, SCIM and a self-hosted option aren't on offer today. If your team needs them, or has a security questionnaire or DPA to get through, tell us, and it shapes what Enterprise becomes: ask in the Discord and we'll take it to a private thread.
We need more than Teams. What should we send?
Enterprise isn't open yet, so a DM on Discord is the way in, and the first reply is faster if it already covers four things: how many people, whether you need self-hosted or single-tenant, the questionnaire or DPA you work through, and any data residency or retention rules that apply to you. The comparison table covers what Teams already includes.
Can we run it ourselves?
Not yet. Self-hosting would be part of an Enterprise plan, which isn't offered today. The plugin, the engine and the graph already run entirely on the developer's machine on every plan; what self-hosting would move is the queue, the registry and the account store.
Where does our data live?
On every plan the hosted side stores your account, your plan and the queue's own bookkeeping, not your project and not your graph. Custom retention and data residency would come with Enterprise, which isn't offered yet.

Getting help

04

Where to ask, what to bring, and what happens to private questions.

Where do I ask a question?
The Discord, in #help. Releases are announced there, breaking changes land there first, and it is where the team answers. The community page says what each channel is for.
How fast will someone answer?
There is no response-time promise on the community server, and we would rather not make one the product cannot keep. It is a small server and the team reads all of it. Pro and Teams include next-business-day email support once billing is live.
How do I report a bug?
Say what you tried. The command you ran and what it printed is usually the whole diagnosis, along with the place size and the Studio version if the graph is the thing that failed. A report with the output in it gets answered on the first reply instead of the third.
What about something I can't say in a public server?
Procurement, a security questionnaire, an invoice, an account you cannot get into: ask in the Discord and we'll take it to a private thread. Nothing about an account or a contract needs to be posted in a channel.

Try Pro free for 14 days.

Cancel before it ends and you pay nothing. See pricing

Before you continue

The ROTEX terms of service

Version 2026-09-30Effective 30 September 2026

The terms and licence for this site, the ROTEX app and the Studio plugin, including how paid plans renew and how to cancel at any time.

01

About these terms

02

Who can use ROTEX

03

Your account

04

Your licence to use ROTEX

05

Your code, your data and generated code

06

Acceptable use

07

Roblox

08

The Free plan

09

Paid plans, trials and automatic renewal

10

Cancelling at any time

11

Refunds

12

Your right to withdraw (EU and UK consumers)

13

Changes to ROTEX and availability

14

Third-party services

15

Warranties

16

Our liability

17

Business users

18

Suspension and ending these terms

19

Changes to these terms

20

Governing law and disputes

21

General