# Repo-wide checks and install for agent-assets. # # make check Run every skill test suite and byte-compile every .el file. # make test Run every skill test suite. # make compile Byte-compile every .el file with warnings as errors. # make install Symlink every skill and steering module into ~/.kiro. # make clean Remove byte-compiled files. EMACS ?= emacs SKILL_DIRS := $(wildcard skills/*) TEST_RUNNERS := $(wildcard skills/*/run-tests.sh) EL_FILES := $(wildcard skills/*/*.el) ELC_FILES := $(EL_FILES:.el=.elc) .PHONY: check test compile install clean check: test compile test: $(TEST_RUNNERS) @for runner in $(TEST_RUNNERS); do \ echo "==> $$runner"; \ "$$runner" || exit 1; \ done # Compile each skill directory in one Emacs, with the skill directory on # the load path so that cross-file requires resolve. A warning fails the # build, so the sources stay warning-free. compile: @for dir in $(SKILL_DIRS); do \ files=$$(ls "$$dir"/*.el 2>/dev/null) || continue; \ [ -n "$$files" ] || continue; \ echo "==> byte-compile $$dir"; \ $(EMACS) --batch -Q -L "$$dir" \ --eval '(setq byte-compile-error-on-warn t)' \ -f batch-byte-compile $$files || exit 1; \ done @$(MAKE) --no-print-directory clean install: @./install.sh clean: @rm -f $(ELC_FILES)