cli-anything-wiremock について
cli-anything-wiremockは、開発者やエージェントがWireMock Admin REST APIを操作するコマンドラインツールです。HTTPスタブの管理、リクエストの確認、シナリオ制御、バックエンド通信の記録ができます。
主な機能
- 01HTTPスタブマッピングの管理
- 02処理済みリクエストの確認
- 03一致するリクエストの検索と集計
- 04ステートフルシナリオの制御
- 05実バックエンド通信の記録
- 06サーバー設定と状態の確認
活用シーン
- 01統合テスト用のモック応答設定
- 02システムテスト中のリクエスト確認
- 03未一致リクエストと通信の検証
- 04実バックエンド通信からのスタブ作成
MCP 対応
エージェントのツール呼び出しからWireMockを管理できます。入力にはMCPサーバーや接続についての記載はありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-wiremockインストール後、Claude Code で/cli-anything-wiremockを入力して読み込まれたか確認します。
詳細
概要
cli-anything-wiremock は、WireMock Admin REST API (/__admin/) をラップするコマンドラインインターフェイスです。エージェントや開発者が、HTTP スタブマッピングの管理、処理されたリクエストの検査、ステートフルなシナリオの制御、実際のバックエンドトラフィックの記録を、すべてターミナルまたはエージェントのツール呼び出しから行えるようにします。
WireMock は一般に、実際の HTTP バックエンドを制御可能なモックレスポンスで置き換えるために、統合テスト環境で使用されます。
コマンドグループ
stub — HTTP スタブマッピングを管理する
| コマンド | 説明 |
|---|---|
stub list | 登録されているすべてのスタブを一覧表示する |
stub get <id> | UUID で特定のスタブの詳細を取得する |
stub create <json> | JSON 文字列からスタブを作成する |
stub quick M URL S | スタブをすばやく作成する: METHOD URL STATUS_CODE |
stub delete <id> | UUID でスタブを削除する |
stub reset | すべてのスタブをディスク上のデフォルトにリセットする |
stub save | インメモリのスタブをディスクに永続化する |
stub import <file> | JSON ファイルからスタブをインポートする |
request — 処理されたリクエストを検査する
| コマンド | 説明 |
|---|---|
request list | 最近処理されたリクエストを一覧表示する |
request find <pattern> | JSON パターンに一致するリクエストを検索する |
request count <pattern> | JSON パターンに一致するリクエストをカウントする |
request unmatched | どのスタブにも一致しなかったリクエスト (404) を一覧表示する |
request reset | リクエストジャーナルをクリアする |
scenario — ステートフルなシナリオ管理
| コマンド | 説明 |
|---|---|
scenario list | すべてのシナリオと現在の状態を一覧表示する |
scenario set N S | シナリオ NAME を STATE に設定する |
scenario reset | すべてのシナリオを初期状態にリセットする |
record — 実際のバックエンドからトラフィックを記録する
| コマンド | 説明 |
|---|---|
record start <url> | TARGET_URL へのプロキシ + 記録を開始する |
record stop | 記録を停止し、キャプチャしたスタブを返す |
record status | 現在記録中かどうかを確認する |
record snapshot | インメモリのリクエストをスタブとしてスナップショットする |
settings — グローバルサーバー設定
| コマンド | 説明 |
|---|---|
settings get | 現在のグローバルな WireMock 設定を取得する |
settings version | WireMock サーバーのバージョンを表示する |
トップレベルコマンド
| コマンド | 説明 |
|---|---|
status | WireMock が実行中かどうかを確認する |
reset | 完全リセット: スタブ + リクエスト + シナリオ |
shutdown | WireMock サーバーを正常にシャットダウンする |
主な例
# Check connectivity
cli-anything-wiremock status
# Create a stub using quick form
cli-anything-wiremock stub quick GET /api/users 200 --body '[{"id":1}]'
# Create a stub using full JSON
cli-anything-wiremock stub create '{
"request": {"method": "POST", "url": "/api/orders"},
"response": {"status": 201, "body": "{\"id\":99}"}
}'
# Verify a POST was made exactly once
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'
# → {"count": 1}
# Scenario: advance state
cli-anything-wiremock scenario set "cart-flow" "item-added"
# Record a real backend
cli-anything-wiremock record start https://api.example.com
# ... make requests ...
cli-anything-wiremock record stop
エージェント向けガイダンス
エージェントのコンテキストでは常に --json を使用する
スクリプトやエージェントのツール呼び出しでのすべての実行には --json を使用してください。JSON 出力はコマンドの種類によって異なります (これらはすべてのレスポンスを包むエンベロープではなく、それぞれ異なるレスポンスの種類です):
# Data commands return raw WireMock API JSON directly:
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
# → {"id": "abc-123", "request": {...}, "response": {...}, ...}
cli-anything-wiremock --json stub list
# → {"mappings": [...], "total": N}
# Void commands (delete, reset, save) return:
# → {"status": "ok"}
# Errors return:
# → {"status": "error", "message": "Connection refused"}
環境変数による接続
コマンドを呼び出す前に、環境変数で接続パラメータを設定してください:
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
テスト検証のワークフローパターン
- テスト対象システムを実行する前にスタブをセットアップします:
cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}' - テスト対象システムを実行します。
- インタラクションを検証します:
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}' - クリーンアップします:
cli-anything-wiremock reset
エラーハンドリング
すべてのエラーで終了コードは非ゼロになります。--json モードでは、エラーは {"status": "error", "message": "..."} を返します。成功時は WireMock API の生のレスポンスを返します。