From a266250c1e24c9b2f6f246206c1b726dbb84c4bf Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 30 Jun 2026 12:51:31 -0400 Subject: chore: prune dangling bin symlinks, point paging at signal-mcp The install bin loop linked every script under claude-templates/bin but never pruned orphans, so a deleted script left a dangling ~/.local/bin symlink. page-signal hit exactly this: the wrapper was removed 2026-06-12 but its symlink stayed, resolving to a dead target on the daily drivers. I added a prune step that drops symlinks pointing into claude-templates/bin whose target is gone, so any removed script self-cleans on the next install. I also added a protocols section naming the two paging channels: notify --persist at the machine, and the signal-mcp send_message_to_user tool when away from it. The pager account was never deregistered (only the page-signal script went away), so the live path is the MCP tool, and the section retires the script for good. --- Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index ca73612..a6e636f 100644 --- a/Makefile +++ b/Makefile @@ -255,6 +255,15 @@ install: ## Symlink skills, rules, config, hooks, and bin scripts into place echo " link $$name → $(LOCAL_BIN)/$$name"; \ fi \ done + @for link in "$(LOCAL_BIN)"/*; do \ + [ -L "$$link" ] || continue; \ + target=$$(readlink "$$link"); \ + case "$$target" in "$(CURDIR)/claude-templates/bin/"*) ;; *) continue ;; esac; \ + if [ ! -e "$$target" ]; then \ + rm "$$link"; \ + echo " prune $$(basename "$$link") (dangling → $$target)"; \ + fi \ + done @echo "" @echo "done" -- cgit v1.2.3