tree-type 0.2.0

Rust macros for creating type-safe filesystem tree structures
Documentation
# Tree-Type development recipes

# Run all CI quality checks locally (matches CrowCI environment)
ci:
    mkdir -p .cache/cargo/registry .cache/cargo/git .cache/target
    docker run --rm \
        -u "$(id -u):$(id -g)" \
        -v "$(pwd):/workspace" \
        -v "$(pwd)/.cache/cargo/registry:/cache/cargo/registry" \
        -v "$(pwd)/.cache/cargo/git:/cache/cargo/git" \
        -v "$(pwd)/.cache/target:/cache/target" \
        -e CARGO_HOME=/cache/cargo \
        -e CARGO_TARGET_DIR=/cache/target \
        -e CI=true \
        -w /workspace \
        git.kemitix.net/kemitix/rust:v4.8.0 \
        sh -c "{{ ci_dependencies }} \
            echo \"FORMAT:\" && cargo +nightly fmt --check && \
            echo \"CHECK:\" && cargo +stable check && \
            echo \"MACHETE:\" && cargo +stable machete && \
            echo \"CLIPPY(PROC-MACRO):\" && cargo +stable clippy --all-targets -p tree-type-proc-macro -- -D warnings && \
            echo \"CLIPPY(MAIN):\" && cargo +stable clippy --all-targets -- -D warnings && \
            echo \"PEDANT:\" && cargo +stable clippy -- -W clippy::pedantic -D warnings && \
            echo \"BUILD:\" && cargo +stable build && \
            echo \"BUILD-TESTS:\" && cargo +stable build --tests && \
            echo \"RUN-TESTS:\" && RUST_LOG=debug cargo +stable nextest run --no-fail-fast"

# Project-specific dependencies
ci_dependencies := ""

# Run CI with all feature combinations
ci-all-features:
    cargo fmt --check
    just check-all-features
    cargo machete
    just clippy-all-features
    just test-all-features

# Format code and update README.md
fmt: fmt-fix readme-fix

# Check for compiler errors/warnings
check:
    cargo check -p tree-type-proc-macro
    cargo check

# Check all feature combinations
check-all-features:
    cargo hack check --feature-powerset -p tree-type-proc-macro
    cargo hack check --feature-powerset

# Run clippy linter
clippy:
    cargo clippy --all-targets -p tree-type-proc-macro -- -D warnings
    cargo clippy --all-targets -- -D warnings

# Run clippy on all feature combinations
clippy-all-features:
    RUSTFLAGS="-Zmacro-backtrace" cargo +nightly hack clippy --feature-powerset --all-targets -- -D warnings

# Run tests
test: test-code test-docs

test-code:
    cargo nextest run -p tree-type-proc-macro
    cargo nextest run

test-docs:
    cargo test --doc

# Test all feature combinations
test-all-features:
    cargo hack test --feature-powerset

fmt-fix:
    cargo +nightly fmt

readme-fix:
    cargo readme --output README.md

machete-fix:
    cargo machete --fix -p tree-type-proc-macro || true
    cargo machete --fix || true

# Run all quality checks and fix formatting
fix: readme-fix machete-fix fmt-fix ci