# .claude/ — Harness-Config fürs Multi-Agent-System `settings.json` ist **committed** (team-weit): jede Leader- wie Worker-Session in diesem Repo bekommt dieselben Permissions. Persönliche Abweichungen gehören in `settings.local.json` (gitignored). ## Was die Permissions tun - **`defaultMode: acceptEdits`** — Datei-Edits/Writes laufen ohne Prompt (Worker schreiben Code in ihrem Paket frei). Ownership-Verstöße fängt das Ownership-Gate beim Commit, nicht der Prompt. - **allow** — die Gate-Skripte, git read+workflow (inkl. `git worktree`), `bash -n`, `pytest`, `dvc`, `ollama`, `curl` (Gitea-API für PRs) und gängige Read-Utils. - **deny** — `git push --force`/`-f`, `git clean -fd(x)`, `sudo rm`, katastrophale `rm -rf /`/`~`. Hart blockiert, nicht nur Prompt. Alles übrige (z. B. ein einzelnes `git reset --hard`) ist *nicht* allow-gelistet → es fragt nach. ## Parallel arbeiten mit tmux + git worktree (empfohlen) Ein Worker pro Paket in **eigenem Worktree + eigener tmux-Pane** — so kollidiert nichts, und das Ownership-Gate hält die Grenzen sauber: ```bash # je Worker einen Worktree auf seinem Branch git worktree add ../$(basename "$PWD")-W2 -b feat/w2-profiles main git worktree add ../$(basename "$PWD")-W3 -b feat/w3-exporter main # … dann in je einer tmux-Pane: cd ../-W2 && claude # Inhalt von session-prompts/W2.md einfügen ``` Der **Leader** bleibt im Haupt-Checkout (Branch `main`/`integrate/*` → vom Ownership-Gate ausgenommen), integriert die Worker-PRs und löst Konflikte. Nach dem Mergen: `git worktree remove ../-W2`. > Optional global (persönlich, nicht hier): `teammateMode: "tmux"` in > `~/.claude/settings.json`, falls du Claudes native Teammate-Spawns nutzt.