What problem does it solve?
Genies_derive reduces boilerplate in Rust DDD projects by providing a suite of procedural macros that derive common infrastructure like aggregates, domain events, configuration loaders, and access control utilities.
Core Features & Use Cases
- Derive Aggregate for DDD aggregates with auto-generated type metadata and ID access
- Derive DomainEvent for events with customizable type/version/source metadata
- Derive Config and ConfigCore for YAML + ENV based configuration loading
- #[topic] for Dapr topic consumption with idempotent handling
- #[wrapper] for HTTP request wrapping with automatic token refresh
- #[casbin] for nested field-level permission checks
Quick Start
Install and enable genies_derive, then annotate your Rust structs/enums with the appropriate derives to generate boilerplate.