diff --git a/Makefile b/Makefile index 9061523..2d80bb9 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ .PHONY: install install-dev doctor audit control-center demo benchmark workbook-gate workbook-signoff test lint format type-check run clean release-gate build shiv dist-check release publish-pypi PYTHON := python3 +CLI := uv run python -m src.cli USERNAME ?= saagpatel ARGS ?= @@ -11,13 +12,13 @@ install-dev: $(PYTHON) -m pip install -e ".[dev,config]" doctor: - audit $(USERNAME) --doctor $(ARGS) + $(CLI) $(USERNAME) --doctor $(ARGS) audit: - audit $(USERNAME) --excel-mode standard $(ARGS) + $(CLI) $(USERNAME) --excel-mode standard $(ARGS) control-center: - audit $(USERNAME) --control-center $(ARGS) + $(CLI) $(USERNAME) --control-center $(ARGS) demo: $(PYTHON) scripts/build_demo_artifacts.py @@ -44,7 +45,7 @@ type-check: mypy src/ --ignore-missing-imports run: - audit --help + $(CLI) --help release-gate: @echo "=== Running release gate: mutation testing ===" diff --git a/tests/test_packaging.py b/tests/test_packaging.py index 4f375e3..7095127 100644 --- a/tests/test_packaging.py +++ b/tests/test_packaging.py @@ -53,11 +53,13 @@ def test_makefile_includes_operator_entrypoints(): makefile = (ROOT / "Makefile").read_text() for target in ("install:", "install-dev:", "doctor:", "audit:", "control-center:", "workbook-gate:", "workbook-signoff:", "test:"): assert target in makefile - assert "audit $(USERNAME) --doctor $(ARGS)" in makefile - assert "audit $(USERNAME) --excel-mode standard $(ARGS)" in makefile - assert "audit $(USERNAME) --control-center $(ARGS)" in makefile + assert "CLI := uv run python -m src.cli" in makefile + assert "$(CLI) $(USERNAME) --doctor $(ARGS)" in makefile + assert "$(CLI) $(USERNAME) --excel-mode standard $(ARGS)" in makefile + assert "$(CLI) $(USERNAME) --control-center $(ARGS)" in makefile assert "$(PYTHON) -m src.workbook_gate $(ARGS)" in makefile assert "$(PYTHON) -m src.workbook_gate --record-signoff $(ARGS)" in makefile + assert "$(CLI) --help" in makefile def test_example_audit_config_is_parseable():