コンテンツにスキップ

OpenAI Codex CLI実践ハンズオン:プロジェクト実装から本格運用まで【2025年8月】

Codex CLI 完全ガイド

はじめに

OpenAI Codex CLI完全ガイドで概要を理解したら、次は実際に手を動かして実装してみましょう。本記事では、具体的なプロジェクト構築から本格的な運用環境での活用まで、段階的にハンズオンで学習できます。

この記事のポイント

  • Node.jsプロジェクト構築

    ゼロからTypeScriptプロジェクトを自動構築

  • CI/CDパイプライン自動化

    GitHub Actions + Codex CLIの完全自動化

  • エラー修復の自動化

    テストエラー・ビルドエラーの自動修正

  • レガシーコード現代化

    古いプロジェクトのアップグレード実践

🏗️ プロジェクト1:Node.js TypeScriptプロジェクト自動構築

ステップ1:環境準備

# 作業ディレクトリ作成
mkdir codex-demo-project && cd codex-demo-project
git init

# Codex CLI起動(初回はSuggestモードで安全確認)
codex

ステップ2:プロジェクト構築プロンプト

TypeScriptとExpressを使ったREST APIプロジェクトを作成してください。

要件:
1. package.jsonの設定(TypeScript、Express、Jest、ESLint、Prettier)
2. TypeScript設定ファイル(tsconfig.json)
3. Express基本サーバー(src/app.ts)
4. APIルーター(/api/users、/api/healthcheck)
5. テストファイル(Jest)
6. README.md
7. .gitignore
8. npm scriptsの設定(build、start、test、lint)

各ファイルを作成し、依存関係をインストールしてプロジェクトが起動することを確認してください。

ステップ3:実行結果の確認

Codexが生成するファイル構造:

codex-demo-project/
├── package.json
├── tsconfig.json
├── src/
│   ├── app.ts
│   ├── routes/
│   │   ├── users.ts
│   │   └── health.ts
│   └── types/
│       └── index.ts
├── tests/
│   ├── app.test.ts
│   └── routes/
│       └── users.test.ts
├── .gitignore
├── .eslintrc.js
├── .prettierrc
└── README.md

ステップ4:自動テスト実行

# Auto Editモードに切り替えて自動化
codex --auto-edit
プロジェクトのセットアップが完了したので、以下を実行してください:
1. npm installで依存関係をインストール
2. npm run lintでコードチェック
3. npm testでテスト実行
4. npm run buildでビルド確認
5. npm startでサーバー起動

エラーが発生した場合は修正し、すべてのコマンドが成功することを確認してください。

実装ポイント

Codex CLIは文脈を理解して、プロジェクト全体の一貫性を保ちながらファイルを生成します。最初はSuggestモードで内容を確認し、信頼できると判断したらAuto Editモードに切り替えましょう。

🔄 プロジェクト2:CI/CDパイプライン自動化

GitHub Actions + Codex CLI統合

.github/workflows/codex-automation.ymlの作成:

name: Codex CLI Automation

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main ]

jobs:
  test-and-fix:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - name: Setup Node.js
      uses: actions/setup-node@v4
      with:
        node-version: '20'
        cache: 'npm'

    - name: Install dependencies
      run: npm ci

    - name: Install Codex CLI
      run: npm install -g @openai/codex

    - name: Run initial tests
      id: initial-tests
      continue-on-error: true
      run: npm test

    - name: Auto-fix test failures
      if: steps.initial-tests.outcome == 'failure'
      env:
        OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
      run: |
        codex --full-auto --prompt "テストが失敗しています。エラーを解析して修正し、npm testが成功するようにしてください。"

    - name: Run tests after fix
      run: npm test

    - name: Build project
      run: npm run build

    - name: Lint check
      run: npm run lint

    - name: Auto-commit fixes
      if: steps.initial-tests.outcome == 'failure'
      run: |
        git config --local user.email "action@github.com"
        git config --local user.name "GitHub Action"
        git add .
        git diff --staged --quiet || git commit -m "Auto-fix: Codex CLI による自動修正 [skip ci]"
        git push

段階的デプロイメント設定

# .github/workflows/codex-deploy.yml
name: Codex Deployment

on:
  workflow_run:
    workflows: ["Codex CLI Automation"]
    types: [completed]
    branches: [main]

jobs:
  deploy:
    if: ${{ github.event.workflow_run.conclusion == 'success' }}
    runs-on: ubuntu-latest

    steps:
    - name: Checkout
      uses: actions/checkout@v4

    - name: Install Codex CLI
      run: npm install -g @openai/codex

    - name: Prepare deployment
      env:
        OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
      run: |
        codex --auto-edit --prompt "本番環境向けのデプロイメント準備を行ってください:
        1. 環境変数の設定確認
        2. 本番用設定ファイル更新
        3. セキュリティチェック
        4. パフォーマンス最適化
        5. ドキュメント更新"

    - name: Deploy to staging
      run: |
        # デプロイメントコマンド
        npm run deploy:staging

重要な注意

GitHub ActionsでAPIキーを使用する場合は、必ずRepository SecretsまたはEnvironment Secretsに設定してください。プレーンテキストでの記載は厳禁です。

🐛 プロジェクト3:エラー修復の自動化パターン

複雑なテストエラー修正

# 複雑なエラーが発生しているプロジェクトでの実行例
codex --full-auto

実践的プロンプト例

このプロジェクトで以下の問題が発生しています:

1. TypeScriptコンパイルエラー(型の不整合)
2. Jest テストの失敗(非同期処理のタイムアウト)  
3. ESLintエラー(未使用変数、インポート順序)
4. 依存関係の脆弱性警告

これらをすべて修正し、以下の確認を行ってください:
- npm run typecheck が成功
- npm test が全パス
- npm run lint が警告なし
- npm audit で脆弱性なし
- npm run build が成功

修正完了後、変更内容をコミットしてください。

エラーパターン別の対応策

エラータイプCodex CLI対応プロンプト例
型エラー型定義の自動修正"TypeScript型エラーを解析し、適切な型定義で修正"
テスト失敗モック・スタブの調整"テスト失敗の原因を特定し、適切なテストコードに修正"
依存関係エラーpackage.json更新"依存関係の競合を解決し、compatible versionに更新"
ビルドエラー設定ファイル修正"ビルド設定を確認し、エラーを修正してビルドを通す"

実際のエラー修正例

発生したエラー

FAIL  tests/users.test.ts
● Users API › GET /api/users › should return user list

  TypeError: Cannot read properties of undefined (reading 'map')

Codex CLIによる自動修正

// 修正前
export const getUsers = async (): Promise<User[]> => {
  const users = await database.users.findAll();
  return users.map(user => ({ ...user, password: undefined }));
};

// 修正後(Codex CLIが自動生成)
export const getUsers = async (): Promise<User[]> => {
  try {
    const users = await database.users.findAll();
    return users?.map(user => ({ ...user, password: undefined })) || [];
  } catch (error) {
    console.error('Error fetching users:', error);
    return [];
  }
};

🔄 プロジェクト4:レガシーコード現代化

古いNode.js プロジェクトの現代化

codex --auto-edit

現代化プロンプト

このレガシーNode.jsプロジェクトを2025年の標準に現代化してください:

現在の状態:
- Node.js v14、CommonJS形式
- JavaScript(型なし)
- 古いテスト構成(Mocha + Chai)
- 手動デプロイメント

現代化の要件:
1. Node.js v20 + ESModules対応
2. TypeScript完全移行
3. Jest + Testing Library
4. ESLint + Prettier
5. GitHub Actions CI/CD
6. Docker対応
7. セキュリティ強化(Helmet、Rate Limiting)
8. 環境変数管理(dotenv)
9. ログシステム(Winston)
10. API文書化(OpenAPI/Swagger)

段階的に移行し、各段階でテストが通ることを確認してください。

移行結果の検証

Codex CLIによる現代化の成果:

# パッケージ構成の確認
npm list --depth=0

# 型チェック
npm run typecheck

# テスト実行
npm test -- --coverage

# セキュリティ監査
npm audit

# ビルドテスト  
npm run build && npm start

段階的移行のコツ

大きなレガシーシステムの場合は、一度にすべて変更するのではなく、モジュール単位で段階的に進めることを推奨します。Codex CLIに「段階的に」と指示することで、リスクを最小化できます。

⚙️ プロジェクト5:高度な自動化パターン

MCPサーバー連携

# ~/.codex/config.toml
[mcp]
enabled = true

[[mcp.servers]]
name = "database"
command = "mcp-database-server"
args = ["--url", "postgresql://localhost:5432/mydb"]

[[mcp.servers]]
name = "jira"
command = "mcp-jira-server"
args = ["--domain", "company.atlassian.net"]

データベース連携プロンプト

データベーススキーマを参照して、以下を自動生成してください:
1. TypeScript型定義(テーブル構造に基づく)
2. Prismaスキーマファイル
3. CRUD APIエンドポイント
4. バリデーションスキーマ(Zod)
5. 単体テスト(データベースモック含む)

データベースのusers、posts、commentsテーブルを対象にしてください。

カスタムワークフロー作成

# プロジェクト専用のワークフローファイル作成
touch .codex/workflows.toml
# .codex/workflows.toml
[workflows.feature]
description = "新機能開発フロー"
steps = [
  "git checkout -b feature/{{feature_name}}",
  "codex --auto-edit --prompt 'TypeScriptで{{feature_name}}機能を実装。APIエンドポイント、型定義、テストを含む完全実装'",
  "npm test",
  "git add . && git commit -m 'feat: {{feature_name}} 機能実装'",
  "git push -u origin feature/{{feature_name}}"
]

[workflows.hotfix]
description = "緊急修正フロー"
steps = [
  "git checkout main",
  "git checkout -b hotfix/{{issue_id}}",
  "codex --full-auto --prompt 'Issue #{{issue_id}}の緊急修正。テストが通ることを確認'",
  "npm test",
  "git add . && git commit -m 'fix: 緊急修正 #{{issue_id}}'",
  "git push -u origin hotfix/{{issue_id}}"
]

モニタリング・アラート設定

# .github/workflows/codex-monitoring.yml
name: Codex Quality Monitoring

on:
  schedule:
    - cron: '0 9 * * 1'  # 毎週月曜9時
  workflow_dispatch:

jobs:
  quality-check:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4

    - name: Setup Codex CLI
      run: npm install -g @openai/codex

    - name: Weekly code quality analysis
      env:
        OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
      run: |
        codex --prompt "週次コード品質チェックを実行:
        1. 技術的負債の特定
        2. パフォーマンスボトルネックの検出
        3. セキュリティ脆弱性のスキャン
        4. 未使用コードの特定
        5. 改善提案レポート作成

        結果をISSUE形式で出力してください。"

    - name: Create quality issues
      uses: actions/github-script@v7
      with:
        script: |
          // Codex出力をパースしてIssue作成
          // 実装は省略

🎯 運用環境での実践テクニック

1. 段階的権限移行

# 開発初期:安全確認重視
codex                    # Suggest mode

# 開発中期:効率重視  
codex --auto-edit       # 編集は自動、実行は承認

# 運用環境:完全自動化
codex --full-auto       # CI環境での完全自動実行

2. チーム開発での統合

AGENTS.mdの活用

# AGENTS.md - チーム専用設定

## コーディング規約
- TypeScript Strict Mode必須
- ESLint + Prettier強制
- テストカバレッジ80%以上維持
- コミットメッセージ:Conventional Commits

## ブランチ戦略  
- feature/*: 新機能
- hotfix/*: 緊急修正
- release/*: リリース準備

## 自動化ルール
- main pushでフルCI実行
- PR作成でCodex自動レビュー
- リリース時は本番デプロイ前確認

3. エラーハンドリング強化

# エラー発生時の自動復旧
codex --full-auto --prompt "CI失敗の原因を特定し、以下の優先順で修正:
1. 構文エラー・型エラー
2. テスト失敗
3. リント違反
4. ビルドエラー  
5. 依存関係の問題

修正後は必ずテストを実行し、成功を確認してからコミット。"

🚀 実践の成果と効果測定

導入前後の比較

指標手動開発Codex CLI活用改善率
プロジェクト初期構築4-8時間30-60分80%短縮
バグ修正時間2-4時間20-40分85%短縮
テストカバレッジ60-70%85-95%25-35%向上
コード品質手動レビュー依存自動品質チェック継続的向上

ROI(投資対効果)試算

月間コスト: - Codex CLI使用料: 30-80(ChatGPT Plus + API使用分) - 学習コスト: 初回20時間(約1,000相当)

月間効果: - 開発工数削減: 60-80時間(約3,000-4,000相当) - バグ修正効率化: 20-30時間(約1,000-1,500相当)
- 品質向上効果: 計測困難だが長期的に大きな価値

ROI: 初月から4-6倍のリターンを実現

⚠️ 運用上の注意点

セキュリティ考慮事項

  1. 機密情報の取り扱い

    # .gitignore に機密ファイルを確実に追加
    echo "*.env*" >> .gitignore
    echo "config/secrets.json" >> .gitignore
    

  2. APIキー管理

    # 環境変数での管理
    export OPENAI_API_KEY="sk-..."
    # GitHub Secrets での管理(推奨)
    

  3. コード監査

    # 定期的なセキュリティスキャン
    npm audit
    codex --prompt "セキュリティ脆弱性をスキャンし、修正提案を作成"
    

トラブルシューティング

問題症状解決策
APIレート制限429エラー間隔をあけて再実行、有料プラン検討
モデル応答不正確意図しない変更より具体的なプロンプト、Suggestモード確認
Git競合マージコンフリクト小刻みなコミット、ブランチ戦略見直し
依存関係エラーインストール失敗package-lock.json削除、clean install

📚 まとめ

OpenAI Codex CLIの実践活用により、以下を実現できました:

習得できたスキル

  1. プロジェクト自動構築: ゼロから本格的なTypeScriptプロジェクトを構築
  2. CI/CD完全自動化: GitHub Actionsとの統合による無人運用
  3. エラー修復自動化: 複雑なバグも自動特定・修正
  4. レガシー現代化: 古いシステムの段階的アップグレード

継続的改善のポイント

  • 段階的な権限移行: Suggest → Auto Edit → Full Autoの順番で信頼構築
  • チーム標準化: AGENTS.mdとワークフローの統一
  • 品質指標の設定: カバレッジ、エラー率、開発速度の継続測定
  • セキュリティファースト: 機密情報保護とアクセス制御の徹底

Codex CLIは単なるコーディング支援ツールを超えて、開発プロセス全体を革新するパートナーです。実践を通じて、あなたのチームの生産性と品質を大幅に向上させることができるでしょう。


📚 関連記事

OpenAI Codex シリーズ

ChatGPT・OpenAI 関連