Skip to content

G-USI/wirecrab

Repository files navigation

Wirecrab

AsyncAPI toolkit in Rust with multi-language code generation.

A rewrite of asyncapi-python.

Features

  • 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

Project Structure

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

Development

Recommended: Nix with flakes enabled.

nix develop    # Sets up Rust toolchain and git hooks
cargo build    # Build workspace
cargo test     # Run tests

License

Apache-2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published