Rust Crates
WeaveFFI is published as four crates that share one version:
| Crate | Use it when |
|---|---|
weaveffi | You’re writing a Rust producer. It’s the only dependency a producer needs, and its abi module is the runtime. |
weaveffi-macros | Never directly; weaveffi re-exports its macros. |
weaveffi-model | You’re building a tool on the IR: parsing, validating, or extracting an API, reading library metadata, or reading the validated Model. Its default idl feature adds the YAML, JSON, and TOML formats, the JSON Schema, and rich diagnostics. |
weaveffi-cli | You want the weaveffi command (cargo install weaveffi-cli), or you’re driving or extending the generators from Rust (project::Project generates a project, from a build.rs too). |
- Rust API Map lists the items a producer uses from
weaveffiand itsabiruntime, and which exist only for the macro expansion. - Doc Comment Style is the convention for the doc comments themselves.
The full API docs are published at weaveffi.com/api/rust/weaveffi/ and build locally with:
cargo doc --workspace --all-features --no-deps --open
Every public item in the library crates is documented, enforced by
#![deny(missing_docs)] and the Clippy doc lints.