# Lawn Estimator — dev tasks. # # On CI (and in an activated env) the tools are on PATH, so `make test` just works. # Locally on Windows the project runs inside the vendored ./conda-env, so prefix # with the conda runner, e.g.: # # make test RUN="c:/Users/sergi/miniconda3/Scripts/conda.exe run -p ./conda-env --no-capture-output" # # (RUN defaults to empty — bare commands.) RUN ?= .DEFAULT_GOAL := help .PHONY: help install lint format test smoke tune label help: ## Show this help @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ awk 'BEGIN{FS=":.*?## "}{printf " %-10s %s\n", $$1, $$2}' install: ## Install the package with API + dev extras $(RUN) python -m pip install -e ".[api,dev]" lint: ## Ruff lint (src + tests + tuning) $(RUN) ruff check src tests tuning format: ## Ruff auto-format (opt-in; not run in CI) $(RUN) ruff format src tests tuning test: ## Run the fast, zero-network test suite $(RUN) python -m pytest smoke: ## Live one-address run (needs network; not run in CI) $(RUN) lawn-estimator --address "14052 Hartman Ave, Omaha, NE 68164" --imagery naip tune: ## Launch the offline pipeline-tuning cockpit (needs the [tuning] extra) $(RUN) python -m tuning.app label: ## Launch the standalone gold-labeling app (for a helper; needs the [tuning] extra) $(RUN) python -m tuning.label_app