Confium CLI

The confium command-line tool is the primary user-facing interface to the engine. It manages the local plugin store, the configuration, the trusted-publisher list, and the registry client.

Install

cargo install confium-cli --locked

Or, if you have the workspace checked out:

cargo install --path crates/confium-cli --locked

Verify:

$ confium version
confium 0.3.0

Commands

Command Status Description
confium version ✅ functional Print version information.
confium install ⚠️ stub (awaits confium-net) Install a plugin from the registry.
confium remove ✅ functional Remove an installed plugin.
confium update ⚠️ stub (awaits confium-net) Update a plugin to the latest version.
confium list ✅ functional List installed plugins.
confium info ✅ functional Show details for one plugin.
confium search ✅ functional Search the registry for plugins.
confium trust ✅ functional Manage the trusted-publisher list.
confium config ✅ functional Read and write local configuration.

Two commands (install, update) are stubs that await the confium-net HTTP-fetching crate. They parse arguments and emit the right shape; the actual download path uses a NoopDownloader that returns immediately. When confium-net lands, the swap is a single trait change.

Architecture

CLI dispatches to local plugin store, config store, trust list, and the remote registry. CLI confium Plugin store ~/.confium/ plugins/ Config store ~/.confium/ config.toml Trust list ~/.confium/ trust.toml REGISTRY registry.confium.org local state + remote registry · no daemon required

The CLI talks to:

  • The local plugin store (filesystem under ~/.confium/plugins/).
  • The configuration store (~/.confium/config.toml).
  • The trusted-publisher list (~/.confium/trust.toml).
  • The plugin registry (HTTPS to registry.confium.org).

For daemon-mode operations (signing sessions, transparency log interaction), use the separate confiumd binary.

Conventions

All commands:

  • Exit 0 on success.
  • Exit 2 on usage error (bad arguments).
  • Exit 1 on operational failure (plugin not found, network error).
  • Print human-readable output to stdout by default.
  • Print machine-readable output to stdout with --json where supported.

Shell completion

Generate completion scripts:

confium completion bash > /etc/bash_completion.d/confium
confium completion zsh > /usr/local/share/zsh/site-functions/_confium
confium completion fish > ~/.config/fish/completions/confium.fish

Configuration file

The CLI reads ~/.confium/config.toml:

[registry]
url = "https://registry.confium.org"
cache_dir = "~/.confium/cache"

[plugins]
dir = "~/.confium/plugins"

[log]
level = "info"   # trace, debug, info, warn, error

Override the location with --config <path> or CONFium_CONFIG environment variable.

See also