Module 02 · Leçon 2 sur 10
Installer un workflow pro : Rojo, Git, MCP et outils qualité
Tutoriel pas à pas, Windows et Mac, pour mettre le code de l’Obby des Nuages en fichiers avec Rojo, le versionner avec Git, brancher Studio à Claude Code (MCP) et installer selene, StyLua et luau-lsp.
- ⏱️ 1 h 30
- 📝 Quiz de 6 questions
- 🔄 Vérifié le 24 octobre 2026
Sur cette page
- Ce que tu vas installer
- Étape 0 : le terminal sans peur
- Ouvrir un terminal
- Les cinq gestes à connaître
- Étape 1 : VS Code et le dossier du projet
- Étape 2 : Git, l’historique de ton projet
- Étape 3 : Rokit et les trois outils du projet
- Étape 4 : Rojo, le pont entre tes fichiers et Studio
- Créer le projet
- L’adapter à l’Obby des Nuages
- Les suffixes de fichiers
- Installer le plugin Rojo dans Studio
- Avant la première connexion : protège ton niveau
- Lancer la synchronisation
- Ce que Rojo gère, et ce qu’il ne gère pas
- Étape 5 : les outils qualité
- luau-lsp dans VS Code
- selene et StyLua : trois fichiers de configuration
- Les commandes de vérification
- Ce que chaque outil attrape
- Étape 6 : ton premier commit
- Étape 7 : brancher le serveur MCP de Studio à Claude Code
- 1. Activer le serveur dans Studio
- 2. Brancher Claude Code : le Quick connect (méthode officielle)
- 2 bis. Ou bien : la configuration manuelle
- 3. Vérifier
- Ce que l’IA peut alors faire dans Studio
- Les précautions
- Migrer un jeu existant vers Rojo
- Et Script Sync, la solution intégrée à Studio ?
- Ton poste est prêt ?
- Quiz de fin de leçon
🎯 Dans cette leçon, tu vas apprendre à…
- Ouvrir un terminal, y coller une commande et lire le résultat, sous Windows comme sous Mac
- Transformer l’Obby des Nuages en projet Rojo versionné avec Git, synchronisé avec Studio
- Brancher le serveur MCP de Roblox Studio à Claude Code et en connaître les risques
- Installer luau-lsp, selene et StyLua, et savoir ce que chacun détecte
Jusqu’ici, ton code vivait dans Studio. Pour piloter une IA de code comme un pro, on va le mettre en fichiers sur ton ordinateur, dans un dossier où tout est rangé, versionné et vérifié automatiquement. C’est la leçon la plus « technique » du module, mais tu n’as besoin d’aucune connaissance préalable : chaque commande est donnée, avec le résultat attendu et quoi faire si ça échoue. Prévois une bonne heure et avance étape par étape.
Par où commencer ? Fais les étapes 0 à 6 dans l’ordre : elles ne demandent pas Claude Code. L’étape 7 (brancher Studio à Claude Code) se fait après la leçon 3, où tu installes Claude Code. Les deux sections de la fin (« Migrer un jeu existant » et « Script Sync ») sont facultatives si ton jeu ne contient encore aucun script, ce qui est le cas si tu as suivi le module 1.
Ce que tu vas installer
| Outil | À quoi il sert |
|---|---|
| VS Code | L’éditeur de code où tu liras les fichiers, avec un terminal intégré |
| Git | L’historique de ton projet : chaque étape enregistrée, retour arrière possible |
| Rokit | L’installateur des outils Roblox, avec la même version pour tout le projet |
| Rojo | Le pont entre tes fichiers et Studio : il synchronise le code dans ton place |
| selene et StyLua | Le correcteur (il repère les erreurs probables) et le formateur (il met le code en forme) |
| luau-lsp | L’extension VS Code qui comprend Luau et l’API Roblox |
| Serveur MCP de Studio | Le branchement qui laisse Claude Code lire, modifier et tester ton place |
Tout est gratuit. Seul Claude Code demande un abonnement (leçon 1) : son installation est dans la leçon 3.
Étape 0 : le terminal sans peur
Un terminal est une fenêtre où l’on tape des commandes au lieu de cliquer. Tu y tapes une ligne, tu appuies sur Entrée, l’ordinateur répond par du texte.
Ouvrir un terminal
- Windows : ouvre le menu Démarrer, tape
Terminalet ouvre Terminal (ou Windows PowerShell). La ligne commence parPS C:\Users\TonNom>: tu es dans PowerShell. - Mac : appuie sur
Cmd+Espace, tapeTerminalet valide. La ligne se termine par%: c’est le terminal de macOS (zsh).
Dans ce tutoriel, tu utiliseras surtout le terminal intégré de VS Code (étape 1), qui est le même terminal, déjà placé dans le bon dossier.
Les cinq gestes à connaître
- Le dossier de travail : chaque terminal « est » dans un dossier. Tape
pwdpuisEntréepour l’afficher (sous Windows, PowerShell écritPath, une ligne de tirets, puis le chemin du dossier ; sur Mac, seulement le chemin). Les commandes de Rojo, Git ou Rokit agissent sur ce dossier : il doit être celui de ton projet. - Copier une commande depuis cette page (sélectionne-la ou utilise le bouton de copie du bloc), puis colle-la dans le terminal avec
Ctrl+V(Windows) ouCmd+V(Mac). Appuie surEntrée. - Lire la réponse : compare-la au « résultat attendu » donné ici. Les numéros de version peuvent être plus récents, c’est normal.
- Arrêter une commande qui tourne en continu (comme
rojo serve) :Ctrl+C, sur Windows comme sur Mac. - Rappeler une commande : flèche Haut.
Étape 1 : VS Code et le dossier du projet
- Télécharge VS Code sur code.visualstudio.com et installe-le avec les options par défaut.
- Lance VS Code, puis File › Open Folder… (les menus sont cités en anglais, la langue par défaut de VS Code ; en français : Fichier › Ouvrir le dossier…).
- Dans la fenêtre qui s’ouvre, va dans ton dossier Documents, crée un nouveau dossier (bouton Nouveau dossier) nommé
ObbyDesNuages(sans espace ni accent) et ouvre-le. Si VS Code demande si tu fais confiance aux auteurs de ce dossier, réponds oui : c’est le tien. - Ouvre le terminal intégré : menu Terminal › New Terminal (raccourci
Ctrl+`; sur un clavier français, le raccourci peut être différent : passe par le menu). Il apparaît en bas de la fenêtre, déjà placé dansObbyDesNuages. - Tape
pwd: le chemin affiché doit se terminer parObbyDesNuages.
Ce dossier sera la racine de ton projet : toutes les commandes qui suivent se tapent ici.
Étape 2 : Git, l’historique de ton projet
Git enregistre des « photos » de ton projet, appelées commits. Si l’IA casse quelque chose, tu reviens à la photo d’avant.
Installer Git
- Windows : télécharge Git for Windows sur la page officielle (git-scm.com, rubrique Install, Windows), lance l’installateur et garde toutes les options par défaut. Claude Code s’en sert aussi sous Windows.
- Mac : dans le terminal, tape la commande ci-dessous et accepte l’installation des « outils de ligne de commande » proposée par macOS. Si macOS répond que ces outils sont déjà installés, tant mieux : passe à la suite.
xcode-select --install
Ferme puis rouvre VS Code, et vérifie dans le terminal :
git --version
Résultat attendu : une ligne comme git version 2.56.0.windows.3 (Windows, version d’octobre 2026) ou git version 2.xx.x (Mac).
Te présenter à Git (une seule fois par ordinateur). Remplace TonPseudo et l’adresse par les tiens, en gardant les guillemets (Git ne vérifie pas l’adresse : si tu ne comptes pas publier ton projet en ligne, l’exemple fonctionne aussi) :
git config --global user.name "TonPseudo"
git config --global user.email "ton.adresse@example.com"
Ces deux informations sont écrites dans chaque commit. Si tu publies un jour ton projet en ligne, elles seront visibles : un pseudo suffit, pas besoin de ton nom complet. Tape git config --global user.name pour vérifier : ton pseudo s’affiche.
Tu n’as pas encore besoin de git init : Rojo va créer le dépôt Git pour toi à l’étape 4.
Étape 3 : Rokit et les trois outils du projet
Rokit installe les outils de l’écosystème Roblox et note leur version dans un fichier rokit.toml. Ainsi, toute personne qui récupère ton projet (ou Claude Code) utilise exactement les mêmes versions.
Installer Rokit (une fois par ordinateur). Commande officielle du dépôt rojo-rbx/rokit :
Windows, dans PowerShell (le terminal de VS Code par défaut) :
Invoke-RestMethod https://raw.githubusercontent.com/rojo-rbx/rokit/main/scripts/install.ps1 | Invoke-Expression
Mac :
curl -sSf https://raw.githubusercontent.com/rojo-rbx/rokit/main/scripts/install.sh | bash
Le script affiche trois étapes ([1 / 3] Looking for latest rokit release, [2 / 3] Downloading…, [3 / 3] Running rokit installation), puis Rokit has been installed successfully! et une demande de redémarrage. Sous Windows, ce message dit Please restart your computer : en pratique, fermer complètement VS Code suffit (le code de Rokit le précise lui-même) ; redémarre l’ordinateur seulement si la commande ci-dessous reste introuvable. Sur Mac, il demande de redémarrer le terminal.
Ferme complètement VS Code, rouvre-le (ton dossier se rouvre tout seul), puis :
rokit --version
Résultat attendu : rokit 1.2.0 (ou plus récent).
Ajouter les outils au projet. Dans le terminal de VS Code, à la racine de ObbyDesNuages, tape ces quatre commandes, une par une :
rokit init
rokit add rojo-rbx/rojo
rokit add Kampfkarren/selene
rokit add JohnnyMorganz/StyLua stylua
rokit initcrée le fichierrokit.toml(messageInitialized new Rokit project successfully!).- Pour chaque outil, Rokit demande
Trust and install … ?: c’est une sécurité, car il va télécharger un programme. Répondsyuniquement pour ces trois outils officiels. Il confirme parAdded version … of tool …. - Le dernier mot de la quatrième ligne (
stylua) est le nom de la commande à taper ensuite.
Vérifie avec rokit list. Résultat attendu (versions d’octobre 2026) :
🛠️ Found tools:
./rokit.toml
• rojo → rojo-rbx/rojo @ 7.7.1
• selene → Kampfkarren/selene @ 0.32.0
• stylua → JohnnyMorganz/StyLua @ 2.6.0
Étape 4 : Rojo, le pont entre tes fichiers et Studio
Créer le projet
Toujours à la racine du dossier :
rojo init
Résultat attendu :
Creating new Place project 'ObbyDesNuages'
Initialized empty Git repository in …/ObbyDesNuages/.git/
Created project successfully.
Rojo a créé un projet d’exemple et lancé git init : ton dossier est maintenant un dépôt Git (dossier caché .git). Si tu ne vois pas la ligne Initialized empty Git repository, tape git init toi-même.
L’adapter à l’Obby des Nuages
Le modèle de Rojo contient des dossiers d’exemple et ajoute même une Baseplate dans Workspace : ce n’est pas ce qu’on veut. On le remplace par la structure de l’Obby, la même que celle du corrigé de la formation.
- Supprime les dossiers d’exemple et crée ceux de l’Obby.
Windows (PowerShell) :
Remove-Item -Recurse src/shared, src/server, src/client
mkdir src/ServerScriptService, src/ReplicatedStorage/Modules, src/StarterPlayer/StarterPlayerScripts, src/StarterPlayer/StarterCharacterScripts, src/StarterGui
Mac :
rm -r src/shared src/server src/client
mkdir -p src/ServerScriptService src/ReplicatedStorage/Modules src/StarterPlayer/StarterPlayerScripts src/StarterPlayer/StarterCharacterScripts src/StarterGui
Sous Windows, PowerShell affiche ensuite la liste des dossiers créés (colonnes Mode, LastWriteTime, Name) : c’est normal. Sur Mac, mkdir -p n’affiche rien quand tout va bien. Dans l’explorateur de VS Code, src contient maintenant ReplicatedStorage, ServerScriptService, StarterGui et StarterPlayer.
- Dans VS Code, ouvre
default.project.json(clic sur son nom, dans l’explorateur de fichiers à gauche), efface tout son contenu (Ctrl+ApuisSuppr, ouCmd+Apuis la touche d’effacement sur Mac) et remplace-le par celui-ci, puis enregistre (Ctrl+SouCmd+S) :
{
"name": "ObbyDesNuages",
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"$className": "ReplicatedStorage",
"Modules": {
"$path": "src/ReplicatedStorage/Modules"
},
"Remotes": {
"$className": "Folder",
"AcheterObjet": { "$className": "RemoteEvent" },
"EquiperObjet": { "$className": "RemoteEvent" },
"Notification": { "$className": "RemoteEvent" },
"Victoire": { "$className": "RemoteEvent" },
"DemanderPasserEtape": { "$className": "RemoteEvent" },
"AnnonceRedemarrage": { "$className": "RemoteEvent" }
}
},
"ServerScriptService": {
"$className": "ServerScriptService",
"$path": "src/ServerScriptService"
},
"StarterGui": {
"$className": "StarterGui",
"$path": "src/StarterGui"
},
"StarterPlayer": {
"$className": "StarterPlayer",
"StarterPlayerScripts": {
"$className": "StarterPlayerScripts",
"$path": "src/StarterPlayer/StarterPlayerScripts"
},
"StarterCharacterScripts": {
"$className": "StarterCharacterScripts",
"$path": "src/StarterPlayer/StarterCharacterScripts"
}
}
}
}
Comment le lire :
treedécrit l’arbre de Studio (l’Explorer). Chaque clé est le nom d’une instance.$pathrelie une instance à un dossier du disque : tout ce que contientsrc/ServerScriptServiceapparaît dans ServerScriptService.$classNamecrée une instance d’une classe donnée sans fichier : c’est ainsi que le FolderRemoteset ses six RemoteEvents sont déclarés directement ici. Pour en ajouter un, une ligne suffit (et Claude Code saura le faire).- Workspace et Lighting n’apparaissent pas : Rojo n’y touche donc pas. Ton niveau construit à la main reste dans ton place.
Les suffixes de fichiers
Le suffixe du nom de fichier décide du type de script créé dans Studio :
| Fichier sur le disque | Dans Studio (avec Rojo) |
|---|---|
Pieces.server.luau |
Script (serveur) nommé Pieces |
MessagesProgression.client.luau |
LocalScript nommé MessagesProgression |
Config.luau |
ModuleScript nommé Config |
un dossier Boutique/ |
un Folder Boutique |
L’emplacement dans Studio est celui du dossier : src/ServerScriptService/Pieces.server.luau devient le Script Pieces dans ServerScriptService.
Installer le plugin Rojo dans Studio
Rojo a deux moitiés : le programme que tu viens d’installer, et un plugin dans Studio. La méthode officielle la plus simple :
rojo plugin install
Puis ferme et rouvre Studio. Le plugin apparaît dans l’onglet Plugins sous le nom Rojo. Autre méthode officielle : installer le plugin « Rojo » depuis sa page sur le Creator Store (lien dans les sources). Rojo a un plugin par version majeure : garde le plugin et le programme en version 7.
Avant la première connexion : protège ton niveau
Quand il se connecte, Rojo remplace le contenu des emplacements qu’il gère (ServerScriptService, StarterGui, StarterPlayerScripts, StarterCharacterScripts et ReplicatedStorage.Modules) par celui de tes fichiers. Un script créé à la main à ces endroits dans Studio sera supprimé. Workspace, lui, n’est pas touché.
Lancer la synchronisation
- Dans le terminal de VS Code :
rojo serve
Résultat attendu (le terminal reste « occupé », c’est normal) :
Rojo server listening:
Address: localhost
Port: 34872
Visit http://localhost:34872/ in your browser for more information.
- Dans Studio, ouvre ton place (ou sa copie), onglet Plugins, bouton Rojo, puis Connect.
- Une fenêtre « Sync changes for project ‘ObbyDesNuages’ » liste ce que Rojo va changer. Lis-la : si elle annonce la suppression de scripts que tu veux garder, clique sur Abort et récupère-les d’abord (section « Migrer un jeu existant » plus bas). Sinon, clique sur Accept.
- Vérifie dans l’Explorer :
ReplicatedStoragecontient maintenantModulesetRemotesavec ses six RemoteEvents.
Premier test. Dans VS Code, crée le fichier src/ServerScriptService/Bonjour.server.luau (clic droit sur le dossier › New File) avec ce contenu, puis enregistre :
-- Script serveur de test : il prouve que Rojo synchronise bien les fichiers
print("Rojo fonctionne : bonjour depuis le serveur de l'Obby des Nuages !")
Quelques instants plus tard, un Script Bonjour apparaît dans ServerScriptService. Lance un test (mode Test, bouton Play, module 1, leçon 4) : le message s’affiche dans l’Output. Arrête le test, change le texte dans VS Code, enregistre : le script change aussi dans Studio. Enfin, supprime le fichier dans VS Code : le script disparaît de Studio. Tu viens de voir le principe : les fichiers sont la source de vérité.
Pour arrêter : bouton Disconnect dans le plugin, puis Ctrl+C dans le terminal.
Ce que Rojo gère, et ce qu’il ne gère pas
| Rojo s’en occupe (depuis tes fichiers) | Reste dans ton place (à sauvegarder toi-même) |
|---|---|
| Scripts, LocalScripts, ModuleScripts | Le niveau dans Workspace : plateformes, checkpoints, pièces, kill bricks |
Le Folder Remotes et ses RemoteEvents |
Lighting, le ciel, le terrain |
| L’interface de StarterGui, quand elle est décrite en fichiers | Les réglages de l’expérience (Game Settings) |
Tu peux aussi fabriquer un fichier de lieu avec rojo build -o ObbyDesNuages-test.rbxlx. Attention : ce fichier ne contient que ce que décrivent tes fichiers, donc pas ton niveau. Il sert à vérifier le code, pas à remplacer ton place.
Étape 5 : les outils qualité
luau-lsp dans VS Code
- Dans VS Code, ouvre le panneau Extensions (
Ctrl+Shift+X, ouCmd+Shift+Xsur Mac). - Cherche Luau Language Server (identifiant
JohnnyMorganz.luau-lsp) et installe-le. - C’est tout : l’extension charge par défaut les définitions de l’API Roblox (le « mode Roblox »). Elle repère ton
default.project.jsonet génère seule un fichiersourcemap.jsonavec Rojo, pour savoir quel fichier correspond à quelle instance (utile pour lesrequire, qui relient les scripts entre eux : tu les verras au module 3). Ce fichier est déjà exclu de Git par le.gitignorede Rojo.
Tu peux aussi installer les extensions selene (Kampfkarren.selene-vscode) et StyLua (JohnnyMorganz.stylua) pour voir leurs remarques directement dans l’éditeur.
selene et StyLua : trois fichiers de configuration
À la racine du projet, crée trois fichiers, les mêmes que ceux du corrigé de la formation : fais un clic droit dans la zone vide de l’explorateur de VS Code, sous la liste des fichiers (pas sur le dossier src, sinon le fichier serait créé dedans), puis New File, et tape le nom exact du fichier.
selene.toml : il dit à selene quelle « bibliothèque standard » utiliser, c’est-à-dire la liste des fonctions qui existent (sans elle, game ou Instance lui seraient inconnus).
std = "luau_recent"
luau_recent.yml : la bibliothèque luau_recent reprend celle de Roblox fournie par selene (base: roblox) et lui ajoute math.isfinite, une fonction récente de Luau que selene 0.32 ne connaît pas encore. Sans ce complément, selene signalerait une erreur à tort dès que ton code l’utilise (le module 4 s’en sert pour valider les nombres envoyés par le client).
# Complète la bibliothèque standard « roblox » de selene avec des fonctions Luau récentes
# qu'elle ne connaît pas encore.
base: roblox
globals:
math.isfinite:
args:
- type: number
must_use: true
stylua.toml : il force StyLua à lire le code comme du Luau.
syntax = "Luau"
Par défaut, StyLua indente avec des tabulations (comme l’éditeur de Studio), vise des lignes de 120 caractères au maximum et écrit des fins de ligne « Unix » (LF), même sous Windows : on en reparle à l’étape 6.
Les commandes de vérification
selene src
stylua --check src
selene srcanalyse tout le dossiersrc. Résultat attendu quand tout va bien :0 errors,0 warnings,0 parse errors.stylua --check srcvérifie la mise en forme sans rien modifier. S’il n’affiche rien, tout est bien formaté. Sinon, il montre les différences.stylua srcreformate les fichiers (sans changer ce que fait le code).
Ces deux commandes seront écrites dans ton CLAUDE.md (leçon 3) : Claude Code les lancera lui-même après chaque modification.
Ce que chaque outil attrape
Voici un script volontairement imparfait, et ce que chaque outil en a dit lors de nos tests :
-- Script serveur volontairement imparfait, pour tester les outils qualité
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
Players.PlayerAdded:Connect(function(player)
wait(2)
print("Bienvenue " ..player.Name)
end)
| Outil | Ce qu’il a signalé |
|---|---|
| luau-lsp | wait est déprécié, utiliser task.wait ; ReplicatedStorage n’est jamais utilisé |
| selene | ReplicatedStorage is assigned a value, but never used |
| StyLua | L’espace manquant dans " ..player.Name" (il proposera " .. player.Name") |
Aucun de ces outils ne vérifie que ton jeu fait ce que tu veux, ni qu’un RemoteEvent est bien protégé : ça, c’est la relecture et le test (leçon 6). Et un outil peut se tromper : sans le fichier luau_recent.yml, selene 0.32 signale math.isfinite comme une erreur, alors que cette fonction est valide. Si un avertissement te semble faux, vérifie sur la documentation officielle avant de « corriger ».
Étape 6 : ton premier commit
Ouvre le fichier .gitignore créé par Rojo : il liste ce que Git doit ignorer. Remplace son contenu par celui-ci :
# Fichiers de lieu : ils ne vont pas dans Git (sauvegarde-les avec Save to Roblox et une copie datée)
*.rbxl
*.rbxlx
# Fichiers de verrou de Studio
*.rbxl.lock
*.rbxlx.lock
# Généré automatiquement par luau-lsp et Rojo
sourcemap.json
Crée aussi, à la racine, un fichier .gitattributes (avec le point au début) contenant ces deux lignes :
# Fins de ligne LF partout (comme StyLua), même sous Windows
* text=auto eol=lf
Pourquoi ? Windows et Mac ne terminent pas les lignes de la même façon (CRLF sous Windows, LF sur Mac). StyLua attend des LF, et Git for Windows convertit par défaut les fichiers en CRLF quand il les remet sur ton disque (git restore, nouveau clone). Sans ce fichier, stylua --check src signalerait des « différences » sur des lignes en apparence identiques. Sur Mac, il ne change rien mais ne gêne pas.
Puis, dans le terminal :
git status
git add .
git commit -m "Projet Rojo de l'Obby des Nuages : structure, Rokit, selene, StyLua"
git statusliste les fichiers nouveaux ou modifiés.git add .les prépare pour la photo (le point veut dire « tout le dossier »).git commit -m "…"prend la photo, avec un message qui dit ce qui a changé. Résultat attendu : une ligne comme[master (root-commit) 7882bbd] Projet Rojo…(le nom de branche peut aussi êtremain), puis le nombre de fichiers.
Sous Windows, une ligne warning: in the working copy of '…', CRLF will be replaced by LF… peut apparaître : c’est le fichier .gitattributes qui fait son travail, c’est sans gravité. Si Git répond Author identity unknown, refais les deux commandes git config de l’étape 2, puis relance git commit. Tape git log --oneline pour voir ton historique.
Étape 7 : brancher le serveur MCP de Studio à Claude Code
Cette étape demande Claude Code (réservé aux 18 ans et plus, voir la leçon 1). S’il n’est pas encore installé, fais d’abord la leçon 3, puis reviens ici.
Le serveur MCP est intégré à Roblox Studio depuis mars 2026 et tourne sur ton ordinateur. L’ancien dépôt Roblox/studio-rust-mcp-server, cité par de vieux tutoriels, est archivé depuis avril 2026 : ne l’installe pas.
1. Activer le serveur dans Studio
- Ouvre ton place, puis l’Assistant.
- Clique sur … › Manage MCP Servers.
- Active Enable Studio as MCP server. Un indicateur vert affiche le nombre de clients connectés.
Selon la version de Studio, le libellé peut légèrement changer : cherche la section MCP Servers dans les réglages de l’Assistant.
2. Brancher Claude Code : le Quick connect (méthode officielle)
Dans les réglages de l’Assistant, section MCP Servers, ouvre la liste Quick connect : elle montre les clients installés sur ton ordinateur. Active Claude Code. Si Claude Code n’apparaît pas, installe-le, puis redémarre Studio. Ensuite, redémarre Claude Code pour qu’il charge le serveur (tape /exit dans Claude Code, puis relance claude dans le terminal du projet).
2 bis. Ou bien : la configuration manuelle
Si le Quick connect ne fonctionne pas, ajoute toi-même le serveur à Claude Code. La documentation de Roblox donne la commande qui lance le serveur ; la commande claude mcp add ci-dessous en est déduite (Roblox ne la publie pas). Nous l’avons testée sous Windows (Claude Code 2.1.310) ; la version Mac utilise le chemin officiel de Roblox, sans test de notre part. Ne fais pas les deux méthodes à la fois.
Windows (PowerShell, tape la ligne telle quelle, %LOCALAPPDATA% compris) :
claude mcp add --transport stdio --scope user Roblox_Studio -- cmd.exe /c %LOCALAPPDATA%\Roblox\mcp.bat
Mac :
claude mcp add --transport stdio --scope user Roblox_Studio -- /Applications/RobloxStudio.app/Contents/MacOS/StudioMCP
--scope user rend le serveur disponible dans tous tes projets ; tout ce qui suit -- est la commande qui lance le serveur. Pour l’enlever : claude mcp remove Roblox_Studio -s user.
3. Vérifier
Dans le terminal, avec Studio ouvert :
claude mcp list
Résultat attendu (sous Windows) : une ligne Roblox_Studio: cmd.exe /c %LOCALAPPDATA%\Roblox\mcp.bat - ✔ Connected. Dans une session Claude Code, la commande /mcp affiche aussi l’état des serveurs. En cas de problème, la documentation de Roblox conseille de redémarrer Studio et Claude Code, puis de vérifier que le chemin existe. Après une mise à jour de Studio, redémarre une fois Claude Code pour qu’il voie les nouveaux outils.
Ce que l’IA peut alors faire dans Studio
La documentation de Roblox liste les outils du serveur. Les principaux :
| Lire (sans rien changer) | Agir sur ton place |
|---|---|
script_read, script_search, script_grep : lire et chercher dans les scripts |
multi_edit : modifier ou créer un script |
search_game_tree, inspect_instance : explorer l’Explorer et les propriétés |
execute_luau : exécuter du code Luau dans Studio |
get_console_output : lire l’Output |
start_stop_play : lancer ou arrêter un test |
screen_capture : capturer la vue |
insert_asset, generate_mesh, generate_material : insérer ou générer des objets |
get_studio_state, list_roblox_studios : état de Studio |
character_navigation, user_keyboard_input, user_mouse_input : jouer à ta place pendant un test |
Avec Rojo, les scripts se modifient dans les fichiers : demande à Claude Code d’utiliser le MCP surtout pour lire le place, lancer un test et lire l’Output, pas pour éditer des scripts que Rojo écraserait ensuite.
Les précautions
Exemple de règles à placer dans .claude/settings.json, à la racine du projet (crée le dossier .claude, puis le fichier settings.json dedans, comme en leçon 3) : Claude Code demandera ton accord avant d’exécuter du Luau, de modifier un script ou d’insérer un asset par le MCP. Le préfixe mcp__Roblox_Studio__ reprend le nom du serveur : vérifie avec claude mcp list qu’il s’appelle bien Roblox_Studio chez toi, sinon adapte les trois règles.
{
"permissions": {
"ask": [
"mcp__Roblox_Studio__execute_luau",
"mcp__Roblox_Studio__multi_edit",
"mcp__Roblox_Studio__insert_asset"
]
}
}
Migrer un jeu existant vers Rojo
Tu as déjà un jeu avec des scripts créés dans Studio ? Deux méthodes, toujours sur une copie du place.
Méthode 1, à la main (la plus sûre). Pour chaque script, crée le fichier correspondant dans src (même dossier, bon suffixe, même nom), colle le code, enregistre. Ensuite seulement, connecte Rojo.
Méthode 2, rojo syncback (Rojo 7.7 et plus). Rojo lit un fichier de lieu et écrit les fichiers à ta place, en suivant ton default.project.json. Enregistre une copie du place avec Save to File As… (par exemple AncienJeu.rbxl à côté du dossier), puis commence toujours par une simulation :
rojo syncback --input ../AncienJeu.rbxl --dry-run --list
Rojo affiche les fichiers qu’il écrirait (Writing src/ServerScriptService/…) sans rien toucher. Si la liste te convient, relance sans --dry-run --list, puis vérifie le résultat avec git status avant de committer. Lors de nos tests, une interface faite à la main dans StarterGui a été écrite sous forme d’un fichier .rbxm (format binaire de Roblox), illisible dans VS Code : c’est normal.
Et Script Sync, la solution intégrée à Studio ?
Depuis juin 2026, Studio propose en version finale Script Sync : clic droit sur un dossier de l’Explorer › Sync to…, et ses scripts sont synchronisés avec des fichiers, dans les deux sens (certaines pages de Roblox parlent encore d’une bêta à activer dans File › Beta Features : si l’option Sync to… n’apparaît pas, regarde là). C’est plus simple à installer que Rojo, et Roblox le présente dans son guide « Build with a coding harness » avec le serveur MCP et Git. Mais :
- il ne gère que les Scripts, LocalScripts, ModuleScripts et Folders (pas les RemoteEvents ni l’interface) ;
- les suffixes ne veulent pas dire la même chose : avec Script Sync,
.client.luaudonne un Script en RunContext Client, et il faut.local.luaupour un LocalScript. Mélanger Script Sync et Rojo sur le même projet mène tout droit à des scripts du mauvais type ; - Roblox lui-même conseille un outil comme Rojo pour versionner tout le projet et faire des fichiers la source de vérité.
Décision de la formation : nous gardons Rojo, parce que le projet est entièrement décrit en fichiers (y compris les Remotes), et parce que tes fichiers restent compatibles avec le corrigé projet-reference. Script Sync reste une alternative honnête si tu préfères rester au plus près de Studio, mais choisis l’un ou l’autre.
Ton poste est prêt ?
Ce qu’il faut retenir
- Le terminal se pilote avec cinq gestes : vérifier le dossier (
pwd), coller,Entrée, lire la réponse,Ctrl+Cpour arrêter. - Rokit installe Rojo, selene et StyLua dans des versions fixées par
rokit.toml; Git garde l’historique, un commit par étape. - Rojo synchronise les fichiers de
srcvers Studio selondefault.project.json;.server.luau= Script,.client.luau= LocalScript,.luau= ModuleScript. Le niveau de Workspace reste dans ton place : sauvegarde-le. - luau-lsp,
selene srcetstylua --check srcattrapent des erreurs différentes ; aucun ne remplace le test. - Le serveur MCP intégré à Studio se branche à Claude Code par le Quick connect (ou
claude mcp add) ; il modifie ton place pour de vrai : sauvegarde et garde la main.
Sources et pour aller plus loin
- Rojo — installation (Rokit, plugin Studio)
- Rojo — format du fichier projet ($path, $className, $ignoreUnknownInstances)
- Rojo — dépôt officiel et CHANGELOG (syncback, synchronisation bidirectionnelle)
- Rojo — plugin sur le Creator Store
- Rokit — dépôt officiel (installation et commandes)
- Git — installation sous Windows
- Git — installation sous macOS
- Git — première configuration (user.name, user.email)
- luau-lsp — dépôt officiel (extension VS Code, sourcemap Rojo)
- selene — utilisation avec Roblox
- selene — bibliothèques standard personnalisées (
base,globals) - StyLua — dépôt officiel (configuration, –check)
- Studio MCP server — documentation Roblox (activation, Quick connect, outils, sécurité)
- Roblox/roblox-studio-agent-plugin — README officiel (modifications non annulables, données envoyées au fournisseur, outils qui modifient le place)
- Assistant Updates: Studio Built-in MCP Server and Playtest Automation — annonce Roblox (5 mars 2026)
- Studio MCP: Multi-Agent Improvements and Connected AI Clients — annonce Roblox (19 août 2026, redémarrer le client après une mise à jour)
- Roblox/studio-rust-mcp-server — ancien serveur, archivé
- Claude Code — connecter des serveurs MCP
- Claude Code — permissions (règles pour les outils MCP)
- Script Sync — documentation Roblox
- Full Release: Studio Script Sync — annonce Roblox (17 juin 2026)
- Build with a coding harness — guide Roblox (Script Sync, MCP et Git)
- StyLua — fins de ligne (
line_endings, LF par défaut) - External tools — documentation Roblox (Rojo, Rokit)