# kacrab-macros
Procedural macros for [`kacrab`](https://docs.rs/kacrab).
[](https://github.com/pirumu/kacrab/actions/workflows/ci.yml)
[](https://crates.io/crates/kacrab-macros)
[](https://docs.rs/kacrab-macros)
[](https://github.com/pirumu/kacrab#license)
This crate is maintainer-facing proc-macro support for the main `kacrab` crate.
Use the public re-export from `kacrab` instead of depending on this crate
directly.
## Scope
This crate exists because procedural macros must live in a separate
`proc-macro = true` crate (a Rust compilation constraint, not a design choice).
It is not intended to be used directly; consume it through the main `kacrab`
crate's `macros` feature.
Current macro surface:
- `kafka_config!` - declares typed Kafka client config structs, builders, key
constants, static metadata, and Java-style property parsing.
Protocol wire structs are generated by `kacrab-codegen`; this macro crate is
not the protocol generator.
## Usage
```toml
[dependencies]
kacrab = { version = "0.1", features = ["macros"] }
```
## Author
`kacrab-macros` is authored and maintained by `pirumu`.
## License
This crate is licensed under either MIT or Apache-2.0, matching the workspace.