# Makefile for easy development workflows.
# See development.md for docs.
# Note GitHub Actions call uv directly, not this Makefile.

.DEFAULT_GOAL := default

.PHONY: default install lint test upgrade build clean agent-rules

default: agent-rules install lint test 

install:
	uv sync --all-extras

lint:
	uv run python devtools/lint.py

test:
	uv run --python 3.11 pytest --cov=abstractsignature tests/ src/ --cov-report html:cov_html --codeblocks
	uv run --python 3.12 pytest --cov=abstractsignature tests/ src/ --cov-report html:cov_html --codeblocks
	uv run --python 3.13 pytest --cov=abstractsignature tests/ src/ --cov-report html:cov_html --codeblocks
	uv run --python 3.14 pytest --cov=abstractsignature tests/ src/ --cov-report html:cov_html --codeblocks
	uv run pytest --codeblocks README.md
upgrade:
	uv sync --upgrade --all-extras --dev

build:
	uv build

update-readme:

clean:
	-rm -rf dist/
	-rm -rf *.egg-info/
	-rm -rf .pytest_cache/
	-rm -rf .mypy_cache/
	-rm -rf .venv/
	-rm -rf CLAUDE.md AGENTS.md
	-find . -type d -name "__pycache__" -exec rm -rf {} +
