.PHONY: gate test lint format types secrets clean

# Gate 1: Local quality gate (<10s)
gate: format lint types secrets
	@echo "✅ Gate 1 passed"

format:
	ruff format --check src/ tests/

lint:
	ruff check --select E,F,W,I,S,B src/ tests/

types:
	mypy --ignore-missing-imports src/infershrink

secrets:
	gitleaks detect --no-banner --no-git 2>/dev/null || true

test:
	pytest tests/ -x --tb=short -q

test-cov:
	pytest tests/ --cov=infershrink --cov-report=term-missing --cov-fail-under=80

# Full local validation (Gate 1 + tests)
check: gate test
	@echo "✅ All local checks passed"
