# === SCRIPT COMMANDS === # # Commands for running audit scripts .PHONY: audit dry-run field-usage fetch-schemas analyze detect-dead-objects # Variables MONTHS ?= 3 WORKERS ?= 20 VARIANT ?= prod OUTPUT ?= FIELD ?= audit: ## Run full audit (requires APOLLO_KEY) @CMD="uv run python -m src.main --months $(MONTHS) --workers $(WORKERS) --variant $(VARIANT)"; \ if [ -n "$(OUTPUT)" ]; then CMD="$$CMD --output $(OUTPUT)"; fi; \ eval $$CMD dry-run: ## Parse schemas only (no GraphOS queries) uv run python -m src.main --dry-run --variant $(VARIANT) field-usage: ## Check usage for a single field (requires FIELD=Type.fieldName, APOLLO_KEY) @if [ -z "$(FIELD)" ]; then \ echo "Error: FIELD variable is required. Usage: make field-usage FIELD=Query.product"; \ exit 1; \ fi uv run python -m src.field_usage $(FIELD) --months $(MONTHS) --variant $(VARIANT) fetch-schemas: ## Fetch and parse schemas only (writes schema-data.json) uv run python -m src.main --fetch-only --variant $(VARIANT) analyze: ## Re-run analysis from cached schema + usage data (no fetching) uv run python -m src.main --from-cache detect-dead-objects: ## Detect dead objects from existing audit + schema data uv run python -m src.detect_dead_objects