Building and Testing¶
Toolchain and source checkout¶
Development requires Git and Rust 1.88 or newer. Clone the repository and enter the workspace:
Cargo fetches the locked, git-pinned Oven SDK dependencies automatically. Build the debug binary with:
The binary is target/debug/cookie. To install the workspace version into
$CARGO_HOME/bin, run:
The workspace contains ten crates: config, cookie_agent, engine,
identity, models, plugin_sdk, protocol, server, tools, and tui.
Their public interfaces are available in the Rust API documentation.
Required gates¶
Use locked dependency resolution for workspace builds and tests:
Run formatting and Clippy with warnings denied under stable and the Rust 1.88 minimum supported toolchain:
cargo fmt --all -- --check
cargo +stable clippy --locked --workspace --all-targets -- -D warnings
cargo +1.88.0 clippy --locked --workspace --all-targets -- -D warnings
Check the additive protocol schema contract, documentation, and dependency policy:
crates/protocol/scripts/check-schema-additive.sh
./scripts/build-docs.sh
cargo deny --locked check advisories licenses sources
The bindings check requires Node.js and npm. Documentation requires Python 3;
install requirements-docs.txt before running ./scripts/build-docs.sh. That
script builds workspace rustdoc and runs MkDocs in strict mode.
Windows targets¶
CI builds and tests both x86_64-pc-windows-msvc and
aarch64-pc-windows-msvc on native Windows runners. Use the matching MSVC Rust
target when validating Windows-specific changes.