Codex CLI プラグイン
Nolto の Codex CLI プラグインは、MCP サーバー接続と 4 つのスキル(プラン登録・進捗報告・ステータス確認)を 1 ステップでセットアップします。codex mcp add で MCP サーバーを手動登録する代わりに、プラグインを入れるだけで Codex CLI から Nolto を操作できるようになります。
ソースは公開リポジトリ uruca-kk/nolto-codex-plugin で配布されています。
インストール
Codex CLI 上で、マーケットプレイスを追加してプラグインをインストールします:
codex plugin marketplace add uruca-kk/nolto-codex-plugin
codex plugin add nolto@nolto
これだけで、MCP サーバー https://nolto.app/mcp と 4 つのスキルが有効になります。トークンの埋め込みは不要です(認証は次のステップ)。
注意: /plugin スラッシュコマンドおよび codex plugin install は Claude Code の機能です。Codex CLI では codex plugin marketplace add / codex plugin add を使ってください。
初回認証(OAuth)
プラグインの MCP 設定はトークンを含まない素の URL 設定です。最初に Nolto のツールを呼び出したタイミングで、Codex CLI が OAuth(Dynamic Client Registration)フローを自動的に開始し、ブラウザで承認画面を表示します。承認後はツールがそのまま利用できます。
> Nolto のプロジェクト一覧を見せて
(初回のみブラウザで OAuth 承認 → 以降は自動)
明示的に認証フローを開始する場合:
codex mcp login nolto
含まれるスキル
プラグインは、Codex が Nolto の MCP ツールを「いつ・どう使うか」を判断するための 4 つのスキルを同梱しています。該当する依頼をすると自動的に発火します。
| スキル | 発火する場面 | 主に使うツール |
|---|---|---|
| register-plan | 「このプランを Nolto に登録して」「プランを共有したい」 | register_plan / register_structured_plan |
| report-progress | 「フェーズ 2 を進行中にして」「Phase 3 のテストが合格した」「最終レビュー GO で」 | update_phase_status / record_phase_test_result / record_plan_review |
| plan-status | 「いま何が進んでる?」「Plan X の状況を要約して」 | list_plans / get_plan |
| link-project | 「このリポを Nolto に紐付けて」「nolto.json を作って」 | list_projects(+ nolto.json を作成) |
各スキルが扱うステータス・判定値は Nolto 本体と一致しています(プランステータス: not_started / in_progress / done / discarded、テスト判定: passed / failed / skipped、レビュー判定: go / no_go)。
推奨プランテンプレート
プラグインに推奨プランテンプレートが同梱されています。このテンプレートに沿って書かれたプランは、Nolto の分類器(型1 = 実装プラン)が正確にフェーズとステータスを読み取れます。
同梱ファイル
| ファイル | 用途 |
|---|---|
templates/plan-template.md | 推奨プランテンプレート(フェーズ・ステータス例付き) |
templates/AGENTS.md.sample | プロジェクトの AGENTS.md に貼り付けるガイドラインスニペット |
構造の 3 つのルール
- 作業語彙の H2 見出し —
## フェーズN: …のように「フェーズ」「Phase」「Step」「タスク」などを含める。これで分類器が実装プランとして識別します(インベントリや調査メモと区別)。 - 2 階層まで — H2 がフェーズ、H3 がサブフェーズ。H4 以降は親フェーズ本文に吸収されます。
- 確定事項 / 未解決事項 — これらの H2 は文脈情報(フェーズ外)として扱われ、フェーズ一覧には含まれません。
ステータスマーカーの付け方
チェックボックスによる判定はそのセクション自身の本文が対象です。### サブフェーズのチェックは親 ## フェーズには伝播しません。フェーズ(##)のステータスは、見出しにマーカーを付けるか、サブフェーズを作らず見出し直下にチェックリストを置くことで設定します。
| ステータス | 判定トリガー(そのセクション自身の本文) |
|---|---|
| 完了 | H2 見出しに「✅」「完了」「済」を含める、またはチェックボックスが全部 - [x] |
| 進行中 | H2 見出しに「進行中」「着手」を含める、または - [x] と - [ ] が混在 |
| 未着手 | チェックボックスが全部 - [ ]、またはチェックボックスが無い |
| 破棄 | Markdown からは付きません。report-progress スキルで設定します |
見出しマーカー(「✅」「進行中」など)は、見出し行または本文の最初の 1 行でのみ認識されます。深い行に書いても拾われません。
プランは日本語で書いてください。Nolto の分類器パイプラインは本文をそのまま日本語ビューに表示します。英語プランでも登録できますが、非エンジニア向けの可視化が読みづらくなります。templates/AGENTS.md.sample をプロジェクトの AGENTS.md に貼り付けると、以後 Codex が自動的にこの規則に従ってプランを作成します。
ヘッドレス / CI 環境
ブラウザ OAuth が使えない環境(CI、リモートサーバーなど)では、Personal API Token をベアラーで渡します:
codex mcp add nolto --url https://nolto.app/mcp --bearer-token-env-var NOLTO_TOKEN
または @nolto/cli を利用します。詳細は MCP セットアップ › ヘッドレス / リモート環境 を参照してください。
Personal API Token は mcp:read と mcp:write の両スコープを持ちます。パスワードと同様に扱い、ソースコードやプラグイン設定に直書きしないでください。トークンは 設定 › API トークン で発行します。
Stop フック (.codex/hooks.json)
codex-cli 0.137.0 では plugin_hooks が removed → false になっており、プラグインが自動的に Stop hook を登録することはできません。そのため、Stop hook はプロジェクトフックとして別途設定します。プロジェクトが Codex に信頼されている(trusted)状態でないとプロジェクトレベルのフックは発火しない点にご注意ください。
設定方法
プロジェクト直下に .codex/hooks.json(ユーザーグローバルなら ~/.codex/hooks.json)を作成し、以下を貼り付けます。プラグイン同梱の templates/codex-hooks.json と同じ内容です:
{
"hooks": {
"Stop": [
{
"hooks": [
{ "type": "command", "command": "nolto flush --detach", "timeout": 10 }
]
}
]
}
}
有効化の前提条件
@nolto/cli >= 0.2.0が PATH 上にインストールされていること (npm install -g @nolto/cli)NOLTO_TOKEN環境変数(またはnolto initで設定したトークン)が利用可能なこと
動作フロー
- Codex セッション中、モデルが
nolto queue <sub> <args>でエントリを.nolto/pending.jsonlに追記(トークン不要・オフライン) - セッション終了時に Stop フックが
nolto flush --detachを実行 --detachはバックグラウンドプロセスを起動して即座に返るため、Codex のセッション終了を妨げません- バックグラウンドワーカーがキューを処理して MCP サーバーに送信
report-progress スキルとの関係
report-progress スキル(ダイレクト MCP 呼び出し)がデフォルトです。キュー+フックはオプトインの代替手段です。同じ更新に両方を使うと二重送信になります。詳細は CLI ガイドのキューセクション を参照してください。