diff options
| author | Craig Jennings <c@cjennings.net> | 2026-04-19 17:14:54 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-04-19 17:14:54 -0500 |
| commit | 208a079f4230edd520f5aa92288ae48247340910 (patch) | |
| tree | 236db8e21cd7369c7d0b741c673524464ba9af36 /hooks/README.md | |
| parent | 4957c60c9ee985628ad59344e593d20a18ca8fdb (diff) | |
| download | rulesets-208a079f4230edd520f5aa92288ae48247340910.tar.gz rulesets-208a079f4230edd520f5aa92288ae48247340910.zip | |
feat(hooks): shared _common.py helpers + systemMessage AI-attribution warning
Consolidates stdin-parse and response-emit across the two confirm hooks
into `hooks/_common.py` (stdlib-only, sibling symlinked alongside the
hooks it serves). Net ~28 lines less duplication.
Adds a `systemMessage` banner alongside the confirmation modal when the
commit message or PR title/body contains AI-attribution patterns:
- Co-Authored-By: Claude|Anthropic|GPT|AI trailers
- 🤖 robot emoji
- "Generated with Claude Code" / similar footers
- "Created with …" / "Assisted by …" variants
Scanning targets structural leak patterns only — bare mentions of
"Claude" or "Anthropic" in diff context don't fire, so discussing the
tools themselves in a commit message doesn't false-positive.
Clean-room synthesis from GowayLee/cchooks (MIT) — specifically, the
systemMessage-alongside-reason pattern and event-aware stdin helpers.
Diffstat (limited to 'hooks/README.md')
| -rw-r--r-- | hooks/README.md | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/hooks/README.md b/hooks/README.md index 847b81b..97dd881 100644 --- a/hooks/README.md +++ b/hooks/README.md @@ -10,6 +10,10 @@ Machine-wide Claude Code hooks that install into `~/.claude/hooks/` and apply to | `git-commit-confirm.py` | `PreToolUse(Bash)` | Gates `git commit` behind a confirmation modal showing the parsed message, staged files, diff stats, and git author. Parses both HEREDOC and `-m`/`--message` forms. | | `gh-pr-create-confirm.py` | `PreToolUse(Bash)` | Gates `gh pr create` behind a confirmation modal showing title, base←head, reviewers, labels, assignees, milestone, draft flag, and body (HEREDOC or quoted). | +Shared library (not a hook): `_common.py` — `read_payload()`, `respond_ask()`, `scan_attribution()`. Installed as a sibling symlink so the two Python hooks can `from _common import …` at runtime. + +Both confirm hooks emit a `systemMessage` warning alongside the confirmation modal when they detect AI-attribution patterns (`Co-Authored-By: Claude`, 🤖, "Generated with Claude Code", etc.) in the commit message or PR title/body — useful as an automated policy check for environments where AI credit is forbidden. + ## Install ### One-liner (from this repo) |
