.PHONY: prepare lint check test update install

prepare: lint check

lint:
	uv run ruff check --select I --fix .
	uv run ruff format .

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

test:
	uv run pytest -s --cov=cctrail tests/

update:
	uv sync --upgrade --all-groups
	uv run --script scripts/update-pricing.py

install:
	uv sync

perf:
	CCTRAIL_WORKERS=1 /usr/bin/time uv run cctrail groups --provider claude
	CCTRAIL_WORKERS=4 /usr/bin/time uv run cctrail groups --provider claude
	CCTRAIL_WORKERS=1 /usr/bin/time uv run cctrail groups --provider codex
	CCTRAIL_WORKERS=4 /usr/bin/time uv run cctrail groups --provider codex
