default: lint

UV := "uv run"

# Run linting (ruff) and type checking (pyright)
lint:
    {{UV}} ruff check src/ tests/
    {{UV}} pyright src/ tests/

# Run tests: `just test`, `just test unit`, `just test integration`
test subset="all" *ARGS="":
    {{UV}} pytest {{ if subset == "unit" { "tests/ --ignore=tests/integration/" } else if subset == "integration" { "tests/integration/" } else { "tests/" } }} -v {{ARGS}}
