ops-warden/Makefile

49 lines
1.8 KiB
Makefile
Raw Normal View History

# ops-warden development and install targets
ROOT := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
PHASE_MEMORY_REPO ?= $(abspath $(ROOT)/../phase-memory)
.DEFAULT_GOAL := help
.PHONY: help sync install install-warden install-memory install-all check-memory verify-memory test lint
help:
@echo "ops-warden make targets"
@echo ""
@echo " make sync # uv sync (dev dependencies)"
@echo " make install # install warden CLI (SSH only, no phase-memory)"
@echo " make install-memory # reinstall warden with editable phase-memory"
@echo " make install-all # sync + warden + phase-memory (recommended)"
@echo " make check-memory # fail unless phase-memory is importable by warden"
@echo " make verify-memory # check-memory + warden memory status"
@echo " make test # unit tests"
@echo " make lint # ruff check"
@echo ""
@echo "Override phase-memory path: make install-all PHASE_MEMORY_REPO=/path/to/phase-memory"
sync:
uv sync
install-warden:
uv tool install . --force
install-memory:
@test -d "$(PHASE_MEMORY_REPO)" || (echo "ERROR: phase-memory not found at $(PHASE_MEMORY_REPO). Clone it or set PHASE_MEMORY_REPO."; exit 1)
@test -f "$(PHASE_MEMORY_REPO)/pyproject.toml" || (echo "ERROR: $(PHASE_MEMORY_REPO) is not a phase-memory checkout."; exit 1)
uv tool install . --with-editable "$(PHASE_MEMORY_REPO)" --force
install: install-warden
install-all: sync install-memory
check-memory:
@warden memory status --json >/dev/null 2>&1 || (echo "ERROR: phase-memory is not available to warden. Run: make install-memory"; exit 1)
@echo "phase-memory: ok (warden memory status succeeded)"
verify-memory: check-memory
@warden memory status
test:
PYTHONPATH=src:$(PHASE_MEMORY_REPO)/src uv run pytest
lint:
uv run ruff check .