From 69c5e4ace81586c05dea6a9a3afd54dafa61a73b Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Fri, 15 May 2026 16:56:39 -0500 Subject: Squashed 'claude-templates/' content from commit f116888 git-subtree-dir: claude-templates git-subtree-split: f1168885580e9197dcf57b57644eb576fdca2ab1 --- Makefile | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e097cc2 --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +.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 -- cgit v1.2.3