# Command-Line Extensions for `smart-config`
[](https://github.com/matter-labs/smart-config/actions/workflows/ci.yml)
[](https://github.com/matter-labs/smart-config#license)

**Docs:** [](https://docs.rs/smart-config-commands/)
[](https://matter-labs.github.io/smart-config/smart_config_commands/)
This library provides a couple of command-line extensions for the [`smart-config`] library:
- Printing help for configuration params with optional filtering.
- Generating a Markdown reference for configuration params.
- Debugging param values and deserialization errors.
## Usage
Add this to your `Crate.toml`:
```toml
[dependencies]
smart-config-commands = "0.4.0-pre.4"
```
### Printing help on config params
```rust
use std::io;
use smart_config::ConfigSchema;
use smart_config_commands::Printer;
let mut schema = ConfigSchema::default();
// Add configurations to the schema...
param_ref.param.name.contains("test")
})?;
io::Result::Ok(())
```
Example output is as follows:

### Generating Markdown reference docs
```rust
use std::io;
use smart_config::ConfigSchema;
use smart_config_commands::{MarkdownOptions, Printer};
let mut schema = ConfigSchema::default();
// Add configurations to the schema...
```rust
use std::io;
use smart_config::{ConfigSchema, ConfigRepository};
use smart_config_commands::Printer;
let mut schema = ConfigSchema::default();
// Add configurations to the schema...
let mut repo = ConfigRepository::new(&schema);
// Add sources to the repo...