Getting Started
Mid Engine is a Cargo workspace. Most crates build on a plain, current
stable toolchain, but a handful need a newer Rust than the workspace's
usual floor — see Crate Dependency Order and each
crate's own page for specifics before assuming a bare, unqualified command
below will cover everything.
Build and test
# Everything a bare-minimum, no-flags toolchain can build:
cargo build
cargo test
# A release build:
cargo test --release
# One crate specifically -- always safe, regardless of any MSRV wall
# elsewhere in the workspace:
cargo build -p mid-math
cargo test -p mid-math
# The headless server example:
cargo run --example headless-server
A note on -p
Several crates deliberately need a newer toolchain than the rest of the
workspace (an upstream dependency's own edition2024 requirement, mostly —
see each crate's page for the specific wall). A bare cargo build/cargo test with no -p flag pulls every workspace member in, including those.
Building a single crate with -p <crate-name> only resolves that crate's
own dependency closure, so it stays on whatever toolchain that crate
actually needs — usually the workspace floor.
CI
Every crate's tests run through its own workflow_dispatch-only GitHub
Actions workflow — nothing runs automatically on push. Trigger one from the
repository's Actions tab, then check the Tests page (or the run's
own Job Summary) for results. See Contributing & CI for
the full convention.