diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 35 |
1 files changed, 34 insertions, 1 deletions
@@ -2,8 +2,27 @@ SKILLS_DIR := $(HOME)/.claude/skills 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) +LANGUAGES := $(notdir $(wildcard languages/*)) -.PHONY: install uninstall list +.PHONY: help install uninstall list \ + install-lang list-languages install-elisp + +help: + @echo "rulesets — Claude Code skills, rules, and language bundles" + @echo "" + @echo " Global install (symlinks into ~/.claude/):" + @echo " make install - Install skills and rules globally" + @echo " make uninstall - Remove the symlinks" + @echo " make list - Show install status" + @echo "" + @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 list-languages - Show available language bundles" + @echo "" + @echo " FORCE=1 overwrites an existing CLAUDE.md (other files always overwrite)." + @echo "" + @echo "Available languages: $(LANGUAGES)" install: @mkdir -p $(SKILLS_DIR) $(RULES_DIR) @@ -77,3 +96,17 @@ list: echo " - $$name"; \ fi \ done + +# --- Per-project language rulesets --- + +list-languages: + @echo "Available language rulesets (languages/):" + @for lang in $(LANGUAGES); do echo " - $$lang"; done + +install-lang: + @test -n "$(LANG)" || { echo "ERROR: set LANG=<language> (try: make list-languages)"; exit 1; } + @test -n "$(PROJECT)" || { echo "ERROR: set PROJECT=<path>"; exit 1; } + @bash scripts/install-lang.sh "$(LANG)" "$(PROJECT)" "$(FORCE)" + +install-elisp: + @$(MAKE) install-lang LANG=elisp PROJECT="$(PROJECT)" FORCE="$(FORCE)" |
