diff options
Diffstat (limited to 'claude-templates/Makefile')
| -rw-r--r-- | claude-templates/Makefile | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/claude-templates/Makefile b/claude-templates/Makefile new file mode 100644 index 0000000..e097cc2 --- /dev/null +++ b/claude-templates/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 |
