はじめに
v0.4.0 では export/import や schema diff など、運用寄りの機能を中心に追加していました。今回の v0.6.0 では、その延長として、AIエージェントやCIから使うときの迷いや誤操作を少し減らせないか、という観点で改善を入れています。
大きくは、taskコマンドの追加、dry-run出力への確認メタデータ追加、そして agent eval テストの整備という3点です。
今回の変更点
1. taskコマンドを追加
「何をしたいか」から実行手順を引けるように、taskコマンドを追加しました。
microcms task list --json
microcms task suggest "delete content" --json
microcms task guide content-delete --jsontask suggest では dry-run を含む手順候補を返し、task guide では runbook 形式で手順を返すようにしています。実行前の迷いを減らす、という目的に合いやすい機能だと感じています。
2. dry-run 出力に確認メタデータを追加
書き込み系の dry-run 結果に、次のメタデータを含めるようにしました。
requiresConfirmationriskLevelconfirmationReason
たとえば content delete や media delete は確認が必要な操作として返るため、エージェント側で人間確認フローを組みやすくなる場面がありそうです。
microcms content delete tech_articles <id> --dry-run --json
microcms media delete --url <media-url> --dry-run --json3. agent eval テストを追加
taskコマンドと確認メタデータが将来の改修で崩れないように、e2eテストを追加しました。
tests/e2e/task-command.test.tstests/e2e/agent-workflow-eval.test.ts
機能を増やすだけでなく、運用時の前提を維持することにも意味があると考えています。
なぜこの改善を入れたのか
背景としては、機能が増えるほど初手のコマンド選択が難しくなりやすいこと、safe run(dry-run先行)を利用者の注意だけに依存すると事故につながりやすいこと、そして自動実行時に人間確認ポイントを明示しないと運用しづらいことがありました。
そのあたりをCLIの標準出力で補えるようにする、というのが今回の狙いです。
どういう場面で効きそうか
たとえば削除系の操作では、次のような流れを固定しやすくなります。
microcms task guide content-delete --json
microcms content delete tech_articles <id> --dry-run --json
# requiresConfirmation=true を見て人間確認
microcms content delete tech_articles <id> --json手順取得・確認判定・最終実行がつながるので、運用をコード化しやすくなるかもしれません。
まとめ
v0.6.0 は、機能追加というより、運用時の迷いと事故を減らすための地ならしに近いアップデートになりました。task導線、確認要否の機械可読化、挙動を守るテストの3点をそろえることで、mcms-cliを運用基盤として使いやすくしていく試みです。