.DEFAULT_GOAL := help .PHONY: help setup install test lint format build check cli-version smoke-remote help: ## List available make targets @awk 'BEGIN {FS = ":.*## "}; /^[a-zA-Z0-9_.-]+:.*## / {printf " %-16s %s\n", $$1, $$2}' $(MAKEFILE_LIST) setup: ## Sync dependencies into .venv uv sync --all-groups install: ## Install sandboxer CLI to ~/.local/bin (editable) uv tool install -e . --force test: ## Run the test suite uv run pytest lint: ## Run ruff lint checks uv run ruff check . format: ## Auto-format with ruff uv run ruff format . build: ## Build wheel and sdist uv build check: lint test ## Run lint and tests (CI gate) cli-version: ## Print CLI version (smoke test for entry point) uv run sandboxer version smoke-remote: ## T10 remote create/destroy smoke (needs SANDBOXER_HOST) ./scripts/smoke-compose-e2e.sh