.PHONY: setup format lint typecheck test live-test build verify bump release-prep release release-dry
setup:
	uv sync --all-extras
format:
	uv run ruff format .
lint:
	uv run ruff check .
typecheck:
	uv run mypy src/kuma_stats
test:
	uv run pytest -q
# Requires Docker; starts a disposable, pinned Uptime Kuma container.
live-test:
	uv run pytest -q tests/integration/test_live_kuma.py
build:
	uv build
	uv run twine check dist/*
verify: setup lint typecheck test build
# Summarize changes since the last v* tag and print an LLM prompt for release notes.
bump:
	./scripts/bump-version.sh
# Bump with explicit version or type: make bump VERSION=patch / make bump VERSION=1.2.3
bump/%:
	./scripts/bump-version.sh $*
release-prep:
	./scripts/prep-release.sh
# Preview the safeguards and commands for a GitHub release.
release-dry:
	./scripts/release.sh --dry-run
# Validate, tag, and create a GitHub Release. PyPI publishing remains manual.
release:
	./scripts/release.sh