Communitygithub.com

cli-anything-wiremock

Python-CLI-Tool für die Administration des WireMock HTTP-Mock-Servers

Was ist cli-anything-wiremock?

`cli-anything-wiremock` ist ein Kommandozeilen-Tool, das die WireMock Admin REST API (`/__admin/`) kapselt. Es ermöglicht Agenten (z. B. Claude Code, Cursor, Codex) und Entwicklern, HTTP-Stub-Mappings zu verwalten, bediente Anfragen zu inspizieren, zustandsbehaftete Szenarien zu steuern und echten Backend-Datenverkehr aufzuzeichnen – alles direkt vom Terminal oder über Agent-Tool-Aufrufe. WireMock wird häufig in Integrationstests verwendet, um reale HTTP-Backends durch kontrollierbare Mock-Antworten zu ersetzen. Das Tool bietet Befehlsgruppen wie `stub`, `request`, `scenario`, `record` und `settings` sowie Top-Level-Befehle wie `status`, `reset` und `shutdown`. Es unterstützt die Ausgabe im JSON-Format (`--json`), was die programmatische Verarbeitung in Agenten-Pipelines erheblich erleichtert. Die Verbindung zum WireMock-Server wird über Umgebungsvariablen (`WIREMOCK_HOST`, `WIREMOCK_PORT`) konfiguriert. Der typische Workflow umfasst das Einrichten von Stubs, das Ausführen des zu testenden Systems, das Überprüfen von Interaktionen (z. B. Request-Zählung) und das anschließende Zurücksetzen aller Stubs und Aufzeichnungen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-wiremock

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Übersicht

cli-anything-wiremock ist ein Kommandozeilen-Tool, das die WireMock Admin REST API (/__admin/) kapselt. Es ermöglicht Agenten und Entwicklern, HTTP-Stub-Mappings zu verwalten, bediente Anfragen zu inspizieren, zustandsbehaftete Szenarien zu steuern und echten Backend-Datenverkehr aufzuzeichnen – alles direkt vom Terminal oder über Agent-Tool-Aufrufe.

WireMock wird häufig in Integrationstest-Umgebungen verwendet, um reale HTTP-Backends durch kontrollierbare Mock-Antworten zu ersetzen.

Befehlsgruppen

stub — HTTP-Stub-Mappings verwalten

BefehlBeschreibung
stub listAlle registrierten Stubs auflisten
stub get <id>Details eines bestimmten Stubs anhand der UUID abrufen
stub create <json>Einen Stub aus einem JSON-String erstellen
stub quick M URL SSchnell einen Stub erstellen: METHODE URL STATUSCODE
stub delete <id>Einen Stub anhand der UUID löschen
stub resetAlle Stubs auf die Standardeinstellungen auf der Festplatte zurücksetzen
stub saveStubs aus dem Arbeitsspeicher auf die Festplatte persistieren
stub import <file>Stubs aus einer JSON-Datei importieren

request — Bediente Anfragen inspizieren

BefehlBeschreibung
request listKürzlich bediente Anfragen auflisten
request find <pattern>Anfragen finden, die einem JSON-Muster entsprechen
request count <pattern>Anfragen zählen, die einem JSON-Muster entsprechen
request unmatchedAnfragen auflisten, die keinem Stub zugeordnet wurden (404)
request resetDas Anfrage-Journal löschen

scenario — Zustandsbehaftetes Szenarien-Management

BefehlBeschreibung
scenario listAlle Szenarien und deren aktuelle Zustände auflisten
scenario set N SSzenario NAME auf ZUSTAND setzen
scenario resetAlle Szenarien auf ihren Anfangszustand zurücksetzen

record — Datenverkehr von einem echten Backend aufzeichnen

BefehlBeschreibung
record start <url>Proxy + Aufzeichnung auf ZIEL_URL starten
record stopAufzeichnung beenden, erfasste Stubs zurückgeben
record statusPrüfen, ob gerade aufgezeichnet wird
record snapshotAnfragen aus dem Arbeitsspeicher als Stubs übernehmen

settings — Globale Servereinstellungen

BefehlBeschreibung
settings getAktuelle globale WireMock-Einstellungen abrufen
settings versionWireMock-Serverversion anzeigen

Top-Level-Befehle

BefehlBeschreibung
statusPrüfen, ob WireMock läuft
resetVollständiger Reset: Stubs + Anfragen + Szenarien
shutdownWireMock-Server kontrolliert herunterfahren

Wichtige Beispiele

# Konnektivität prüfen
cli-anything-wiremock status

# Einen Stub mit der Kurzform erstellen
cli-anything-wiremock stub quick GET /api/users 200 --body '[{"id":1}]'

# Einen Stub mit vollständigem JSON erstellen
cli-anything-wiremock stub create '{
  "request": {"method": "POST", "url": "/api/orders"},
  "response": {"status": 201, "body": "{\"id\":99}"}
}'

# Überprüfen, ob ein POST genau einmal gemacht wurde
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'
# → {"count": 1}

# Szenario: Zustand weiterschalten
cli-anything-wiremock scenario set "cart-flow" "item-added"

# Einen echten Backend-Datenverkehr aufzeichnen
cli-anything-wiremock record start https://api.example.com
# ... Anfragen stellen ...
cli-anything-wiremock record stop

Agenten-Leitfaden

Immer --json in Agenten-Kontexten verwenden

Verwenden Sie --json für alle Aufrufe in Skripten oder Agenten-Tool-Aufrufen. Die JSON-Ausgabe variiert je nach Befehlstyp (dies sind unterschiedliche Antworttypen, keine Hülle, die alle Antworten umschließt):

# Datenbefehle geben rohes WireMock-API-JSON direkt zurück:
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-Befehle (delete, reset, save) geben Folgendes zurück:
# → {"status": "ok"}

# Fehler geben Folgendes zurück:
# → {"status": "error", "message": "Verbindung abgelehnt"}

Verbindung über Umgebungsvariablen

Legen Sie die Verbindungsparameter vor dem Aufruf eines Befehls über Umgebungsvariablen fest:

export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080

Workflow-Muster für Testüberprüfungen

  1. Richten Sie Stubs ein, bevor Sie das zu testende System ausführen:
    cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
    
  2. Führen Sie das zu testende System aus.
  3. Überprüfen Sie die Interaktionen:
    cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
    
  4. Räumen Sie auf:
    cli-anything-wiremock reset
    

Fehlerbehandlung

Bei allen Fehlern wird ein Exit-Code ungleich Null ausgegeben. Im --json-Modus geben Fehler {"status": "error", "message": "..."} zurück. Im Erfolgsfall wird die rohe WireMock-API-Antwort zurückgegeben.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

Verwandte Skills