Communitygithub.com

cli-anything-wiremock

Interface en ligne de commande Python pour l'administration du serveur HTTP mock WireMock

Qu'est-ce que cli-anything-wiremock ?

`cli-anything-wiremock` est un outil en ligne de commande qui enveloppe l'API REST Admin de WireMock (`/__admin/`), permettant aux agents et développeurs de gérer les stubs HTTP, d'inspecter les requêtes servies, de contrôler des scénarios avec état et d'enregistrer le trafic réel d'un backend — le tout depuis le terminal ou depuis des appels d'outils d'agent. Cet outil est conçu pour être utilisé dans des environnements de test d'intégration où l'on remplace les backends HTTP réels par des réponses simulées contrôlables. Il est particulièrement utile pour les agents d'IA (comme Codex, Cursor, Claude Code) qui automatisent des flux de test et de développement, car il supporte un mode `--json` optimisé pour les appels d'outils. Les commandes sont organisées en groupes logiques : `stub` pour la gestion des mappings, `request` pour l'inspection des requêtes, `scenario` pour la gestion des scénarios avec état, `record` pour l'enregistrement du trafic, et `settings` pour la configuration du serveur. L'outil repose sur des variables d'environnement (`WIREMOCK_HOST` et `WIREMOCK_PORT`) pour la connexion, et retourne des codes de sortie non nuls en cas d'erreur.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Présentation

cli-anything-wiremock est une interface en ligne de commande qui enveloppe l'API REST Admin de WireMock (/__admin/). Elle permet aux agents et aux développeurs de gérer les mappings de stubs HTTP, d'inspecter les requêtes servies, de contrôler des scénarios avec état et d'enregistrer le trafic réel d'un backend — le tout depuis le terminal ou depuis des appels d'outils d'agent.

WireMock est couramment utilisé dans les environnements de test d'intégration pour remplacer les backends HTTP réels par des réponses simulées contrôlables.

Groupes de commandes

stub — Gérer les mappings de stubs HTTP

CommandeDescription
stub listLister tous les stubs enregistrés
stub get <id>Obtenir les détails d'un stub spécifique par UUID
stub create <json>Créer un stub à partir d'une chaîne JSON
stub quick M URL SCréer rapidement un stub : METHODE URL CODE_STATUT
stub delete <id>Supprimer un stub par UUID
stub resetRéinitialiser tous les stubs aux valeurs par défaut sur le disque
stub savePersister les stubs en mémoire sur le disque
stub import <fichier>Importer des stubs à partir d'un fichier JSON

request — Inspecter les requêtes servies

CommandeDescription
request listLister les requêtes récemment servies
request find <motif>Trouver les requêtes correspondant à un motif JSON
request count <motif>Compter les requêtes correspondant à un motif JSON
request unmatchedLister les requêtes n'ayant correspondu à aucun stub (404s)
request resetEffacer le journal des requêtes

scenario — Gestion des scénarios avec état

CommandeDescription
scenario listLister tous les scénarios et leurs états actuels
scenario set N SDéfinir le scénario NOM à l'état ETAT
scenario resetRéinitialiser tous les scénarios à leur état initial

record — Enregistrer le trafic depuis un backend réel

CommandeDescription
record start <url>Démarrer le proxy + l'enregistrement vers URL_CIBLE
record stopArrêter l'enregistrement, retourner les stubs capturés
record statusVérifier si l'enregistrement est en cours
record snapshotInstantané des requêtes en mémoire en tant que stubs

settings — Paramètres globaux du serveur

CommandeDescription
settings getObtenir les paramètres WireMock globaux actuels
settings versionAfficher la version du serveur WireMock

Commandes de premier niveau

CommandeDescription
statusVérifier si WireMock est en cours d'exécution
resetRéinitialisation complète : stubs + requêtes + scénarios
shutdownArrêter gracieusement le serveur WireMock

Exemples clés

# Vérifier la connectivité
cli-anything-wiremock status

# Créer un stub avec la forme rapide
cli-anything-wiremock stub quick GET /api/users 200 --body '[{"id":1}]'

# Créer un stub avec du JSON complet
cli-anything-wiremock stub create '{
  "request": {"method": "POST", "url": "/api/orders"},
  "response": {"status": 201, "body": "{\"id\":99}"}
}'

# Vérifier qu'un POST a été fait exactement une fois
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'
# → {"count": 1}

# Scénario : avancer dans l'état
cli-anything-wiremock scenario set "cart-flow" "item-added"

# Enregistrer un backend réel
cli-anything-wiremock record start https://api.example.com
# ... faire des requêtes ...
cli-anything-wiremock record stop

Conseils pour les agents

Toujours utiliser --json dans les contextes agents

Utilisez --json pour toutes les invocations dans les scripts ou les appels d'outils d'agent. La sortie JSON varie selon le type de commande (ce sont des types de réponse distincts, pas une enveloppe qui englobe toutes les réponses) :

# Les commandes de données retournent directement le JSON brut de l'API WireMock :
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}

# Les commandes de type vide (delete, reset, save) retournent :
# → {"status": "ok"}

# Les erreurs retournent :
# → {"status": "error", "message": "Connection refused"}

Connexion via l'environnement

Définissez les paramètres de connexion via des variables d'environnement avant d'appeler une commande :

export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080

Modèle de workflow pour la vérification de tests

  1. Configurer les stubs avant d'exécuter le système testé :
    cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
    
  2. Exécuter le système testé.
  3. Vérifier les interactions :
    cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
    
  4. Nettoyer :
    cli-anything-wiremock reset
    

Gestion des erreurs

Code de sortie non nul en cas d'erreur. En mode --json, les erreurs retournent {"status": "error", "message": "..."}. En cas de succès, la réponse brute de l'API WireMock est retournée.

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

>-

Skills associés