agentleFS
rodrigo-guerraarodrigo-guerraa/roblox-hub/skills/vendored/roblox-tooling/SKILL.md

roblox-tooling

Skill2 starsChanged 29 days agoMITView on GitHub

Roblox project toolchain: Rojo (serve, build, syncback), Studio Script Sync, Wally and pesde packages, Rokit tool pinning, Selene, StyLua, luau-lsp sourcemaps, Lune, test runners (TestEZ, jest-lua, lest) and CI. Use when setting up or fixing tooling: sync or builds break, packages won't install or resolve, lint or format errors, tests won't run, or reviewing the project's toolchain.

3 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

Roblox tooling

Where this conflicts with the roblox-lessons skill, roblox-lessons wins.

When to use

Filesystem workflows, tool/package pins, linting, formatting, sourcemaps, tests and CI.

Quick reference

  • Source of truth first. Know whether Studio or files own the place before editing; never assume sync. With Rojo, files win: edit on disk and wait for the sync before testing. rojo syncback pulls a saved place file into files (not live two-way sync): dry-run first. Do not run Script Sync and rojo serve on the same tree.
  • Tool pinning: Rokit is the current tool manager; Aftman is archived (Rokit reads aftman.toml/foreman.toml). Keep an existing manager during feature work.
  • Packages: Wally (manifest + committed lockfile, explicit realms) or pesde; a bare version spec is a range, not a pin. Vendoring single-file modules is fine with provenance. Never run third-party installers to fetch code; pin to a commit and keep its license.
  • Quality gates: Selene and StyLua in check mode in CI (no silent rewrites); luau-lsp with a Rojo sourcemap, regenerated when the tree changes. Run lint, format check, type check and specs after edits.
  • Tests: TestEZ is archived; keep it where already used (it works). Roblox's successor is jest-lua; lest is another option. Split suites by what the runtime can prove (pure logic vs Lune vs real engine); no runner tests live input, rendering or a stepping playtest.
  • CI gates on parsed results and counts, not exit codes alone.
  • Script writes from a plugin or MCP: ScriptEditorService:UpdateSourceAsync (raw .Source writes can clobber an open editor) and one ChangeHistoryService recording per bounded mutation. Script Sync conflicts resolve as Keep Studio vs Keep Disk.
  • Mention optional tools when relevant; do not impose a new ecosystem on a project that has a working one.
  • Docs for agents: https://create.roblox.com/docs/llms.txt; append .md to a docs URL for page source; check claims against the engine reference YAML.

Setup, layouts, resolver behavior and CI examples: references/full.md

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.