The dodil CLI
dodil is Dodil’s unified command-line tool — one binary that wraps every product (Ignite, DataK³, Scriptum, Git, Registry) as a subcommand, sharing a single login and config.
Install
macOS & Linux
curl -fsSL https://cli.dodil.io | bashThe installer detects your OS and architecture, downloads the matching binary to ~/.local/bin/dodil, and makes it executable. If ~/.local/bin isn’t on your PATH, add it to your shell profile:
export PATH="$HOME/.local/bin:$PATH"Windows
There’s no install script for Windows yet — download the binary directly and put it on your PATH. In PowerShell:
irm https://cli.dodil.io/dodil-windows-amd64.exe -OutFile dodil.exePick the build that matches your machine: dodil-windows-amd64.exe, dodil-windows-arm64.exe, or dodil-windows-386.exe.
Binaries for every platform are served from
cli.dodil.ioasdodil-<os>-<arch>—linux(amd64/arm64/386),darwin(amd64/arm64), andwindows(amd64/arm64/386).
Verify
dodil --helpWhat the installer does
The one-liner is a small, auditable Bash script. It:
- Verifies the release. Downloads
SHA256SUMSand its signature, checks that signature against an ECDSA P‑256 public key embedded in the script, then verifies the downloaded binary’s checksum before installing. (Requiresopenssl.) - Installs the matching
dodil-<os>-<arch>binary to~/.local/bin/dodiland marks it executable. - Wires up local tooling (best‑effort, never fatal):
- Shell completions for bash, zsh, and fish.
- MCP registration for local AI agents — Claude Code (via
claude mcp add), Cursor, Windsurf, Gemini CLI, Antigravity, Claude Desktop, Kimi Code, MiniMax Mini-Agent, and Codex. Existing configs are backed up as*.dodil.bak. See MCP server. - An optional login, only when
DODIL_LOGINis set.
Opt out of individual steps with environment variables:
| Variable | Effect |
|---|---|
DODIL_SKIP_COMPLETIONS=1 | Don’t install shell completions |
DODIL_SKIP_MCP_SETUP=1 | Don’t register the MCP server with agents |
DODIL_LOGIN=web|service-account|skip | Optional post‑install login (skipped by default when non‑interactive) |
Prefer to read it before running?
curl -fsSL https://cli.dodil.io -o install-dodil.sh
less install-dodil.sh && bash install-dodil.shUsing the CLI
Each product is a subcommand of dodil:
| Command | Product |
|---|---|
dodil ignite | Ignite — serverless apps & managed model inference |
dodil data (alias k3) | DataK³ — objects, tables, vector & graph |
dodil scriptum | Scriptum — scripted workflows & agents |
dodil git | Git — source control |
dodil registry | Registry — container images |
For example:
dodil ignite app list
dodil data bucket listAuthenticate
Two ways, one token. The token applies to every product.
Browser (interactive)
dodil auth loginOpens a browser to log in with your user account (OAuth 2.0 device flow). Best for humans on a workstation.
Service account (programmatic / CI)
For apps, agents, and CI, authenticate with a service account — either flags or env vars:
# explicit flags
dodil auth login --service-account-id <id> --service-account-secret <secret>
# or set env vars and just run `dodil auth login`
export DODIL_SERVICE_ACCOUNT_ID=<id>
export DODIL_SERVICE_ACCOUNT_SECRET=<secret>
dodil auth loginPass --web to force the browser flow even when service-account env vars are set.
Status and logout
dodil auth status # show who you're logged in as
dodil auth logout # forget your credentialsThe older
dodil login <service_account_id> <service_account_secret>form is kept as a backward-compat alias for the service-account flow.
After login, your token and org are read from config, so you usually don’t pass --token or --org per command.
Config
Configuration is shared at ~/.config/dodil/config.yaml. Each value resolves in this order:
- CLI flags (
--api-endpoint,--token,--org) - Environment variables —
DODIL_TOKEN,DODIL_ORG, and a per-product endpoint variable (IGNITE_API_ENDPOINT,K3_API_ENDPOINT, …) - Config keys — the product’s own section (
ignite.*,k3.*, …) with aglobal.*fallback - Built-in defaults
Each product’s CLI guide notes its own env prefix and config namespace.
MCP server
dodil mcp turns the CLI into a Model Context Protocol server, so AI agents can call Dodil operations as structured tools. The installer registers it for supported agents automatically.
See MCP server for tools, transports, code mode, and other ways to run it.
Per-product CLI guides
Each product’s docs cover its own commands in depth:
- Ignite — CLI Basics
- K3 — CLI Basics
- Scriptum — docs
- Git — docs
- Registry — docs