chore(claude): add project harness config (permissions for uv/ruff/mypy/podman)

codex-py hatte kein .claude/ — F-xx-Worker liefen mit nackten globalen Settings
und wurden bei jedem uv/ruff/mypy/pytest/git-Befehl geprompted. settings.json
spiegelt den knowledge-base-Stil (acceptEdits + harter deny-Block), zugeschnitten
auf den Python/uv-Stack + podman (DB) + ollama. settings.local.json gitignored.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Tarik Moussa
2026-06-08 09:03:41 +02:00
parent d48db47a7d
commit 456dea102b
3 changed files with 104 additions and 0 deletions

80
.claude/settings.json Normal file
View File

@@ -0,0 +1,80 @@
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"env": {
"CLAUDE_VERBOSE": "1"
},
"outputStyle": "Explanatory",
"permissions": {
"defaultMode": "acceptEdits",
"allow": [
"Bash(uv:*)",
"Bash(ruff:*)",
"Bash(mypy:*)",
"Bash(pytest:*)",
"Bash(python -m pytest:*)",
"Bash(python3 -m pytest:*)",
"Bash(python:*)",
"Bash(python3:*)",
"Bash(.venv/bin/python:*)",
"Bash(podman:*)",
"Bash(ollama:*)",
"Bash(codespell:*)",
"Bash(shellcheck:*)",
"Bash(git status:*)",
"Bash(git diff:*)",
"Bash(git log:*)",
"Bash(git show:*)",
"Bash(git branch:*)",
"Bash(git ls-remote:*)",
"Bash(git ls-files:*)",
"Bash(git remote:*)",
"Bash(git rev-parse:*)",
"Bash(git rev-list:*)",
"Bash(git merge-base:*)",
"Bash(git diff-tree:*)",
"Bash(git describe:*)",
"Bash(git tag:*)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git switch:*)",
"Bash(git checkout:*)",
"Bash(git restore:*)",
"Bash(git stash:*)",
"Bash(git fetch:*)",
"Bash(git pull:*)",
"Bash(git push:*)",
"Bash(git merge:*)",
"Bash(git rebase:*)",
"Bash(git worktree:*)",
"Bash(git init:*)",
"Bash(git mv:*)",
"Bash(ls:*)",
"Bash(find:*)",
"Bash(grep:*)",
"Bash(rg:*)",
"Bash(wc:*)",
"Bash(cat:*)",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(awk:*)",
"Bash(jq:*)",
"Bash(curl:*)",
"Bash(mkdir:*)",
"Bash(cp:*)",
"Bash(test:*)",
"Bash(echo:*)",
"Bash(true)"
],
"deny": [
"Bash(git push --force:*)",
"Bash(git push -f:*)",
"Bash(git clean -fdx:*)",
"Bash(git clean -fd:*)",
"Bash(rm -rf /)",
"Bash(rm -rf /*)",
"Bash(rm -rf ~)",
"Bash(rm -rf ~/*)",
"Bash(sudo rm:*)"
]
}
}