default: check

# Check if the project compiles
check:
    cargo check --all-targets

# Build the project
build:
    cargo build

# Run formatting checks
fmt:
    cargo fmt --all

# Run clippy for linting
clippy:
    cargo clippy --all-targets --all-features -- -D warnings

# Run all tests
test:
    cargo test

# Format and lint the codebase
lint: fmt clippy

# Publish the package
publish-dry:
    sh scripts/publish-crate.sh

publish:
    sh scripts/publish-crate.sh --publish
