aboutsummaryrefslogtreecommitdiff
path: root/review-pr
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-04-19 11:57:23 -0500
committerCraig Jennings <c@cjennings.net>2026-04-19 11:57:23 -0500
commit18fcaf9f27d03849487078b30f667c3b574e6554 (patch)
tree67e3ede717fbf9fbfe10c46042451e15abeeb91f /review-pr
parentf8c593791ae051b07dba2606c18f1deb7589825e (diff)
downloadrulesets-18fcaf9f27d03849487078b30f667c3b574e6554.tar.gz
rulesets-18fcaf9f27d03849487078b30f667c3b574e6554.zip
feat: add per-project language bundles + elisp ruleset
Introduces a second install mode alongside the existing global symlinks: per-project language bundles that copy a language-specific Claude Code setup (rules, hooks, settings, pre-commit) into a target project. Layout additions: languages/elisp/ - Emacs Lisp bundle (rules, hooks, settings, CLAUDE.md) scripts/install-lang.sh - shared install logic Makefile additions: make help - unified help text make install-lang LANG=<lang> PROJECT=<path> [FORCE=1] make install-elisp PROJECT=<path> [FORCE=1] (shortcut) make list-languages - show available bundles Elisp bundle contents: - CLAUDE.md template (seed on first install, preserved on update) - .claude/rules/elisp.md, elisp-testing.md, verification.md - .claude/hooks/validate-el.sh (check-parens, byte-compile, run matching tests) - .claude/settings.json (permission allowlist, hook wiring) - githooks/pre-commit (secret scan + staged-file paren check) - gitignore-add.txt (append .claude/settings.local.json) Hooks use \$CLAUDE_PROJECT_DIR with a script-relative fallback, so the same bundle works on any machine or clone path. Install activates git hooks via core.hooksPath=githooks automatically. Re-running install is idempotent; CLAUDE.md is never overwritten without FORCE=1.
Diffstat (limited to 'review-pr')
0 files changed, 0 insertions, 0 deletions