Released the Claude Code + Codex Auto-Dev Framework on GitHub
Overview
I took the Claude Code + Codex auto-loop from the practice article and optimization article and published it as a general-purpose framework on GitHub.
https://github.com/hide3tu/tmux-cidex-claude-conversation
What This Framework Does
- Codex (manager) selects tasks and assigns them to Claude (worker)
- Claude implements, commits, and pushes
- Codex reviews; if there are issues, it sends fix instructions
- Automatically moves to the next task when done
Write tasks in todo.md, start it up, and walk away while development progresses.
Architecture
Codex (manager)
├── reads docs/todo.md
├── writes task instructions to work/task.md
├── waits for Claude to finish
├── writes review results to work/review.md
└── updates docs/todo.md
↓↑ file communication
Claude (worker)
├── reads work/task.md
├── implement, commit, push
└── signals completion via logs/.claude_done
All communication goes through files.
| File | Purpose |
|---|---|
work/task.md | Codex → Claude task instructions |
work/review.md | Codex → Claude review feedback |
logs/.claude_done | Claude → Codex completion signal |
How to Use
1. Clone
git clone https://github.com/hide3tu/tmux-cidex-claude-conversation
cd tmux-cidex-claude-conversation
2. Edit Config Files
Write project-specific rules in CLAUDE.md:
# Project Overview
A project to develop ○○.
# Commands
- Build: npm run build
- Test: npm test
# Coding Conventions
- TypeScript
- Commit messages in English
AGENTS.md is the instruction file for Codex. It works as-is for most projects.
3. Create Task List
docs/todo.md:
# TODO
- [ ] Implement user authentication API (`src/api/auth.ts`)
- [ ] Create login UI component (`src/components/Login.tsx`)
- [ ] Add form validation (`src/utils/validation.ts`)
Task granularity should be “completable in one commit.” Too large and Claude gets lost.
4. Start
./scripts/codex-main.sh
A tmux session starts and Codex begins processing tasks automatically. Press Ctrl+C to stop.
Design Philosophy
Why Codex as Manager
Codex is better at planning and reviewing; Claude is better at implementing. The role split plays to each one’s strengths.
Putting Codex in charge centralizes the “what to work on next” decision. In the practice article, Claude read todo.md and decided itself — which sometimes meant work proceeded in unintended order.
Why File Communication
Direct API communication is possible, but file communication has advantages:
- Easy to intervene: you can manually edit task.md while it runs
- Easy to debug: looking at files tells you exactly what happened
- State persists: if the session dies, you can resume from where you left off
- Simple: no complex communication protocol needed
On Context Efficiency
As covered in the optimization article, the key points are:
- Start and stop the Claude worker per task
- Clean the work directory after completion
- Blocking wait to reduce API calls
Customization Tips
Change Timeout
Modify timeout 3600 in AGENTS.md. Unit is seconds.
Change Review Cycle Count
Find the “review up to 3 times” section in AGENTS.md and change it.
Use a Different LLM
To swap Claude with Gemini, rename CLAUDE.md to GEMINI.md and change the claude command in the launch script to gemini.