Phase 1-3 runbooks and design notes, version pins, config templates, project-history conventions, cluster-inspector read-only credentials setup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.3 KiB
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-insertedCHANGELOG.mdwith realdatetimestamps.- Gitea +
tea pr createMR flow, but only for phase-3 Go code; docs go straight tomain. /shipcommand; 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
WhetherResolved by decision #11: a parallel session introduced read-onlykubectl get *in the allowlist is too broad:kubectl get secret -o yamlwould print thelab1-kubeconfigsecret without a prompt.cluster-inspectorkubeconfigs, so thekubectl/clusterctl/helmallowlist entries were dropped from.claude/settings.jsonagain.
Follow-ups
- Decision #10
CLAUDE.mdsections "Project history" and "Git"