9.5 KiB
CrownStudio Roblox TS Template
Template Roblox TypeScript avec Flamework, Rojo et une sélection de bibliothèques prêtes à importer. Les versions exactes sont dans package.json, pnpm-lock.yaml, rokit.toml et mise.toml. Pour un agent, ces fichiers et les statuts ci-dessous sont la source de vérité : une référence dans ce README ne signifie pas qu'une fonction de jeu est déjà implémentée.
Démarrage
Sous Windows 10/11, lancer depuis le dépôt :
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup.ps1
Le script d'installation nécessite WinGet (App Installer du Microsoft Store). Il installe Git, mise, Rokit, Roblox Studio et Blender via WinGet, puis les versions définies dans mise.toml et rokit.toml, et les dépendances pnpm verrouillées. Il termine par pnpm check et pnpm build et s'arrête dès qu'une commande échoue. Windows peut demander une élévation pour certains installateurs. Une relance conserve les applications déjà installées ; elle ne les met pas à jour automatiquement. Les applications WinGet utilisent la version disponible dans son catalogue, les outils du projet restent épinglés.
Bibliothèques installées
Chaque paquet de cette section est une dépendance directe. Les liens mènent à la documentation du projet ou à son README actuel ; les versions exécutables sont épinglées dans le lockfile. Les 22 bibliothèques ont été examinées : Flamework, son gestionnaire de composants, Cmdr et le logger sont branchés au démarrage ; les autres bibliothèques s'utilisent à l'import ou se configurent avec les données de leur fonctionnalité.
Console Cmdr : en mode Play dans Studio, ouvrir avec F2. Les commandes intégrées sont enregistrées et protégées côté serveur. Hors Studio, seuls le propriétaire individuel de l'expérience et les UserIds renseignés dans cmdr-permissions.ts sont autorisés. Pour une expérience de groupe, renseigner les administrateurs explicitement. pnpm test:cmdr vérifie cette politique ; ce test fait aussi partie de pnpm check. La configuration client est dans cmdr-controller.ts.
@flamework/core(documentation) — services, contrôleurs et injection ; le service de démarrage en donne un exemple.@flamework/components(documentation) — composants d'instances.@flamework/networking(documentation) — réseau typé.@rbxts/react(documentation React Lua, liaison roblox-ts) — interface React.@rbxts/react-roblox(documentation ReactRoblox, liaison roblox-ts) — rendu React dans Roblox.@rbxts/reflex(documentation) — état applicatif.@rbxts/ripple(README et API) — animations.@rbxts/services(README) — accès typé aux services Roblox.@rbxts/lapis(documentation) — persistance de données.@rbxts/trove(README et API) — nettoyage des ressources.@rbxts/log(README) — journalisation.@rbxts/sift(documentation) — collections immuables@rbxts/t(README et API) — validation de valeurs à l'exécution.@rbxts/cmdr(documentation, types roblox-ts) — commandes de développement.@rbxts/gamejoy(README) — contrôles de jeu.@rbxts/tween(README et API) — interpolations.@rbxts/timer(README) — temporisation.@rbxts/ui-labs(documentation) — prévisualisation d'interface.@rbxts/sound-manager(documentation du projet) — gestion des sons@rbxts/object-cache(documentation amont) — cache de pièces/objets@rbxts/net(README) — contientExperienceBroadcastEventpour les messages entre serveurs.@rbxts-js/roblox-lua-promise(README) — implémentation de promesses
Pour choisir une approche lors d'une nouvelle fonctionnalité, le skill local roblox-feature-docs compare les bibliothèques pertinentes, leurs documentations et les API réellement disponibles dans les versions verrouillées.
Outils initialisés
- roblox-ts :
roblox-ts,@rbxts/types,@rbxts/compiler-typeset le transformer Flamework sont configurés danstsconfig.json. - Rojo : manifeste
default.project.json,pnpm buildetpnpm serve. - rbxts-build : commandes
pnpm start,pnpm watch,pnpm open,pnpm stopet constructiongame.rbxl. - Asphalt : binaire épinglé avec Rokit ; aucun asset à synchroniser dans ce template vierge.
- darklua : binaire épinglé avec Rokit ; aucune transformation de Lua requise pour le démarrage.
- Mantle : binaire épinglé avec Rokit ; le déploiement exige une expérience Roblox et des identifiants propres au projet. Son dépôt indique qu'il n'est plus maintenu.
- mise et pnpm : versions du runtime et gestion reproductible des dépendances.
- ESLint : configuration flat dans
eslint.config.mjs, avec typescript-eslint et Prettier. - Husky : vérification Git locale.
- Renovate : règles de mise à jour des dépendances ; l'activation du bot sur l'hébergeur reste à faire.
MCP : Codex, Claude, Cursor et Antigravity
Les deux serveurs sont définis dans les fichiers de projet suivants. Chaque client lit son propre fichier, et les processus sont lancés à la demande :
| Client | Configuration dans ce dépôt | Référence du client |
|---|---|---|
| Codex | .codex/config.toml |
MCP Codex |
| Claude Code | .mcp.json |
MCP Claude Code |
| Cursor | .cursor/mcp.json |
MCP Cursor |
| Antigravity | .agents/mcp_config.json |
MCP Antigravity |
- Roblox Studio MCP (documentation officielle) : les configurations lancent
%LOCALAPPDATA%\Roblox\mcp.batviacmd.exe. Ce lanceur est fourni par Studio sous Windows. Démarrer Studio, activer son serveur MCP dans les paramètres Assistant/MCP, puis redémarrer le client d'agent si nécessaire. Le fichiermcp.batest présent sur la machine d'initialisation ; une connexion à une session Studio ouverte reste à vérifier. - Blender MCP (documentation officielle) : les configurations lancent
blender-mcpdepuis le dépôt officiel Blender Lab, épinglé surv1.0.3, au moyen deuvx. Blender 5.1+ et l'extension MCP doivent être installés et actifs. Sur la machine d'initialisation, Blender 5.2.2 LTS et l'extension 1.0.3 ont été installés ; le serveur se lance et le pont de l'extension a été vu à l'écoute surlocalhost:9876. Un appel MCP complet depuis un client reste à vérifier. Rouvrir les clients après installation deuvxpour qu'ils héritent du nouveauPATH.
Le serveur Blender peut exécuter du code Python dans Blender : utiliser uniquement des projets de confiance. Les configurations n'incluent aucun secret.
L'API Cloud Creator Store est une API Roblox distincte des serveurs MCP ci-dessus. Elle n'est pas activée ici : son usage nécessite une clé et un cas d'utilisation précis.
Version du template : 1.0.0