aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-04-19 12:36:04 -0500
committerCraig Jennings <c@cjennings.net>2026-04-19 12:36:04 -0500
commit019db5f9677902ba02d703a8554667d1b6e88f6b (patch)
tree37c7991c7e29b443348996f1c2407030b3571026 /Makefile
parent18fcaf9f27d03849487078b30f667c3b574e6554 (diff)
downloadrulesets-019db5f9677902ba02d703a8554667d1b6e88f6b.tar.gz
rulesets-019db5f9677902ba02d703a8554667d1b6e88f6b.zip
refactor: generalize testing.md, split Python specifics, DRY install
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).
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile6
1 files changed, 5 insertions, 1 deletions
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=<lang> PROJECT=<path> [FORCE=1]"
@echo " make install-elisp PROJECT=<path> [FORCE=1] (shortcut)"
+ @echo " make install-python PROJECT=<path> [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)"