girt 0.4.3

An incremental, idiomatic Rust implementation of Git
Documentation
# List available recipes.
default:
    @just --list

# Run the common checks for Rust implementation changes.
check: fmt-check test clippy docs-rs

# Run unit, integration, and documentation tests.
test:
    cargo test --all-features

# Measure object and repository baselines (not a CI performance gate).
bench:
    cargo bench --bench object_formats --bench peeling --bench blobs --bench trees --bench loose_trees --bench commits --bench tags --bench repositories --bench references --bench packs --bench history --bench pack_write --bench fetch --bench push --bench remotes --bench fetch_workflow --bench clone --bench tree_compare --bench content_diff --bench index --bench status --bench checkout

# Reject Clippy warnings across all targets.
clippy:
    cargo clippy --all-features --all-targets -- -D warnings

# Check documentation with docs.rs options and reject Rustdoc warnings.
docs-rs:
    RUSTDOCFLAGS="-D warnings" cargo +nightly docs-rs

# Format Rust and Markdown.
fmt: fmt-rust fmt-md

# Check Rust and Markdown formatting.
fmt-check: fmt-rust-check fmt-md-check

# Format Rust using the nightly-only options in rustfmt.toml.
fmt-rust:
    cargo +nightly fmt --all

# Check formatting using the same toolchain as fmt.
fmt-rust-check:
    cargo +nightly fmt --all -- --check

# Wrap Markdown prose and align table columns and separators.
fmt-md:
    rumdl fmt .

# Check Markdown without changing files.
fmt-md-check:
    rumdl check .

# Check formatting and calibrated prose rules for the reader-facing guides.
docs-check: fmt-md-check
    vale README.md CONTRIBUTING.md docs/configuration.md docs/reference-transactions.md docs/repositories.md docs/http.md docs/ssh.md docs/working-tree.md

# Measure the quality scorecard (docs/quality.md); pass --full to remeasure coverage and mutants.
scorecard *args:
    scripts/quality-scorecard.py {{args}}