26 lines
918 B
Bash
26 lines
918 B
Bash
#!/usr/bin/env bash
|
|
# memory-push.sh — Claude Code PostToolUse Hook
|
|
# Write ツール使用後に memory/ ファイルへの変更を自動コミット&プッシュする
|
|
# 環境変数 CLAUDE_TOOL_INPUT (JSON) を stdin 経由で受け取る
|
|
|
|
MEMORY_DIR="$HOME/.claude/projects/c--Users-maita-posimai-project/memory"
|
|
|
|
# stdin から JSON を読み取り、tool_input.file_path を取得
|
|
INPUT=$(cat)
|
|
FILE_PATH=$(echo "$INPUT" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('tool_input',{}).get('file_path',''))" 2>/dev/null || echo "")
|
|
|
|
# memory ディレクトリ以外は何もしない
|
|
if ! echo "$FILE_PATH" | grep -qi "memory"; then
|
|
exit 0
|
|
fi
|
|
|
|
cd "$MEMORY_DIR" || exit 0
|
|
|
|
# 変更がなければスキップ
|
|
git add . 2>/dev/null
|
|
git diff --cached --quiet && exit 0
|
|
|
|
git commit -m "chore: auto-update memory" 2>/dev/null
|
|
git push gitea main 2>/dev/null
|
|
git push github main 2>/dev/null
|