diff --git a/.claude/settings.json b/.claude/settings.json index 3398d5f..c38dcc9 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -1,18 +1,44 @@ { "permissions": { "defaultMode": "plan", - "deny": [ - "Bash(git add:*)", + "allow": [ + "Bash(git status:*)", + "Bash(git diff:*)", + "Bash(git log:*)", + "Bash(git fetch:*)", + "Bash(git pull:*)", + "Bash(git switch main:*)", + "Bash(git switch -c feat/:*)", + "Bash(git switch -c fix/:*)", + "Bash(git switch -c chore/:*)", + "Bash(git add:*)" + ], + "ask": [ "Bash(git commit:*)", - "Bash(git push:*)", - "Bash(git switch:*)", - "Bash(git checkout:*)", - "Bash(git branch:*)", + "Bash(git push:*)" + ], + "deny": [ + "Bash(git push origin main:*)", + "Bash(git push origin HEAD:main:*)", + "Bash(git push --force:*)", + "Bash(git push -f:*)", + "Bash(git push --force-with-lease:*)", "Bash(git merge:*)", "Bash(git rebase:*)", "Bash(git reset:*)", - "Bash(git stash:*)", + "Bash(git branch -D:*)", + "Bash(git branch -d:*)", "Read(~/.claude/projects/**)" ] + }, + "hooks": { + "PreToolUse": [ + { + "matcher": "Bash", + "hooks": [ + { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/schutz-main.sh\"" } + ] + } + ] } -} +} \ No newline at end of file