roblox-tooling

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

When to Load

加载时机

Load when the task involves Rojo setup or
default.project.json
, Wally package management, Selene/StyLua linting/formatting, Lune scripting, Aftman toolchain config, CI/CD pipelines, or
.server.luau
/
.client.luau
file naming. Hand off to domain skills for game code,
roblox-luau-core
for language questions,
roblox-testing
for test patterns.
当任务涉及Rojo设置或
default.project.json
、Wally包管理、Selene/StyLua代码检查/格式化、Lune脚本编写、Aftman工具链配置、CI/CD流水线,或者
.server.luau
/
.client.luau
文件命名时,加载本技能。游戏代码相关任务请转交领域技能,语言问题请咨询
roblox-luau-core
,测试模式相关请咨询
roblox-testing

Quick Reference

快速参考

Aftman (toolchain pinning):
aftman.toml
— all tools installed via
aftman install
.
[tools]
rojo = "rojo-rbx/rojo@7.4.4"
wally = "UpliftGames/wally@0.3.2"
selene = "kampfkarren/selene@0.27.1"
stylua = "JohnnyMorganz/StyLua@2.0.2"
lune = "lune-org/lune@0.8.0"
Rojo (filesystem → Studio):
default.project.json
maps dirs to services.
  • File suffixes:
    .server.luau
    (Script),
    .client.luau
    (LocalScript),
    .luau
    (ModuleScript),
    init.luau
    (folder-as-ModuleScript)
  • Commands:
    rojo serve
    (live sync),
    rojo build -o game.rbxl
    ,
    rojo sourcemap ... -o sourcemap.json
Wally (package manager):
wally.toml
with realms
shared
/
server
/
dev
.
  • wally install
    /Packages/
    (never commit this dir; do commit
    wally.lock
    )
  • Format:
    scope/package@version
    e.g.
    evaera/promise@4.0.0
Selene (linter): Needs
std = "roblox"
in
selene.toml
.
  • selene src/
    (lint),
    --no-color
    for CI,
    -- selene: allow(rule)
    inline
StyLua (formatter):
stylua.toml
— enforce style across team.
  • stylua src/
    (format),
    --check src/
    (CI verify),
    -- stylua: ignore
    inline
Lune (headless Luau):
lune run script.luau
— built-ins:
@lune/fs
,
@lune/net
,
@lune/process
,
@lune/serde
luau-lsp: Generate sourcemap for IntelliSense. VS Code: enable
luau-lsp.sourcemap.autogenerate
.
CI pipeline: Aftman install → selene → stylua --check → luau-lsp analyze → lune test → rojo build.
Gitignore essentials:
/Packages/
,
*.rbxl
,
sourcemap.json
,
/.aftman/
,
/build/
Full reference:
references/full.md
Aftman(工具链固定):
aftman.toml
—— 所有工具通过
aftman install
安装。
[tools]
rojo = "rojo-rbx/rojo@7.4.4"
wally = "UpliftGames/wally@0.3.2"
selene = "kampfkarren/selene@0.27.1"
stylua = "JohnnyMorganz/StyLua@2.0.2"
lune = "lune-org/lune@0.8.0"
Rojo(文件系统 → Studio):
default.project.json
将目录映射到服务。
  • 文件后缀:
    .server.luau
    (Script)、
    .client.luau
    (LocalScript)、
    .luau
    (ModuleScript)、
    init.luau
    (文件夹作为ModuleScript)
  • 命令:
    rojo serve
    (实时同步)、
    rojo build -o game.rbxl
    rojo sourcemap ... -o sourcemap.json
Wally(包管理器):
wally.toml
包含
shared
/
server
/
dev
作用域。
  • wally install
    /Packages/
    (切勿提交此目录;需提交
    wally.lock
  • 格式:
    scope/package@version
    例如
    evaera/promise@4.0.0
Selene(代码检查器):需要在
selene.toml
中设置
std = "roblox"
  • selene src/
    (检查代码)、CI环境使用
    --no-color
    、行内使用
    -- selene: allow(rule)
StyLua(代码格式化工具):
stylua.toml
—— 统一团队代码风格。
  • stylua src/
    (格式化代码)、CI验证使用
    --check src/
    、行内使用
    -- stylua: ignore
Lune(无头Luau环境):
lune run script.luau
—— 内置模块:
@lune/fs
@lune/net
@lune/process
@lune/serde
luau-lsp:生成源代码映射以支持智能提示。VS Code中:启用
luau-lsp.sourcemap.autogenerate
CI流水线:Aftman安装 → selene检查 → stylua格式校验 → luau-lsp分析 → lune测试 → rojo构建。
Gitignore核心规则
/Packages/
*.rbxl
sourcemap.json
/.aftman/
/build/
完整参考
references/full.md