toml-scaffold 0.4.0

Generate commented TOML scaffolds from Rust structs and values
Documentation
use schemars::JsonSchema;
use serde::Serialize;
use serde_json::json;
use toml_scaffold::TomlScaffold;

#[derive(Serialize, JsonSchema, TomlScaffold)]
struct LlmConfig {
    base_url: String,
    #[format = "*dotted"]
    body: serde_json::Value,
}

#[derive(Serialize, JsonSchema, TomlScaffold)]
struct Config {
    name: String,
    llm: LlmConfig,
}

#[test]
fn test_nested_format_preferences() {
    let config = Config {
        name: "test".to_string(),
        llm: LlmConfig {
            base_url: "https://example.com".to_string(),
            body: json!({
                "parallel_tool_calls": true,
                "reasoning": {
                    "effort": "medium"
                }
            }),
        },
    };

    let scaffold = config.to_scaffold().unwrap();
    assert_eq!(scaffold, include_str!("nested_format_preferences.toml"));
}