16 lines
481 B
Bash
16 lines
481 B
Bash
|
|
#!/bin/bash
|
||
|
|
# Block direct edits to Cargo.lock — it should only change via cargo
|
||
|
|
INPUT=$(cat)
|
||
|
|
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')
|
||
|
|
|
||
|
|
if [[ "$FILE_PATH" == *"Cargo.lock" ]]; then
|
||
|
|
echo '{
|
||
|
|
"hookSpecificOutput": {
|
||
|
|
"hookEventName": "PreToolUse",
|
||
|
|
"permissionDecision": "deny",
|
||
|
|
"permissionDecisionReason": "Cargo.lock is auto-generated. Use cargo to update dependencies."
|
||
|
|
}
|
||
|
|
}'
|
||
|
|
else
|
||
|
|
exit 0
|
||
|
|
fi
|