From f8c593791ae051b07dba2606c18f1deb7589825e Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 14 Apr 2026 01:17:58 -0400 Subject: chore: remove non-functional hooks template The hooks/settings.json template was broken since day one: - PostEditTool is not a valid Claude hook event - PreCommit is not a Claude concept at all - matcher was used as a glob, not a tool-name regex - $FILE was never substituted from stdin JSON Hooks never fired. Formatting and secret-scanning belong in CI and pre-commit frameworks, not per-developer Claude config. Remove the template and its install-hooks Makefile target. --- Makefile | 16 +--------------- hooks/settings.json | 19 ------------------- 2 files changed, 1 insertion(+), 34 deletions(-) delete mode 100644 hooks/settings.json diff --git a/Makefile b/Makefile index 892104a..92933b7 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ RULES_DIR := $(HOME)/.claude/rules SKILLS := c4-analyze c4-diagram debug add-tests respond-to-review review-pr fix-issue security-check RULES := $(wildcard claude-rules/*.md) -.PHONY: install uninstall install-hooks list +.PHONY: install uninstall list install: @mkdir -p $(SKILLS_DIR) $(RULES_DIR) @@ -34,20 +34,6 @@ install: @echo "" @echo "done" -install-hooks: -ifndef TARGET - $(error Usage: make install-hooks TARGET=/path/to/project) -endif - @mkdir -p $(TARGET)/.claude - @if [ -e "$(TARGET)/.claude/settings.json" ]; then \ - echo " WARN $(TARGET)/.claude/settings.json already exists — not overwriting"; \ - echo " Compare with: diff $(CURDIR)/hooks/settings.json $(TARGET)/.claude/settings.json"; \ - else \ - cp "$(CURDIR)/hooks/settings.json" "$(TARGET)/.claude/settings.json"; \ - echo " copy settings.json → $(TARGET)/.claude/settings.json"; \ - fi - @echo "done" - uninstall: @echo "Skills:" @for skill in $(SKILLS); do \ diff --git a/hooks/settings.json b/hooks/settings.json deleted file mode 100644 index 50fdf09..0000000 --- a/hooks/settings.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "hooks": { - "PostEditTool": [ - { - "matcher": "**/*.py", - "command": "ruff format $FILE && ruff check --fix $FILE" - }, - { - "matcher": "**/*.tf", - "command": "terraform fmt $FILE" - } - ], - "PreCommit": [ - { - "command": "! grep -rn --include='*.py' --include='*.ts' --include='*.tsx' --include='*.tf' --include='*.yml' --include='*.yaml' -E '(AKIA[0-9A-Z]{16}|sk-[a-zA-Z0-9]{20,}|password\\s*=\\s*[\"'\\'']{1}[^\"'\\'']+[\"'\\'']{1})' . --exclude-dir=node_modules --exclude-dir=.git --exclude-dir=gathered" - } - ] - } -} -- cgit v1.2.3