Codex コマンド大辞典LESSON 04
LESSON 04 / 自動化

codex exec でCI・スクリプト

ここまでは画面を見ながらの「対話モード」でした。でも、人が見ていない場所——スクリプトや CI(=コミットのたびに自動でテスト等を回すしくみ)——でCodexを動かしたいこともあります。そのための一発実行が codex exec です。

案内役のモコ

ひとことで言うとcodex(対話)に対して、codex exec(一回きり・画面を開かない)。頼みごとを渡すと、黙々とこなして結果を返してくれます。

基本のかたち

codex exec "テストを実行して、失敗があれば直して"

短縮形は codex e。対話画面(TUI)は開かず、一回きりで走って終わります。

結果を機械で扱う

スクリプトから使うなら、結果を「あとで処理しやすい形」で受け取れると便利です。

  • --json … 実行中のできごとを JSONL(1行1件のJSON)で出す
  • -o result.txt … 最後の返答をファイルに書き出す
  • --output-schema schema.json … 出力を決まった形(JSONスキーマ)に沿わせる
  • --skip-git-repo-check … gitの管理外フォルダでも実行を許す
codex exec --json "package.json の依存を確認して" > events.jsonl

CIでの安全な組み合わせ

自動で走らせるときは、止まって確認できる人がいません。だから承認は never(聞かない)にしつつ、サンドボックスで触れる範囲をしっかり絞るのがコツ。レッスン02の「併せ技」がここで効いてきます。

codex exec -a never -s workspace-write "lint を直してコミット用に要約して"

モコのメモ「止まらない」=自動化向き、でもあります。だからこそ、箱(サンドボックス)を先に決めてから走らせると安心です。認証を渡したいときは環境変数 CODEX_API_KEY も使えます。