Razorbill

CLI Reference

The eng_cli tool provides headless access to all engine operations.

Project Management

init

Create a new project with the standard directory structure.

eng_cli init <path>

Creates Content/, Library/, and Build/ directories with required metadata.

new-scene

Create a new scene file.

eng_cli new-scene <project> <scene-name>

Creates Content/Scenes/<scene-name>.scene with default scene structure.


Operations

apply-plan

Apply a sequence of typed operations to a project.

eng_cli apply-plan <project> <plan-file> --json

The plan file is a JSON array of operations:

[
  { "op": "CreateEntity", "params": { "name": "Player" } },
  { "op": "AddComponent", "params": { "entity_name": "Player", "component_type": "Transform" } }
]

Use - as the plan file to read from stdin:

echo '[{"op":"CreatePrimitive","params":{"primitive_type":"Cube","entity_name":"Box"}}]' | \
  eng_cli apply-plan ~/MyProject - --json

list-operations

List all available operations with their parameters.

eng_cli list-operations --json

list-component-types

List all registered component types with their properties.

eng_cli list-component-types --json

Entity & Component Commands

create-entity

eng_cli create-entity <project> <scene-name> <entity-name> [--json]

delete-entity

eng_cli delete-entity <project> <scene-name> <entity-name> [--json]

list-entities

eng_cli list-entities <project> <scene-name> [--json]

reparent-entity

eng_cli reparent-entity <project> <scene-name> <entity-name> <new-parent-name> [--json]

inspect-entity

Show all components and properties for an entity.

eng_cli inspect-entity <project> <scene-name> <entity-name> [--json]

inspect-scene

Show full scene structure with all entities and their components.

eng_cli inspect-scene <project> <scene-name> [--json]

add-component

eng_cli add-component <project> <scene-name> <entity-name> <component-type> [--json]

remove-component

eng_cli remove-component <project> <scene-name> <entity-name> <component-type> [--json]

set-property

eng_cli set-property <project> <scene-name> <entity-name> <component-type> <property-path> <value> [--json]

get-property

eng_cli get-property <project> <scene-name> <entity-name> <component-type> <property-path> [--json]

Prefab Commands

create-prefab

eng_cli create-prefab <project> <scene-name> <entity-name> <prefab-name> [--json]

instantiate-prefab

eng_cli instantiate-prefab <project> <scene-name> <prefab-name> [--json]

list-prefabs

eng_cli list-prefabs <project> [--json]

Scripting

compile-scripts

Compile all C++ scripts in the project to dynamic libraries.

eng_cli compile-scripts <project>

list-scripts

List all scripts with GUIDs and compilation status.

eng_cli list-scripts <project>
eng_cli list-scripts <project> --json  # Structured output

attach-script

Attach a script to an entity by name.

eng_cli attach-script <project> <scene-name> <entity-name> <script-name>

Play Mode

play

Run a scene in headless play mode for testing.

eng_cli play <project> <scene-name> -f <frame-count>
eng_cli play <project> <scene-name> -f 60 --verbose
FlagDescription
-f <count>Number of frames to simulate
--verbosePrint detailed output

AI Agent

agent

Use the AI agent to build scenes from natural language.

eng_cli agent <project> <scene-name> --prompt "<description>"
eng_cli agent <project> <scene-name> --prompt "<description>" --verbose
FlagDescription
--promptNatural language description of what to build
--verboseShow operations and diffs

Validation

validate

Run validators on a project.

eng_cli validate <project>

Runs SchemaValidator, GraphValidator, and BuildValidator. Returns structured pass/fail results with error codes.


Environment Variables

VariableDescription
ANTHROPIC_API_KEYAPI key for AI agent (required for agent command)
ENG_AUTO_PLAYSet to 1 to auto-enter play mode when launching the editor

Examples

Full Workflow

# Create project
eng_cli init ~/MyGame

# Create a scene
eng_cli new-scene ~/MyGame Main

# Build scene with AI
export ANTHROPIC_API_KEY=sk-...
eng_cli agent ~/MyGame Main \
  --prompt "Create a platformer level with platforms, a player with character controller, and outdoor lighting"

# Compile scripts
eng_cli compile-scripts ~/MyGame

# Test in headless play mode
eng_cli play ~/MyGame Main -f 120 --verbose

# Validate
eng_cli validate ~/MyGame

On this page