Script, Draft, and Version Commands
Last validated: 2026-05-14
This page explains command usage, arguments, and practical use cases for authoring and release lifecycle operations.
1) Script Commands
script create <name>
Use case:
- Create script metadata before draft authoring.
Flags:
--description: human-readable summary.--tags: comma-separated tags.
Example:
dodil scriptum script create invoice-parser \
--description "Parse invoices into structured JSON" \
--tags "invoice,etl,finance"script get <name>
Use case:
- Inspect active/latest version and draft status.
Example:
dodil scriptum script get invoice-parser -o yamlscript list
Use case:
- Browse scripts and filter by tags.
Flags:
--tags: filter by comma-separated tags.--page-size: max number of results.
Example:
dodil scriptum script list --tags "finance,etl" --page-size 50script delete <name>
Use case:
- Remove obsolete script and all versions.
Example:
dodil scriptum script delete old-parser2) Draft Commands
draft save <name> --file <path>
Use case:
- Save
.scriptumor.yamldraft content.
Arguments and flags:
<name>: target script.-f,--file(required): draft file path.
Behavior:
.scriptumfile is sent asdsl_content.- Other extensions are sent as
yaml_content.
Example:
dodil scriptum draft save invoice-parser --file ./invoice_parser.scriptumdraft compile <name>
Use cases:
- Validate draft syntax/semantics.
- Inspect AST or IR for debugging.
Flags:
--show-ast: print raw AST JSON and exit.--show-ir: print compiled IR YAML and exit.
Examples:
dodil scriptum draft compile invoice-parser
dodil scriptum draft compile invoice-parser --show-irdraft test <name>
Use case:
- Execute current draft without publishing.
Flags:
--input: inline JSON or@filepath.--env: load environment variables.
Examples:
dodil scriptum draft test invoice-parser --input @./input.json --env
dodil scriptum draft test invoice-parser --input '{"invoice_id":"INV-42"}'draft publish <name>
Use case:
- Promote compiled draft to a new immutable version.
Example:
dodil scriptum draft publish invoice-parserdraft validate <file.scriptum> [files...]
Use case:
- Local validation without server round-trip.
Flag:
--json: JSON output from local validator.
Example:
dodil scriptum draft validate ./invoice_parser.scriptum --jsondraft fmt <file.scriptum> [files...]
Use case:
- Local formatting via validator binary.
Example:
dodil scriptum draft fmt ./invoice_parser.scriptum3) Version Commands
version list <name>
Use case:
- Inspect all published and superseded versions.
Example:
dodil scriptum version list invoice-parserversion get <name> <version>
Use case:
- Read metadata for one immutable version.
Example:
dodil scriptum version get invoice-parser 3 -o jsonversion rollback <name> [--to N]
Use case:
- Restore a previously stable version.
Flag:
--to: target version (0means previous active).
Examples:
dodil scriptum version rollback invoice-parser --to 2
dodil scriptum version rollback invoice-parser --to 04) Authoring Patterns
Fast inner loop
dodil scriptum draft save invoice-parser -f ./invoice_parser.scriptum
dodil scriptum draft compile invoice-parser
dodil scriptum draft test invoice-parser --input @./sample.json --envPromote after passing tests
dodil scriptum draft publish invoice-parser
dodil scriptum version list invoice-parser5) Practical Caveats
draft validateanddraft fmtdepend on localscriptum-validatebinary.script listand version listings may show limited pagination progression in current backend.- No dedicated CLI command exists for API
GetScriptCode; use gRPC/HTTP workaround commands from the gaps guide.