Skip to main content

CLI reference

exd ships three binaries. Pick the one that matches your role.

BinaryAudienceWhat it does
exdDevelopers, agents, CIAuthoring, evaluation, telemetry analysis, manifest push/pull. The day-to-day tool.
exd-serverOperatorsThe long-running HTTP service.
exd-server-adminOperatorsOperate the service: bootstrap, migrate, tenants, namespaces, tokens.

A fourth binary, exd-server-git-hook, is invoked by exd-server during git push and is not user-facing.

Before diving in, skim conventions — global flags (--format, --http-backend, --manifest), environment variables (EXD_*), the --ctx k=v parser, exit-code conventions, and the JSON provenance envelope are shared across every exd subcommand.


exd — by goal

Author a flag manifest

CommandUse when
exd lintYou edited a TOML file and want every diagnostic before pushing.
exd schemaYou want the typed context shape a flag (or whole flag namespace) expects, in human / JSON / JSON Schema / Rust / TypeScript form.
exd fixturesYou want a paste-ready (ctx, expected variant) test table for an SDK.

Investigate flag behavior

CommandUse when
exd eval"What variant does this user get?" — single-shot lookup, scriptable.
exd explain"What does this flag actually do?" — static description, codebase-specific pitfalls + configuration notes, optional counterfactual outcome.

Move a manifest between disk and server

CommandUse when
exd manifest pushPromote a linted flag namespace to the server (from CI or a workstation).
exd manifest pullSnapshot the server-of-record's current flag namespace to disk.
exd manifest versionsInspect the version history of a server-hosted flag namespace.

Analyze evaluation telemetry

See the telemetry surface index for the full catalogue. Common entry points:

CommandUse when
exd telemetry summary"How many evaluations, per variant, in the last 24 h?"
exd telemetry srm"Did my rollout actually serve the split I declared?"
exd telemetry rules"Which rules are firing, which never fire?"
exd telemetry coverage"Which flags have no traffic at all?"
exd telemetry dead-flags"Which flags only ever return the catch-all?"
exd telemetry simulate"If I push this candidate manifest, how would last week's traffic look?"
exd telemetry tailLive-follow a sink during a rollout.
exd telemetry capabilitiesDiscover every query, its parameters, and the diagnostics it can raise.

exd-server* — by goal

Stand up a server

  1. exd-server-admin bootstrap — initialize the database and mint the first superadmin token.
  2. exd-server — launch the HTTP service (foreground or via your init system).

Onboard a team

  1. exd-server-admin tenant create — register the tenant.
  2. exd-server-admin namespace create — register the flag namespace under that tenant.
  3. exd-server-admin token mint — issue the right token kind (namespace-write for CI, namespace-client for browser SDKs, etc.).

Run upgrades


Conventions and shared concepts


Stability

The set of subcommands, the common flag names, the JSON envelope shape, and the T-code set are stable per spec version. New subcommands and new common flags may be added at minor versions. Renames or removals are major-version changes. Per-command "Output (human)" rendering details are NOT stable — pipe --format json for scripted consumers.