docs: Update root README.md for Codex CLI support - #38
Conversation
Document Codex CLI alongside Claude Code throughout the README: - Intro, Why section, and features list mention both tools - Dockerfile section adds @openai/codex and bubblewrap - Firewall table adds 5 OpenAI domains, fixes github.com categories to dynamic - Settings sync section documents copy-on-first-run strategy - devcontainer.json section adds containerEnv, Codex volume, extensions - Generated files table adds codex-config.toml, sync-codex-settings.sh, mise-config.toml - Diagram updated with sync-codex-settings.sh step and dual-tool label - Go version kept at 1.25+ (matches go.mod) - File count updated from 8 to 11 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
BjRo
left a comment
There was a problem hiding this comment.
Go Code Review
Summary
Documentation-only PR that updates the root README.md to reflect Codex CLI support added in a prior epic. I verified every factual claim in the README against the actual codebase:
Firewall domains (firewall.go AlwaysOn registry): All 10 domains in the README table match the AlwaysOn allowlist in /workspace/internal/firewall/firewall.go (lines 67-76). Every domain name and category (static/dynamic) is correct. The table ordering differs slightly from the source (github.com and api.github.com are swapped), but this is cosmetic and does not affect accuracy.
File count: The README states "Generated .devcontainer/ with 11 files". The renderFiles function in /workspace/cmd/init.go (lines 312-324) returns a map with exactly 11 entries. The Generated Files table in the README lists exactly those 11 files. Correct.
Settings sync behavior: The README describes sync-codex-settings.sh as "copy-on-first-run" -- copies on first run, skips on subsequent runs. The template at /workspace/internal/render/templates/sync-codex-settings.sh.tmpl uses if [ ! -f "$SETTINGS_FILE" ]; then cp ... which confirms this. The Claude Code deep-merge description was already accurate from before.
devcontainer.json features: All six bullet points checked against the template at /workspace/internal/render/templates/devcontainer.json.tmpl:
- containerEnv with OPENAI_API_KEY: confirmed (line 27-28)
- Mounts for bash history, Claude config, Codex config, gh config, gitconfig: confirmed (lines 20-24)
- postStartCommand chains both sync scripts and firewall init: confirmed (line 29)
- NET_ADMIN and NET_RAW capabilities: confirmed (lines 31-33)
- seccomp=unconfined: confirmed (lines 35-36)
- VS Code extensions (anthropic.claude-code, openai.chatgpt): confirmed (lines 9-12)
Dockerfile claims: bubblewrap is installed in the apt-get line (template line 19). The npm install command includes both @anthropic-ai/claude-code and @openai/codex (template line 69). Both confirmed.
Verdict
LGTM -- all README claims are factually accurate against the codebase. No findings.
Automated review by Go Review Agent
Codex Code ReviewThe diff only updates documentation, and the new README content is consistent with the current implementation: Codex files are generated, the devcontainer forwards Automated review by Codex Review Agent |
All phases complete: refine, challenge, implement, PR, review, codify. PR #38 passed both review-backend and review-codex with no findings. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
Test plan
go test ./...passes (no Go files modified)golangci-lint run ./...passesBean: agentbox-31g0
🤖 Generated with Claude Code