.DEFAULT_GOAL := help PREFIX ?= $(HOME)/.local/bin SRC := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))) .PHONY: help install uninstall list test-scripts help: @printf 'claude-templates — session launcher + project seed\n\n' @printf 'Targets:\n' @printf ' make install symlink bin/ai into %s\n' "$(PREFIX)" @printf ' make uninstall remove the symlink\n' @printf ' make list show installed symlink\n' @printf ' make test-scripts run pytest + ERT suites under .ai/scripts/tests/\n' install: @mkdir -p $(PREFIX) @chmod +x $(SRC)/bin/ai @ln -sfn $(SRC)/bin/ai $(PREFIX)/ai @printf 'installed %s/ai -> %s/bin/ai\n' "$(PREFIX)" "$(SRC)" uninstall: @if [ -L $(PREFIX)/ai ]; then \ rm $(PREFIX)/ai; \ printf 'removed %s/ai\n' "$(PREFIX)"; \ else \ printf '%s/ai is not a symlink; nothing to remove\n' "$(PREFIX)"; \ fi list: @ls -la $(PREFIX)/ai 2>/dev/null || printf 'not installed\n' test-scripts: @cd $(SRC)/.ai/scripts/tests && python -m pytest @set -e; for f in $(SRC)/.ai/scripts/tests/test-*.el; do \ [ -e "$$f" ] || continue; \ echo "ert: $$(basename "$$f")"; \ emacs --batch -q -L $(SRC)/.ai/scripts -l ert -l "$$f" -f ert-run-tests-batch-and-exit; \ done