# Inner loop: fast sanity check before commits.
default: fmt-check clippy
# Apply formatters and clippy autofixes. Mutates the working tree.
fix:
cargo fmt --all
cargo clippy --fix --workspace --allow-dirty --allow-staged --all-targets --all-features
# --- atomic recipes (read-only, composable) ---
fmt-check:
cargo fmt --all -- --check
clippy:
cargo clippy --locked --workspace --all-targets --all-features -- -D warnings
test FILTER='':
cargo test --locked --workspace --all-targets --all-features {{FILTER}}
cargo test --locked --workspace --doc --all-features {{FILTER}}
release-build:
cargo build --locked --workspace --all-features --release
doc:
RUSTDOCFLAGS="-D warnings" cargo doc --locked --workspace --all-features --no-deps
package:
cargo package --locked --workspace --allow-dirty --no-verify
# Cross-platform integration matrix. Docker required; slow; opt-in.
e2e:
@command -v docker >/dev/null 2>&1 || { echo "ERROR: docker required (install Docker or start colima)" >&2; exit 1; }
@docker info >/dev/null 2>&1 || { echo "ERROR: docker daemon not reachable (start colima or your Docker engine)" >&2; exit 1; }
@command -v python3 >/dev/null 2>&1 || { echo "ERROR: python3 required" >&2; exit 1; }
python3 tests/cross-platform/run.py
# --- composites ---
# PR-time gate. The GitHub Action runs the same atomic recipes.
ci: fmt-check clippy test doc
# Full release gate. Invoked by the bump-version skill.
prerelease: ci release-build package e2e