Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Quickstart: CLI

The jammi CLI is a strict gRPC client: it talks to a running jammi-server over the wire and never touches the catalog or storage in-process. Start a server (see Deploy as a Server), then point the CLI at it with --target.

Register a source

# Register a remote source (the URL is resolved server-side)
jammi --target grpc://127.0.0.1:8081 \
  sources add patents --url /path/to/patents.parquet --format parquet

# List registered sources
jammi --target grpc://127.0.0.1:8081 sources list

The CLI is a control-plane tool — SQL itself runs over the server’s Flight SQL surface through the Rust or Python client, not through a CLI verb; see Query Your Data with SQL.

The default --target is grpc://127.0.0.1:8081, so a CLI talking to a local server can omit the flag.

Check the server

# Report version, compiled features, storage backends, and mounted services.
# A successful response also confirms reachability.
jammi status

Available commands

CommandDescription
jammi statusReport the server’s capabilities and confirm reachability
jammi sources listList registered data sources
jammi sources add <NAME> --url <URL> --format <FMT>Register a source
jammi models listList registered models
jammi channels …Manage evidence channels
jammi mutable …Manage mutable companion tables
jammi trigger …Manage trigger-stream topics
jammi jobs listList jobs (lifecycle status; read-only)
jammi jobs status <JOB_ID>Read one job’s lifecycle status
jammi jobs cancel <JOB_ID>Request cancellation of a job
jammi jobs pruneDelete terminal job rows past [jobs] retention_days
jammi workers listList engine processes running the claim loop

Global options

jammi --target <ENDPOINT> <command>   # Server endpoint (default grpc://127.0.0.1:8081)
jammi --tenant <UUID> <command>       # Bind a tenant scope for the session

--target accepts grpc://host:port, http://host:port, or a bare host:port — all plaintext h2. TLS termination is the consumer’s runtime, not the CLI’s: put a TLS-terminating proxy in front and point --target at it in plaintext. --tenant binds a tenant scope before any verb runs, so every read and write is scoped to that tenant.

Next steps