Skip to main content
Registry publishing is still on the roadmap. Use a repository checkout for the core and adapters.

Build the core

Install Rust through rustup and a C compiler toolchain. This checkout pins Rust 1.99.0 with rustfmt and Clippy; rustup installs them when you run Cargo here. The core library supports Rust 1.85 or later. Linux and macOS are supported.
The Cargo workspace writes target/release/libzinc_core.so on Linux or target/release/libzinc_core.dylib on macOS. The C header, include/zinc.h, is checked in. Regeneration is only needed after changing C exports; see contributing.

Build an adapter

Run these commands from the repository root: See the adapter references for runtime requirements and imports. Node builds its core into the native addon. Python, Bun, and Deno currently resolve the shared library relative to their source checkout. Moving those adapters elsewhere requires changing their loader paths. Go links against the repository’s target/release directory. C++, Java, and C# need the shared library available to the native loader. For development, set the loader path:

Verify

The runner tests installed language runtimes and reports missing tools. CI installs all adapter runtimes on Linux and macOS. For a cross-process example, follow the quickstart.