6ee6fee8b9
credentials/ was a leftover duplicate — all credential routes already live in cypher-executor/src/routes/credentials.ts. Adds the SDD protocol, tech-stack, forbidden-list, component-architecture, and progress rules that guide Phase 1-6 refactors. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
48 lines
1.3 KiB
Bash
Executable File
48 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
||
# .claude/hooks/stop-check-sync.sh
|
||
# arcrun Stop hook
|
||
#
|
||
# 職責:session 結束前檢查 code 變動是否有對應的 SDD / tasks.md 更新
|
||
# 退出 code:不 block,只警告
|
||
|
||
set -o pipefail
|
||
|
||
# 檢查 .agents/specs 下本次 session 是否有變動
|
||
SPECS_DIFF=$(git -C "$(pwd)" status --porcelain -- '.agents/specs/' 2>/dev/null | head -20)
|
||
CODE_DIFF=$(git -C "$(pwd)" status --porcelain -- '*.go' '*.ts' '*.tsx' '*.py' 'cypher-executor/' 'registry/' 'cli/' 2>/dev/null | head -20)
|
||
|
||
if [[ -n "$CODE_DIFF" && -z "$SPECS_DIFF" ]]; then
|
||
cat >&2 <<EOF
|
||
|
||
⚠️ Stop hook 警告(by arcrun hook)
|
||
|
||
偵測到本 session 有程式碼變動,但 .agents/specs/ 下的 SDD 文件沒有任何變動。
|
||
|
||
未 commit 的程式碼變動:
|
||
$(echo "$CODE_DIFF" | head -10)
|
||
|
||
請在結束前確認:
|
||
1. 對應的 tasks.md 是否已更新 [x]?
|
||
2. 是否有架構變動需要更新 design.md?
|
||
3. 是否有 SDD 範圍外的 change 未標記?
|
||
|
||
SDD 協議要求:code 和 SDD 必須同步更新。
|
||
參考:.claude/rules/00-sdd-protocol.md
|
||
|
||
EOF
|
||
fi
|
||
|
||
# 若有暫存的 tasks.md 變動,提醒 commit
|
||
TASKS_DIFF=$(git -C "$(pwd)" status --porcelain -- '.agents/specs/**/tasks.md' 2>/dev/null | head -5)
|
||
if [[ -n "$TASKS_DIFF" ]]; then
|
||
cat >&2 <<EOF
|
||
|
||
📝 提醒:tasks.md 有未 commit 的變動
|
||
$(echo "$TASKS_DIFF")
|
||
記得在結束前 commit。
|
||
|
||
EOF
|
||
fi
|
||
|
||
exit 0
|