# agentlib-macros
Procedural macros for the AgentLib framework. These macros simplify the definition of tools and agents by automating boilerplate code.
## Macros
- **#[tool]**: Transform a standard Rust function into an AgentLib-compatible `Tool`. It automatically extracts the function signature to generate the corresponding JSON schema.
- **#[agent]**: Simplify the creation of an `AgentInstance` from a class-like structure.
## Usage
Defining a tool is as simple as:
```rust
use agentlib_macros::tool;
#[tool(name = "calculator", description = "Add two numbers")]
fn add(a: i32, b: i32) -> i32 {
a + b
}
```