default: lint typecheck test

lint:
    uv run ruff check .

lint-fix:
    uv run ruff check --fix .

format:
    uv run ruff format .

format-check:
    uv run ruff format --check .

typecheck:
    uv run mypy lrc_core

test quiet="":
    uv run pytest {{ if quiet == "" { "-v --tb=short -s" } else { "" } }}

clean:
    rm -rf dist/

build: clean
    uv build

publish: build
    uv publish \
        --username "$(awk -F ' = ' '/username/ {print $2}' ~/.pypirc)" \
        --password "$(awk -F ' = ' '/password/ {print $2}' ~/.pypirc)"
