Communitygithub.com

cli-anything-wiremock

Interface de linha de comando em Python para administração do servidor HTTP mock WireMock.

O que é cli-anything-wiremock?

O `cli-anything-wiremock` é uma ferramenta de linha de comando que encapsula a API REST Admin do WireMock (`/__admin/`), permitindo que agentes de IA e desenvolvedores gerenciem mapeamentos de stubs HTTP, inspecionem requisições recebidas, controlem cenários stateful e gravem tráfego real de backends — tudo diretamente do terminal ou de chamadas de ferramentas de agentes. Ele é amplamente utilizado em ambientes de teste de integração para substituir backends HTTP reais por respostas mock controláveis. A ferramenta oferece grupos de comandos como `stub`, `request`, `scenario`, `record` e `settings`, além de comandos de nível superior como `status`, `reset` e `shutdown`. Para uso em scripts ou agentes, recomenda-se o uso da flag `--json` para saída estruturada, e as configurações de conexão são definidas via variáveis de ambiente `WIREMOCK_HOST` e `WIREMOCK_PORT`. O padrão de fluxo de trabalho típico envolve configurar stubs antes do teste, executar o sistema sob teste, verificar interações e limpar após o teste.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Visão Geral

cli-anything-wiremock é uma interface de linha de comando que encapsula a API REST Admin do WireMock (/__admin/). Ela permite que agentes e desenvolvedores gerenciem mapeamentos de stubs HTTP, inspecionem requisições atendidas, controlem cenários stateful e gravem tráfego real de backends — tudo a partir do terminal ou de chamadas de ferramentas de agentes.

O WireMock é comumente usado em ambientes de teste de integração para substituir backends HTTP reais por respostas mock controláveis.

Grupos de Comandos

stub — Gerenciar mapeamentos de stubs HTTP

ComandoDescrição
stub listListar todos os stubs registrados
stub get <id>Obter detalhes de um stub específico pelo UUID
stub create <json>Criar um stub a partir de uma string JSON
stub quick M URL SCriar rapidamente um stub: MÉTODO URL STATUS_CODE
stub delete <id>Excluir um stub pelo UUID
stub resetRedefinir todos os stubs para os padrões em disco
stub savePersistir stubs em memória para o disco
stub import <file>Importar stubs de um arquivo JSON

request — Inspecionar requisições atendidas

ComandoDescrição
request listListar requisições atendidas recentes
request find <pattern>Encontrar requisições correspondentes a um padrão JSON
request count <pattern>Contar requisições correspondentes a um padrão JSON
request unmatchedListar requisições que não corresponderam a nenhum stub (404s)
request resetLimpar o diário de requisições

scenario — Gerenciamento de cenários stateful

ComandoDescrição
scenario listListar todos os cenários e estados atuais
scenario set N SDefinir cenário NOME para ESTADO
scenario resetRedefinir todos os cenários para o estado inicial

record — Gravar tráfego de um backend real

ComandoDescrição
record start <url>Iniciar proxy + gravação para TARGET_URL
record stopParar gravação, retornar stubs capturados
record statusVerificar se está gravando no momento
record snapshotCapturar requisições em memória como stubs

settings — Configurações globais do servidor

ComandoDescrição
settings getObter configurações globais atuais do WireMock
settings versionMostrar versão do servidor WireMock

Comandos de nível superior

ComandoDescrição
statusVerificar se o WireMock está em execução
resetRedefinição completa: stubs + requisições + cenários
shutdownDesligar graciosamente o servidor WireMock

Exemplos Chave

# Verificar conectividade
cli-anything-wiremock status

# Criar um stub usando formulário rápido
cli-anything-wiremock stub quick GET /api/users 200 --body '[{"id":1}]'

# Criar um stub usando JSON completo
cli-anything-wiremock stub create '{
  "request": {"method": "POST", "url": "/api/orders"},
  "response": {"status": 201, "body": "{\"id\":99}"}
}'

# Verificar se um POST foi feito exatamente uma vez
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'
# → {"count": 1}

# Cenário: avançar estado
cli-anything-wiremock scenario set "cart-flow" "item-added"

# Gravar um backend real
cli-anything-wiremock record start https://api.example.com
# ... fazer requisições ...
cli-anything-wiremock record stop

Orientações para Agentes

Use sempre --json em contextos de agente

Use --json para todas as invocações em scripts ou chamadas de ferramentas de agentes. A saída JSON varia por tipo de comando (são tipos de resposta distintos, não um envelope envolvendo todas as respostas):

# Comandos de dados retornam o JSON bruto da API WireMock diretamente:
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}

# Comandos void (delete, reset, save) retornam:
# → {"status": "ok"}

# Erros retornam:
# → {"status": "error", "message": "Connection refused"}

Conexão via ambiente

Defina os parâmetros de conexão através de variáveis de ambiente antes de chamar qualquer comando:

export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080

Padrão de fluxo de trabalho para verificação de teste

  1. Configure stubs antes de executar o sistema sob teste:
    cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}'
    
  2. Execute o sistema sob teste.
  3. Verifique interações:
    cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}'
    
  4. Limpe:
    cli-anything-wiremock reset
    

Tratamento de erros

Código de saída diferente de zero em todos os erros. No modo --json, erros retornam {"status": "error", "message": "..."}. Sucesso retorna a resposta bruta da API WireMock.

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

>-

Habilidades Relacionadas