# Common developer commands for pubsat.
#
# Run `just` (no args) to see the full recipe list. Recipes that
# wrap cargo pin to `+stable` when CI does too, so a passing local
# `just check` matches what CI will accept — useful because the
# project's default contributor toolchain may be nightly, whose
# rustfmt produces subtly different output than CI's.
# Show this help.
default:
@just --list
# Run every check CI runs, in CI order.
check: fmt-check clippy test doc
# Format the workspace with stable rustfmt (matches CI).
fmt:
cargo +stable fmt --all
# Verify formatting without writing changes (mirrors the CI step).
fmt-check:
cargo +stable fmt --all -- --check
# Lint with all warnings denied (mirrors the CI step).
clippy:
cargo clippy --all-targets --all-features -- -D warnings
# Run unit + property + doc tests.
test:
cargo test --all-features
# Build docs with the same flags CI uses.
doc:
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features
# Generate an HTML coverage report and open it (cargo-llvm-cov).
coverage:
cargo llvm-cov --all-features --html --open
# Emit lcov report to lcov.info (what CI uploads to Codecov).
coverage-lcov:
cargo llvm-cov --all-features --lcov --output-path lcov.info
# Run all criterion benchmarks (slow — for measurement, not routine).
bench:
cargo bench --all-features
# Regenerate CHANGELOG.md from conventional commits (git-cliff).
changelog:
git-cliff --output CHANGELOG.md
# Preview the next release's entry without writing to disk.
changelog-preview:
git-cliff --unreleased
# Verify the crate is publish-ready (no upload).
publish-dry-run:
cargo publish --dry-run