Skip to Content
We are live but in Staging 🎉
CLI GuideApp, Draft, and Version Commands

App, Draft, and Version Commands

Last validated: 2026-05-20

App Commands

Top group:

  • dodil ignite app (aliases: function, fn)

Main subcommands:

  • create
  • get
  • list
  • update
  • delete
  • state

Important behavior note

app create currently stores metadata. Runtime selection is effectively determined from draft code source path during save/compile flows; the CLI prints a warning if runtime flags are passed during create.

Draft Commands

Top group:

  • dodil ignite draft

Main subcommands:

  • save
  • info
  • compile
  • compile-logs
  • test
  • publish

Common sequence:

dodil ignite draft save hello --code ./src --runtime python dodil ignite draft test hello --payload '{"name":"world"}' dodil ignite draft publish hello

Rust sequence:

dodil ignite draft save hello-rs --code ./src --runtime rust --rust-target native dodil ignite draft compile hello-rs --follow dodil ignite draft publish hello-rs

Draft caveat

--dependency flag on draft save is currently ignored by API path in this CLI implementation; include dependencies in source/build config.

Supported Runtime Flows

In compile-source CLI flows, runtime is selected on draft save:

  • Python (--runtime python)
  • Rust (--runtime rust --rust-target native|wasm)
  • Go (--runtime go)
  • Deno (--runtime deno)

Use draft compile for runtime paths that require explicit compile stages (notably Rust-oriented flows).

BYOI and Image-Mode Drafts

BYOI (Bring Your Own Image) is supported by Ignite API through SaveDraft.code.image variants:

  1. prebuilt image reference
  2. from_code image build from archive
  3. from_git image build from repository

Current CLI command ergonomics are primarily compile-source oriented, so image-mode draft setup is typically done through direct API calls (grpcurl/HTTP). See workflow guide: docs/06-workflows/03-build-custom-image-and-use-it.md.

Version Commands

Top group:

  • dodil ignite version

Main subcommands:

  • list <id>
  • get <id> <version>
  • rollback <id> <version>
  • code <id> [--version N]
  • test <id> <version>
  1. Create app metadata once.
  2. Iterate in draft (save -> compile if needed -> test).
  3. Publish immutable version.
  4. Use version commands for rollback/testing and release auditability.