test:
    uv run pytest -q

test-ci:
    uv run pytest -q -m "not needs_openscad"

lint:
    uv run ruff check .

run *args:
    uv run scad2step {{args}}

# Build fresh dist artifacts and publish to PyPI. The token stays in
# 1Password: op resolves the op:// reference in .env at runtime (Touch ID
# prompt) and injects it into uv's environment only.
publish:
    rm -rf dist
    uv build
    op run --env-file=.env -- uv publish
