技術 約3分で読めます

Claude Code + Codex 自動開発フレームワークを汎用化して公開した

はじめに

実践編改善編で作ったClaude Code + Codexの自動ループを、汎用フレームワークとしてGitHubで公開した。

https://github.com/hide3tu/tmux-cidex-claude-conversation


このフレームワークでできること

  • Codex(マネージャー)がタスクを選んでClaude(ワーカー)に指示
  • Claudeが実装・コミット・プッシュ
  • Codexがレビューして、問題があれば修正指示
  • 完了したら次のタスクへ自動で進む

todo.mdにタスクを書いて起動すれば、あとは放置で開発が進む。


アーキテクチャ

Codex(マネージャー)
├── docs/todo.md を読む
├── work/task.md にタスク指示を書く
├── Claudeの完了を待つ
├── work/review.md にレビュー結果を書く
└── docs/todo.md を更新
        ↓↑ ファイル通信
Claude(ワーカー)
├── work/task.md を読む
├── 実装・コミット・プッシュ
└── logs/.claude_done で完了通知

通信はすべてファイル経由。

ファイル用途
work/task.mdCodex → Claude へのタスク指示
work/review.mdCodex → Claude へのレビューフィードバック
logs/.claude_doneClaude → Codex への完了シグナル

使い方

1. クローン

git clone https://github.com/hide3tu/tmux-cidex-claude-conversation
cd tmux-cidex-claude-conversation

2. 設定ファイルを編集

CLAUDE.md にプロジェクト固有のルールを書く:

# プロジェクト概要
○○を開発するプロジェクト。

# 使用コマンド
- ビルド: npm run build
- テスト: npm test

# コーディング規約
- TypeScript使用
- コミットメッセージは日本語

AGENTS.md はCodex用の指示書。基本的にはそのままで動く。

3. タスクリストを作成

docs/todo.md:

# TODO

- [ ] ユーザー認証APIの実装 (`src/api/auth.ts`)
- [ ] ログインUIコンポーネント作成 (`src/components/Login.tsx`)
- [ ] フォームバリデーション追加 (`src/utils/validation.ts`)

タスクの粒度は「1コミットで終わる程度」が目安。大きすぎると途中で迷子になる。

4. 起動

./scripts/codex-main.sh

tmuxセッションが起動し、Codexが自動でタスクを処理し始める。止めたいときは Ctrl+C


設計思想

なぜCodexをマネージャーにしたか

Codexは計画立案とレビューが得意で、Claudeは実装が得意。得意分野で役割分担した。

Codexをマネージャーにすることで「どのタスクを次にやるか」の判断が一元化される。実践編ではClaudeが自分でtodo.mdを読んで判断していたが、意図しない順序で進むことがあった。

なぜファイル通信か

API経由で直接通信する方法もあるが、ファイル通信にはメリットがある:

  • 介入しやすい: 動作中にtask.mdを手動で書き換えられる
  • デバッグしやすい: ファイルを見れば何が起きているかわかる
  • 状態が残る: セッションが切れても途中から再開できる
  • シンプル: 複雑な通信プロトコルが不要

コンテキスト効率化について

改善編で詳しく書いたが、ポイントは:

  • Claudeワーカーをタスクごとに起動・終了
  • 完了後にworkディレクトリをクリーン
  • ブロッキング待機でAPI呼び出し削減

カスタマイズのヒント

タイムアウト変更

AGENTS.mdtimeout 3600 を変更する。単位は秒。

レビュー回数変更

AGENTS.md で「レビューは最大3回」と書いてある部分を変更する。

別のLLMを使う

Claude部分をGeminiに差し替えるなら、CLAUDE.mdGEMINI.md にリネームして、起動スクリプトの claude コマンドを gemini に変える。