.PHONY: install fmt lint typecheck test check

install:  ## Install the package + dev tools into the active environment
	pip install -e ".[dev]"

# benchmark/{malicious,benign} are fixtures; lint only the top-level scripts.
fmt:  ## Format the code
	ruff format src tests benchmark/*.py

lint:  ## Lint (and verify formatting)
	ruff format --check src tests benchmark/*.py
	ruff check src tests benchmark/*.py

typecheck:  ## Static type checking
	mypy

test:  ## Run the test suite
	pytest -q

check: lint typecheck test  ## Run all gates (format check, lint, types, tests)
