From 019db5f9677902ba02d703a8554667d1b6e88f6b Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 19 Apr 2026 12:36:04 -0500 Subject: refactor: generalize testing.md, split Python specifics, DRY install MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit claude-rules/testing.md is now language-agnostic (TDD principles, test categories, coverage targets, anti-patterns). Scope header widened to **/*. Python-specific content (pytest, fixtures, parametrize, anyio, Django DB testing) moved to languages/python/claude/rules/python-testing.md. Added languages/python/ bundle (rules only so far; no CLAUDE.md template or hooks yet — Python validation tooling differs from Elisp). Added install-python shortcut to the Makefile. Updated scripts/install-lang.sh to copy claude-rules/*.md into each target project's .claude/rules/. Bundles no longer need to carry their own verification.md copy — deleted languages/elisp/claude/rules/verification.md. Single source of truth in claude-rules/, fans out via install. Elisp-testing.md now references testing.md as its base (matches the python-testing.md pattern). --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index e42662e..cf1fd5d 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ RULES := $(wildcard claude-rules/*.md) LANGUAGES := $(notdir $(wildcard languages/*)) .PHONY: help install uninstall list \ - install-lang list-languages install-elisp + install-lang list-languages install-elisp install-python help: @echo "rulesets — Claude Code skills, rules, and language bundles" @@ -18,6 +18,7 @@ help: @echo " Per-project language rulesets:" @echo " make install-lang LANG= PROJECT= [FORCE=1]" @echo " make install-elisp PROJECT= [FORCE=1] (shortcut)" + @echo " make install-python PROJECT= [FORCE=1] (shortcut)" @echo " make list-languages - Show available language bundles" @echo "" @echo " FORCE=1 overwrites an existing CLAUDE.md (other files always overwrite)." @@ -110,3 +111,6 @@ install-lang: install-elisp: @$(MAKE) install-lang LANG=elisp PROJECT="$(PROJECT)" FORCE="$(FORCE)" + +install-python: + @$(MAKE) install-lang LANG=python PROJECT="$(PROJECT)" FORCE="$(FORCE)" -- cgit v1.2.3