feat: Claude 署名开关 + commit-msg 门禁(生成项目自带)
- template/scripts/claude-attribution.sh:一条命令切换本项目是否含 Claude 署名 (on|off|status,存于 git config scaffold.includeClaude,默认 off) - template/scripts/check-claude-attribution.sh:commit-msg 门禁逻辑,off 时自动 - .pre-commit-config 增加 commit-msg 阶段 local 钩子调用门禁 - copier.yml _tasks 默认 git config scaffold.includeClaude false - 修复:template/scripts/*.sh 补可执行位(否则生成项目直接运行报 permission denied) - README 加「Claude 署名策略」章节 + 文件树补 template/scripts/ 验证:开关 on/off/status、门禁直接调用、经 pre-commit(language:system) 调用均生效, off 剥除 / on 保留,copier 生成 rc=0、脚本可执行、门禁已挂载。 scaffold 仓库自身亦已装本地 commit-msg 钩子,保证本仓库今后不含 Claude 署名。
This commit is contained in:
Executable
+24
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# 设置本项目提交是否包含 Claude 署名(Co-Authored-By: Claude)。
|
||||
# 策略存于 git config scaffold.includeClaude,由 commit-msg 门禁强制执行。
|
||||
# 用法:./scripts/claude-attribution.sh on|off|status
|
||||
set -euo pipefail
|
||||
|
||||
case "${1:-status}" in
|
||||
on)
|
||||
git config scaffold.includeClaude true
|
||||
echo "✓ 本项目提交将【保留】Claude 署名"
|
||||
;;
|
||||
off)
|
||||
git config scaffold.includeClaude false
|
||||
echo "✓ 本项目提交将【移除】Claude 署名(默认)"
|
||||
;;
|
||||
status)
|
||||
v="$(git config --get scaffold.includeClaude 2>/dev/null || echo 'false(默认,未显式设置)')"
|
||||
echo "scaffold.includeClaude = $v"
|
||||
;;
|
||||
*)
|
||||
echo "用法: $0 on|off|status" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user