dynamic-config-cli 0.6.1

Command-line diagnostics for dynamic-config: explain a value, diff two documents
# dynamic-config-cli

Command-line diagnostics for [`dynamic-config`] configuration: the
`dynamic-config` binary.

```sh
cargo install dynamic-config-cli
```

A CLI cannot see an application's `#[dynamic_config]` attribute or its
builder, so it builds the load **from flags** — what the flags describe
must match what the application declares, or the answer is about a
different load. The flags exist because that is the honest boundary, not
a limitation to engineer away.

## `explain` — every layer's answer for one path

```sh
dynamic-config explain pool.max_size \
    --file config.toml --file secrets.toml \
    --key db --env APP_ --profile-env APP_ENV
```

Prints what every layer supplies for the path and which one wins — the
same table `AppConfig::explain(..)` renders in code. **Values print as
`***` by default**; `--show-values` opts in. A published diagnostic tool
cannot ask its user to already know which paths are sensitive, so the
safe rendering is the default and seeing values is the deliberate act.

## `diff` — which paths moved between two documents

```sh
dynamic-config diff config-yesterday.toml config-today.toml --key db
```

Paths only, never values — the audit half of a change, holding the same
line every other diagnostic in the project holds.

## Completions and the manual

```sh
dynamic-config completions bash > /etc/bash_completion.d/dynamic-config
dynamic-config man > /usr/local/share/man/man1/dynamic-config.1
```

## Stability

Beta, like every crate here: the flag surface is settled. The diagnostics it
prints hold the same guarantees as the library's own.

## MSRV

1.85 — higher than [`dynamic-config`]'s own 1.71, because clap needs more
than the core does.

## License

MIT

[`dynamic-config`]: https://docs.rs/dynamic-config