Add commit-msg hook refusing AI attribution

This commit is contained in:
2026-07-31 17:47:52 +01:00
parent 6e10106e3b
commit 0bf9166667
+31
View File
@@ -0,0 +1,31 @@
#!/bin/sh
#
# Refuses AI attribution in commit messages.
#
# This repo is public, so history is the first thing an outside contributor
# sees. Attribution cannot be removed retroactively without rewriting every
# commit after it, and clones have already copied it.
#
# Enable after cloning:
#
# git config core.hooksPath .githooks
# chmod +x .githooks/commit-msg
#
# The Gitea web API cannot set the executable bit, so the chmod is required
# on first clone even though the file is committed.
msg_file="$1"
# Co-author trailers naming an assistant.
if grep -qiE 'co-?authored-?by:[[:space:]]*.*(claude|anthropic|copilot|cursor|codex|chatgpt|gpt-|gemini|aider|devin|llm|\bai\b)' "$msg_file"; then
echo "REFUSED: AI co-author trailer in commit message." >&2
exit 1
fi
# Generated-with footers and the robot emoji.
if grep -qiE 'generated with|written by (claude|an? ai)|🤖' "$msg_file"; then
echo "REFUSED: AI attribution in commit message." >&2
exit 1
fi
exit 0