# Session: which conventions to adopt from egress-proxies-operator **Created:** 2026-09-26 23:55 ## Question > look into project in /Users/jan.novak/srv/go/egress-proxies-operator and suggest which rules i > should copy over into this project > > this project is sort of research/experimentation project, so i want to keep history of > conversations, decisions, plans, etc. ## What was checked `egress-proxies-operator`: `CLAUDE.md`, `.claude/settings.json` + `settings.local.json`, `.claude/commands/{ship,release}.md`, `.claude/agents/*`, `AGENTS.md`, and samples from `docs/plans/`, `docs/plans-executions/`, `docs/prompts/`, `docs/reviews/`, `CHANGELOG.md`. ## Findings Adopted, adapted to a docs/lab repo: - Plans in `docs/plans/` with the "commit the plan first, on its own" ordering rule. - Execution logs in `docs/plans-executions/`, especially "exact commands with one line of context, deviations called out", which suits lab runbook work better than Go code. - `docs/prompts/`, `docs/reviews/`, top-inserted `CHANGELOG.md` with real `date` timestamps. - Gitea + `tea pr create` MR flow, but only for phase-3 Go code; docs go straight to `main`. - `/ship` command; a small read-only permission allowlist (`kubectl get/describe/logs`, `clusterctl describe`, `helm list`, git read commands). Not adopted: Go and testing conventions, CI/CD, kubebuilder gotchas, `AGENTS.md`, the two operator reviewer agents (candidates for phase 3), `/release` (no tags or images here), `.junie/.codex/.agents` duplicates, and the broad `kubectl *` / `curl *` permissions. New, not in the operator repo, because decisions there are buried in plan context sections: - `docs/decisions.md`: one table with alternatives and status, back-filled with 9 rows. - `docs/sessions/`: summaries of conversations that did not produce a plan (this file is the first). ## Open questions - ~~Whether `kubectl get *` in the allowlist is too broad: `kubectl get secret -o yaml` would print the `lab1-kubeconfig` secret without a prompt.~~ Resolved by [decision #11](../decisions.md): a parallel session introduced read-only `cluster-inspector` kubeconfigs, so the `kubectl` / `clusterctl` / `helm` allowlist entries were dropped from `.claude/settings.json` again. ## Follow-ups - [Decision #10](../decisions.md) - `CLAUDE.md` sections "Project history" and "Git"