はじめに
結局Codexってなにができるんだと思い、使ってみなければわからんということで使ってみる。
前提
WSL2のubuntuにCodex CLIをインストールする。
インストール
公式の手順でインストールできる。
learn.chatgpt.com
インストール
curl -fsSL https://chatgpt.com/codex/install.sh | sh
Codexにログイン
codex login
Codex起動
codex
AIがPC上でコマンドを実行する際のセキュリティ対策としてbubblewrapもインストールする。
sudo apt install -y bubblewrap
良く使うMCPもインストールする。
- Context7
ライブラリやフレームワークの最新ドキュメント参照用。
codex mcp add context7 -- npx -y @upstash/context7-mcp
- OpenAI Developer Docs
OpenAI API / Apps SDK / Codexなどの公式ドキュメント参照用。
codex mcp add openaiDeveloperDocs --url https://developers.openai.com/mcp
- Playwright
ブラウザ操作・画面確認・E2Eテスト補助用。
codex mcp add playwright -- npx -y @playwright/mcp@latest
/mcpでインストールされているMCPの確認ができる。

使い方
とりあえず触ってみたときによく使ったもの。
/init
現在のプロジェクト配下にAGENTS.mdを作成してくれる。
/model
現在の使用モデルの確認、切り替えができる。
/status
現在のセッション状態や使用量を確認できる。
/plan
実装をさせずに計画を出力させる。
/review
コード差分やコードレビューをさせる。
/mcp
MCPの確認ができる。
とりあえず使ってみる
Codexのベストプラクティスとかよく分かっていないがざっと調べた感じ、Codexが標準でサポートしているプロジェクト指示ファイル名はAGENTS.md(CLAUDE.mdみたいなもの)。
~/.codex配下に作成するとどのプロジェクトでも共通で適用させることができる。
プロジェクトごとに適用させたい場合は各プロジェクト配下に作成する。
AGENTS.mdに記載されているルールが競合した場合はより深い階層のものが優先して読み込まれるらしい。
とりあえずこんな感じで作成している。
~/.codex/AGENTS.md
# Repository Guidelines
## Language
- ユーザーとのやり取り、作業報告、設計メモは日本語で行う。
- コードコメントは必要な箇所のみ日本語で書く。冗長なコメントは避ける。
## Workflow
- 実装前に必ず既存構成を確認する。
- 複雑な変更では、まず計画を出してから実装する。
- 既存の仕様・UI・命名を尊重し、不要な大改造をしない。
- 依存パッケージ追加前に、理由と代替案を説明する。
- 大きな変更は小さいステップに分ける。
## Security & Configuration Tips
Do not commit secrets, API keys, or machine-specific configuration. Use `.env.example` to document required variables, and keep real `.env` files ignored. Prefer least-privilege credentials for local development and CI.
~workspace/hogeProject/AGENTS.md
# Repository Guidelines
## Project
- このプロジェクトは、スマホから入力しやすい「ひとこと日記Webアプリ」です。
- フロントエンド、認証、DB、デプロイはAzure利用を前提にする。
## Rules
- スマホ縦画面を優先する。
- まずMVPを作る。
- 大規模リファクタは事前に説明する。
- 認証・DB・クラウド設定はAzure公式ベストプラクティスを優先する。
- 実装前に `docs/requirements.md`、`docs/design.md`、`docs/tasks.md`、`docs/decisions.md` を読み、MVP範囲・未決事項・直近タスクを確認する。
- 未決事項を実装判断で決める場合は、理由と代替案を `docs/decisions.md` に追記する。
## Verification
- 変更後は可能な範囲で `npm run lint` と `npm run build` を実行する。
- 実行できない場合は理由を報告する。
## Review guidelines
- 実装後は、可能な限り `/review` または差分レビューを行う。
- レビューでは、重大度を P0 / P1 / P2 で分類する。
- P0 はビルド不能、データ破壊、セキュリティ問題、主要機能停止。
- P1 は仕様不一致、主要なUX問題、テスト不足、エラーハンドリング不足。
- P2 は改善提案、軽微なリファクタ、命名改善。
- レビュー時は、要件 docs/requirements.md と設計 docs/design.md との矛盾を確認する。
- 指摘だけを行うターンと、修正するターンを分ける。
## Testing guidelines
- 新しい振る舞いを追加した場合は、可能な範囲でテストを追加する。
- テストは実装詳細ではなく、外から見た振る舞いを検証する。
- バグ修正時は、可能なら回帰テストを追加する。
- テストが書きにくい場合は、テスト容易性を高める最小限の責務分離を行う。
- E2Eテストは主要フローに絞り、大量に増やしすぎない。
- 変更後は可能な範囲で以下を実行する。
- npm run lint
- npm run typecheck
- npm test
- npm run build
それでAGENTS.mdに色々とルールを書いて進めていくのまでは大体把握したが、AGENTS.mdが長くなってきたら別途ファイルを作りAGENTS.mdにそれらのファイルを参照させるよう指示を書くのが良いらしい。
そのやり方は色々あってPLAN.mdを作るのが良いとかdocsディレクトリを作成してドキュメント類は全てそこに入れるのが良いとかいろいろあるらしい。
おわりに
AIエージェントに読ませるAGENTS.mdやドキュメントのノウハウについては他人が公開しているものも参考にしつつ探っていきたいが、それ以上に自分で試してみるのが大事なので引き続き使っていきたい。