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>
22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
# .claude/ — Harness-Config für codex-py
|
|
|
|
`settings.json` ist **committed** (team-weit): jede Worker-Session in diesem Repo
|
|
bekommt dieselben Permissions. Persönliche Abweichungen gehören in
|
|
`settings.local.json` (gitignored).
|
|
|
|
## Was die Permissions tun
|
|
- **`defaultMode: acceptEdits`** — Edits/Writes ohne Prompt (Worker schreiben Code
|
|
in ihrem F-XX-Paket frei). Disjunkte Ownership je Paket (siehe knowledge-base
|
|
`STATE.md`); Konflikte löst der Leader bei der Integration.
|
|
- **allow** — die Dev-Toolchain (`uv`, `ruff`, `mypy`, `pytest`, `python`), git
|
|
read+workflow, `podman` (lokale pgvector-DB), `ollama` (lokales LLM), `curl`
|
|
(API-Tests, z. B. OpenAlex) und gängige Read-Utils.
|
|
- **deny** — `git push --force`/`-f`, `git clean -fd(x)`, `sudo rm`, katastrophale
|
|
`rm -rf /`/`~`. Hart blockiert. Alles übrige (z. B. `git reset --hard`) ist
|
|
*nicht* allow-gelistet → es fragt nach.
|
|
|
|
## Hinweis
|
|
Gespiegelt am Stil der knowledge-base-`.claude/`, aber auf den Python/uv-Stack
|
|
zugeschnitten. Tests laufen via `uv run pytest`; falls `uv run` die Umgebung
|
|
neu-synct, ist `.venv/bin/python` ebenfalls allow-gelistet.
|