1.7 KiB
1.7 KiB
.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, katastrophalerm -rf //~. Hart blockiert, nicht nur Prompt. Alles übrige (z. B. ein einzelnesgit 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:
# 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 ../<repo>-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 ../<repo>-W2.
Optional global (persönlich, nicht hier):
teammateMode: "tmux"in~/.claude/settings.json, falls du Claudes native Teammate-Spawns nutzt.