llm-schema 0.1.0

A Rust library for type-safe schema conversion between Rust types and LLM.
Documentation
<div align="center">

# llm-schema   
**For type-safe schema conversion between Rust types and LLM.**

[![Version](https://img.shields.io/crates/v/llm-schema)](https://crates.io/crates/llm-schema)
[![Downloads](https://img.shields.io/crates/d/llm-schema?logo=rust)](https://crates.io/crates/llm-schema)
[![License](https://img.shields.io/crates/l/llm-schema)](LICENSE)
[![Documentation](https://img.shields.io/docsrs/llm-schema)](https://docs.rs/llm-schema)

</div>

***Note: This project is under active development and APIs may change.***

## Quick start
```rust
use llm_schema::LlmSchema;

#[derive(LlmSchema)]
struct Example {
    name: String,
    age: i32,
    #[llmschem(require)]
    email: String,
    nickname: Option<String>,
}

fn main() {
    let schema = Example::llm_schema();
    println!("{}", serde_json::to_string_pretty(&schema).unwrap());

    // {
    //     "properties": {
    //         "age": {
    //         "type": "number"
    //         },
    //         "email": {
    //         "type": "string"
    //         },
    //         "name": {
    //         "type": "string"
    //         },
    //         "nickname": {
    //         "type": "null"
    //         }
    //     },
    //     "required": [
    //         "email"
    //     ],
    //     "type": "object"
    // }
}
```

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=zTgx/llm-schema&type=Date)](https://www.star-history.com/#zTgx/llm-schema&Date)

## License

This project is licensed under the MIT License - see the `LICENSE` file for details.