AsyncAPI toolkit in Rust with multi-language code generation.
A rewrite of asyncapi-python.
- Parse and validate AsyncAPI 3.0 specs
- Generate type-safe code for Rust, Python, and TypeScript
- Plugin architecture for wire protocols and codecs (JSON, etc.)
- Proc macro for Rust (
#[asyncapi("spec.yaml")]) - CLI for Python/TypeScript code generation
wirecrab/
├── crates/
│ ├── kernel/ # Core runtime traits
│ ├── spec/ # AsyncAPI parser and validator
│ ├── codegen/ # Code generation backends
│ ├── macros/ # Rust proc macro
│ ├── cli/ # CLI binary
│ └── contrib/
│ ├── contrib-wire-memory/ # In-memory wire (testing)
│ └── contrib-codec-json/ # JSON codec
├── .githooks/ # Git hooks (pre-commit)
├── flake.nix # Nix dev environment
└── REUSE.toml # License configuration
Recommended: Nix with flakes enabled.
nix develop # Sets up Rust toolchain and git hooks
cargo build # Build workspace
cargo test # Run testsApache-2.0