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

Quickstart

This builds and runs a tiny workflow end to end with the dodil CLI. Scriptum runs in the cloud β€” there’s nothing to host yourself.

Before you start

  • The dodil CLI, installed and authenticated β€” see Install the CLIΒ . Scriptum commands live under dodil scriptum.
  • Set up the CLI once: dodil login, then optionally dodil scriptum config init to persist the endpoint and org.

1. Write a script

Save this as summarize.scriptum. It takes some text and returns a two-sentence summary using the managed LLM:

script "Summarize" version "0.1.0" input text: text -- the text to summarize output summary: text do "Summarize the text" with llm prompt = "Summarize the following in two sentences:\n\n{text}" -> result emit "Result" summary = result.text

do ... with llm is a built-in model capability β€” no tool declaration needed. {text} interpolates the input; -> result binds the completion (its .text field holds the output). See Scriptum Language for the full syntax.

2. Create, draft, compile

dodil scriptum script create summarize dodil scriptum draft save summarize -f summarize.scriptum dodil scriptum draft compile summarize

compile type-checks the script against each tool’s schema and reports diagnostics with line and column. Fix anything it flags before moving on.

3. Test the draft

Run the draft without publishing:

dodil scriptum draft test summarize --input '{"text":"Scriptum compiles a typed DSL into a resumable cloud thread."}'

4. Publish a version

dodil scriptum draft publish summarize

This snapshots the draft as an immutable, numbered version and makes it the active one.

5. Run it

dodil scriptum thread run summarize --input '{"text":"..."}' --result

thread run creates a thread, streams its progress live, and (--result) prints the final output. A thread is a durable run β€” fetch it later with dodil scriptum thread get <id> or thread result <id>, and a paused thread can be resumed.

Next