Skip to content

CLI

Initialize a workspace with configuration files:

Terminal window
dsl init [path] [--preset <preset>] [--force]
PresetFiles Created
fullappsettings.json, datasheetlang.yml, config/, packages/core/, scripts/
minimalappsettings.json, datasheetlang.yml
equipmentappsettings.json, config/stat-formulas.yaml, config/gear-tiers.yaml
syncappsettings.json, config/sync-config.template.yaml

Use --force to overwrite existing files.

Apply a spec file to a DataSheet folder:

Terminal window
dsl apply <spec.yaml> --path <path> [--verbose]

Use --verbose (or -v) to see diagnostic output during import and definition resolution.

Validate a spec without writing changes:

Terminal window
dsl validate <spec.yaml> [--path <path>]

Debug equipment computation for a specific item:

Terminal window
dsl explain <spec.yaml> <item_id> --formulas <stat-formulas.yaml>

Bulk-regenerate equipment stats from existing XML:

Terminal window
dsl regenerate equipment --path <data> --tiers <tiers.yaml> --formulas <formulas.yaml>

See Equipment Regeneration.

Synchronize server XML to client DataCenter format:

Terminal window
dsl sync --config <sync-config.yaml> --all
dsl sync -c <sync-config.yaml> -e ItemData -e NpcData

See Client Sync.

Preview YAML after preprocessing (expand all directives):

Terminal window
dsl expand <spec.yaml> [--output <file>]

Outputs the preprocessed YAML with $extends and $remove directives fully resolved. Useful for debugging definition inheritance.