Skip to Content
We are live but in Staging πŸŽ‰
CLI GuideOverview

CLI Guide

Scriptum is part of the dodil CLI. Every command is invoked as:

dodil scriptum <group> <subcommand> [args] [flags]

Scripts are authored once, run as durable threads, and managed entirely through this command group. Threads run in the cloud β€” there is nothing to host or schedule yourself.

Install and authenticate

Install and authenticate the dodil CLI β€” see Install the CLIΒ  (macOS, Linux, Windows). It covers dodil login, the shared config file, and the value-resolution order, all single-sourced there. Scriptum is the dodil scriptum group.

Scriptum-specific notes:

  • Endpoint default is rpc.dev.dodil.io:443 (gRPC, TLS on for :443).
  • Environment prefix is SCRIPTUM_ β€” SCRIPTUM_API_ENDPOINT, SCRIPTUM_ORG_ID, SCRIPTUM_ORG_NAME, and SCRIPTUM_TOKEN. The shared DODIL_TOKEN also applies.
  • Config keys live under a scriptum.* section, with a global.* fallback.

After login you can drop the auth flags and just run short commands:

dodil scriptum health dodil scriptum doctor

doctor validates config, endpoint, token, organization, server reachability, and a lightweight auth check before you run anything real.

Command map

GroupSubcommandsWhat it does
scriptcreate, get, list, deleteScript metadata and lifecycle
draftsave, compile, test, publish, validate, fmtAuthor and validate draft source
versionlist, get, rollbackPublished version history and rollback
threadcreate, run, get, list, result, watch, stepsExecute and observe threads
envset, get, list, delete, importTenant environment variables
toollistBrowse the tool catalog
configinit, view, setManage CLI configuration
healthβ€”Server status, version, uptime
doctorβ€”Diagnose config, connectivity, and auth

Detailed pages:

Global flags

These work on every command, before or after the subcommand:

FlagMeaningExample
-o, --outputOutput format: table, json, yaml, wide-o json
--api-endpointAPI endpoint (host:port)--api-endpoint rpc.dev.dodil.io:443
--tokenAuth token override--token "$DODIL_TOKEN"
--orgOrganization ID override--org org_abc
--org-nameOrganization name override--org-name finance
--debugEnable debug output--debug
--timeoutRequest timeout (duration)--timeout 45s

Use -o json for automation and parse responses deterministically; the default table output is for humans.

Conventions used across the CLI

  • --input accepts inline JSON ('{"k":"v"}') or a file with the @ prefix (@./input.json).
  • --input files ending in .scriptum are sent as DSL; other extensions are sent as compiled IR (.yaml).
  • --env on draft test, thread create, and thread run loads the effective merged environment (tenant + script overlay) into the run.
  • Version 0 means β€œthe active version” wherever a --version or rollback target is accepted.

See also