Skip to content

feat: Codex app / Codex CLI でも autoforge を使えるようにする #28

Description

@shigel

背景

現状 autoforge のハーネスモードは Claude Code のサブスクリプション経由で動作する前提になっており、以下が Claude Code 中心になっている:

  • README.md:126 — 「autoforge runs within Claude Code's subscription」
  • CLAUDE.md — 推論層を Claude Code に固定する説明
  • autoforge/harness/solve.pyNext steps for Claude Code: と明示的に Claude Code 向けにレジューム手順を出力
  • autoforge/cli.py:45goals モードのデフォルトバックエンドが claude
  • autoforge/harness/fix.py:16,187AGENTS.md / CLAUDE.md の両方を見るが、生成ドキュメントは Claude Code ユーザーを想定

一方、autoforge/harness/agent_loop.py には既に codex バックエンド (codex exec) が存在する。つまり 実行レイヤは半分揃っているが、ドキュメント・セットアップ・ユーザ体験が Claude Code 前提になっている 状態。

ユーザが Claude Code ではなく Codex app もしくは Codex CLI を主ハーネスとして使う場合でも、autoforge の価値(SDLC パイプライン、SWE-bench スタック、ACI ツール群)を得られるようにしたい。

ゴール

Claude Code を入れていないユーザが Codex app または Codex CLI から autoforge を一級市民として使える ようにする。

具体的には:

  1. Codex CLI (codex exec) を推論層として、autoforge loop --mode goals --backend codex が Claude Code と同等の完成度で動く
  2. Codex app (Web/Desktop) のチャットセッションから autoforge-tools サブコマンドを呼び出すと、Claude Code で得られるのと同じ観察可能性(行番号付き view / lint 検証付き edit / SWE-bench パッチ保存)が得られる
  3. ドキュメントが「Claude Code OR Codex」のいずれからでも開始できる書き方になっている

タスク分解

A. ドキュメント(Codex パス)

  • README.md の「Harness mode」セクションを Claude Code と Codex の両対応 として書き換える
    • Claude Code 用の claude -p
    • Codex CLI 用の codex exec
    • Codex app 用の「チャットから autoforge-tools を呼ぶ」使い方
  • AGENTS.md を新規追加(Codex 向けのブリーフィング、中身は CLAUDE.md と同等のハーネス手順)。既に fix.py は AGENTS.md を検索対象にしているので整合が取れる
  • docs/codex-quickstart.md 新設: Codex CLI / Codex app それぞれで autoforge を初回実行するまでの手順

B. CLI / ランタイム

  • autoforge/harness/solve.py:81"Next steps for Claude Code:" をバックエンド非依存の文言に変更(例: "Next steps for your agent:"
  • autoforge/cli.py:254goals デフォルトを claude 固定から、PATH 上の CLI を自動検出claude > codex > 明示指定必須)する優先順位ベースに変更。--backend 未指定で Claude Code が無い環境では Codex にフォールバックする
  • autoforge/harness/agent_loop.py の codex 引数組み立てを最新 Codex CLI 仕様に追従(--full-auto / --dangerously-bypass-approvals-and-sandbox のフラグ名・互換性を再確認)
  • setup.sh に Codex CLI 検出ブランチを追加(Claude Code が無ければ Codex をチェック、どちらも無ければ案内)

C. Codex app サポート(チャット運用)

  • AGENTS.md に Codex app のチャット内で貼り付けて使える 起動プロンプト・テンプレ を同梱
  • autoforge-tools が Codex app の制限(ファイルアクセス / シェル権限モデル)下でも動く場合のモード確認。動かない機能があれば docs/codex-quickstart.md に limitations として明記

D. 検証

  • tests/agent_loop._argv_codex のスナップショット系テストを追加(現状テスト有無を要確認)
  • ローカルで codex CLI がインストールされた環境で autoforge loop --mode goals --backend codex --dry-run が成功することを確認
  • SWE-bench 1 インスタンスを Codex CLI で通しで解く実走ログを 1 本残す(docs/ にケーススタディとして追加)

非ゴール

  • 独自 Codex SDK ラッパーの実装(codex exec シェル越し呼び出しで足りるはず)
  • pipeline モード(--mode pipeline)の api バックエンド撤廃。pipeline は ANTHROPIC_API_KEY 必須のままでよい。本 issue は goals モードとハーネスツール層 が対象

参考

  • 既存の codex バックエンド実装: autoforge/harness/agent_loop.py:92-101, BACKENDS dict :110-114
  • 関連既存機能: fix.pyAGENTS.md を既に認識するが、その中身を Codex 用に充実させる作業は未着手
  • 類似 issue: なし(2026-04-22 時点で gh issue list --search codex が空)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions