5.8.3

TresJS CLI

The tres command line tool for TresJS projects.

@tresjs/cli is the command line companion for TresJS projects. It exposes a single tres binary that automates the parts of a 3D project that are tedious to write by hand, starting with turning a .glb/.gltf model into a real Vue component.

Installation

Run it without installing anything:

npx @tresjs/cli --help

Or add it to the project so everyone on the team runs the same version:

npm install -D @tresjs/cli

Once installed, the binary is available as tres:

tres --help
The CLI requires Node.js 20 or later.

Commands

tres gltf

Generate a typed Vue component from a .glb/.gltf model, with a slot per node so your overrides survive the next export.

tres gltf public/models/robot.glb
# ▲ ■ ● Tres  gltf  robot.glb
#
# ✔ Parse       12 named nodes · 3 meshes · 2 materials    34ms
# ✔ Emit        3 slots                                     1ms
#
# ✔ src/models/Robot.gen.vue
#   slots  Head, Body, Base
#
# Done in 41ms

Global options

OptionDescription
-V, --versionPrint the CLI version.
-h, --helpPrint help for the CLI or for a specific command (tres gltf --help).
Looking for a way to scaffold a new project? That is a different tool: npm create tres@latest. See the installation guide.

Piping

Progress (the header, the phases, warnings, the file list) goes to stderr. stdout carries only what a command produces: the JSON of --json, the component of --console. So redirecting gives you the payload alone, while you still watch the run on screen:

tres gltf public/models/robot.glb --json > robot.json
tres gltf public/models/robot.glb --console | pbcopy

Colour follows NO_COLOR, and the spinner turns itself off when stderr is not a terminal, so CI logs get one line per phase instead of a repaint per frame.