𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
Codex CLIマルチファイル編集&ワークスペース管理術

Codex CLIマルチファイル編集&ワークスペース管理術

SESOpenAICodex CLIマルチファイルワークスペース
目次

📚 この記事は「OpenAI Codex CLI 完全攻略シリーズ」の Episode 8 です。

Codex CLIの真価は、単一ファイルの生成ではなくプロジェクト全体を俯瞰した編集にあります。実際のSES現場では、1つの機能追加やバグ修正で複数ファイルを同時に変更することが当たり前です。

本記事では、Codex CLIのマルチファイル対応機能とワークスペース管理のベストプラクティスを、SES案件での実践例とともに解説します。

Codex CLIのマルチファイル対応とは

Codex CLIのマルチファイル編集フロー:コード分析→変更計画→複数ファイル同時編集→レビュー→適用

単一ファイル生成からプロジェクト全体編集へ

Codex CLIはfull-autoモードでディレクトリ全体を認識し、関連ファイルを横断的に編集できます。例えば「ユーザー認証にJWTリフレッシュトークンを追加して」と指示すると:

  • auth/jwt.ts — トークン生成ロジックの修正
  • middleware/auth.ts — リフレッシュトークン検証の追加
  • routes/auth.ts — リフレッシュエンドポイントの追加
  • types/auth.ts — 型定義の更新
  • tests/auth.test.ts — テストケースの追加

これらを一度の指示で整合性を保ちながら変更できるのが、マルチファイル対応の強みです。

エージェント的ワークフローの仕組み

Codex CLIは以下のステップでマルチファイル編集を行います。

  1. コンテキスト収集 — プロジェクト構造を走査し、関連ファイルを特定
  2. 変更計画の立案 — どのファイルにどのような変更が必要かを計画
  3. 一括編集の実行 — 変更をまとめて適用(Sandboxモードの場合はプレビュー)
  4. 整合性チェック — 型エラーやインポート漏れがないか確認

マルチファイル編集の実践テクニック

複数ファイル横断のリファクタリング

SES現場で頻繁に発生するリファクタリングタスクの例です。

# API全体のエラーハンドリングパターンを統一
codex "このプロジェクトのすべてのAPIハンドラで、try-catchブロックのエラーハンドリングパターンを統一してください。カスタムエラークラスAppErrorを使い、HTTPステータスコードとエラーメッセージを標準化してください"

Codex CLIは関連するすべてのAPIハンドラファイルを検出し、一貫したパターンに書き換えます。

# データベーススキーマの変更に伴う全ファイル更新
codex "usersテーブルにprofile_image_urlカラム(VARCHAR(500), nullable)を追加し、関連するモデル、DTO、バリデーション、APIレスポンスをすべて更新してください"

変更提案のレビューと適用フロー

suggestモードを使えば、変更内容をdiff形式で確認してから適用できます。

# suggestモードで変更をプレビュー
codex --approval-mode suggest "全コンポーネントのpropsにデフォルト値を設定して"

表示されるdiffを確認し、問題なければyで適用、修正が必要ならnで却下します。SES現場では、必ずsuggestモードでレビューしてから適用する運用がおすすめです。

ワークスペース管理のベストプラクティス

プロジェクト構造の認識と最適化

Codex CLIはディレクトリ構造を自動認識しますが、効率的に動作させるためのポイントがあります。

AGENTS.mdでプロジェクト構造を明示

# プロジェクト構造
- src/api/ — APIルートハンドラ
- src/models/ — データモデル(Prisma)
- src/middleware/ — Express ミドルウェア
- src/utils/ — ユーティリティ関数
- tests/ — テストファイル(Jest)

この情報があることで、Codex CLIは関連ファイルを高速に特定できます。

.codexignoreによるスコープ制御

.codexignore.gitignoreと同じ構文)で、Codex CLIが読み取る範囲を制御できます。

# 生成されたファイルを除外
dist/
build/
node_modules/

# 大きなデータファイルを除外
*.csv
*.sql

# 機密設定を除外
.env*
secrets/

SES現場では、クライアント固有の設定ファイル本番環境のシークレットを確実に除外することが重要です。

マルチエージェント並列実行

独立Git Worktreeで競合回避

大規模プロジェクトでは、複数のCodex CLIインスタンスを並列実行して作業時間を短縮できます。ただし、同じディレクトリで複数エージェントを走らせるとファイル競合が発生します。

Git Worktreeを使った並列実行

# メインブランチから作業用ワークツリーを作成
git worktree add ../project-agent1 -b feature/auth-refactor
git worktree add ../project-agent2 -b feature/api-optimization

# 各ワークツリーで独立したCodex CLIを実行
cd ../project-agent1 && codex "認証モジュールをリファクタリングして" &
cd ../project-agent2 && codex "APIレスポンスのパフォーマンスを最適化して" &
wait

# 完了後にメインブランチにマージ
cd ../project
git merge feature/auth-refactor
git merge feature/api-optimization

大規模リファクタリングへの応用

SES案件でのレガシーコード刷新など、大規模リファクタリングでの活用例です。

  1. フェーズ1: 分析codex "このプロジェクトのコード品質レポートを作成して"
  2. フェーズ2: 分割 — 改善タスクを独立したブランチに分割
  3. フェーズ3: 並列実行 — 各ブランチでCodex CLIを並列実行
  4. フェーズ4: 統合 — 結果をレビューしてメインにマージ

この手法により、従来なら数日かかるリファクタリングを数時間に短縮できます。

Claude Code / Gemini CLIとの比較

マルチファイル対応の観点での比較です。

機能Codex CLIClaude CodeGemini CLI
ファイル横断編集
変更プレビュー◎(diff表示)
並列エージェント◎(Worktree)
スコープ制御◎(.codexignore)○(CLAUDE.md)
自動テスト連携

各ツールにはそれぞれの強みがあります。SES案件では、プロジェクトの言語やフレームワークに応じて最適なツールを選択することが重要です。

まとめ

Codex CLIのマルチファイル対応は、SES現場での生産性を大幅に向上させる機能です。

  • 単一ファイルではなくプロジェクト全体を俯瞰した編集が可能
  • suggestモードで変更をレビューしてから適用する運用がおすすめ
  • .codexignoreで不要なファイルを除外し、効率と安全性を確保
  • Git Worktreeを使えば、複数エージェントの並列実行で作業時間を大幅短縮

マルチファイル編集をマスターすれば、Codex CLIは単なるコード補完ツールではなく、プロジェクト全体を管理するAIパートナーになります。


OpenAI Codex CLI 完全攻略シリーズの他の記事もチェック:

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修