rustuse 0.1.2

Unified facade crate for the published RustUse sets and child crates
Documentation
.PHONY: help fmt check lint test test-minimal build doc examples audit deny sbom publish-dry-run release-readiness verify

CRATE := rustuse

help:
	@printf "%s\n" \
		"help               Show available repository tasks" \
		"fmt                Check formatting with rustfmt" \
		"check              Run cargo check for the workspace" \
		"lint               Run clippy with warnings denied" \
		"test               Run workspace tests with all features" \
		"test-minimal       Run workspace tests with no default features" \
		"build              Build the workspace with all features" \
		"doc                Build workspace docs without dependencies" \
		"examples           Check all examples" \
		"audit              Run cargo-audit" \
		"deny               Run cargo-deny" \
		"sbom               Generate a CycloneDX SBOM" \
		"publish-dry-run    List package contents and dry-run publish the crate" \
		"release-readiness  Run the pre-release validation path" \
		"verify             Run the main workspace validation path"

fmt:
	cargo fmt --all -- --check

check:
	cargo check --workspace --all-features

lint:
	cargo clippy --workspace --all-targets --all-features -- -D warnings

test:
	cargo test --workspace --all-features

test-minimal:
	cargo test --workspace --no-default-features

build:
	cargo build --workspace --all-features

doc:
	cargo doc --workspace --all-features --no-deps

examples:
	cargo check --workspace --all-features --examples

audit:
	cargo audit

deny:
	cargo deny check

sbom:
	cargo cyclonedx --manifest-path Cargo.toml --all-features --format json --spec-version 1.5 --override-filename sbom.cyclonedx

publish-dry-run:
	cargo package --list -p $(CRATE)
	cargo publish --dry-run --allow-dirty -p $(CRATE)

release-readiness: verify examples test-minimal publish-dry-run

verify: fmt lint test build