CLI Reference

turian-cli is the headless companion to Turian Studio. It scaffolds projects, prints metadata, and compiles self-contained game executables — no GUI required, which makes it ideal for continuous integration.


Commands

new-project

turian-cli new-project <path> "<Display Name>"

Scaffolds a new project directory with an assets/ folder and a starter scene.

turian-cli new-project ../my-game "My Game"

info

turian-cli info <path>

Prints the project's metadata (name, version, asset counts).

build

turian-cli build <path>

Cooks every asset into <path>/.cache/game.oap, generates build.zig + main.zig, and compiles a standalone executable at <path>/.cache/zig-out/bin/game[.exe].

The resulting binary is self-contained: it reads all assets from the sibling game.oap and needs no engine source tree to run.


Building from a source checkout

If you are working inside the engine repository rather than an SDK bundle:

zig build cli -- build path/to/my-project

Path resolution

turian-cli finds the engine sources in this priority order:

  1. Environment variables — e.g. TURIAN_ENGINE_ROOT (highest priority).
  2. SDK-relative paths — resolved from the turian-sdk.json marker next to the binary.
  3. Build-time baked paths — present only in in-tree dev builds.

See the SDK Guide for the full list of override variables.


Use in CI

Because build is fully headless, a typical pipeline step is just:

build-game:
  script:
    - turian-cli build .
  artifacts:
    paths:
      - .cache/zig-out/bin/

← All docs Edit on GitLab