
Wiremock Standalone Docker
Stand up WireMock 3.5.2 in Docker with templated stubs so you can test apps against predictable HTTP APIs locally.
Overview
WireMock Standalone Docker is an agent skill for the Ship phase that provides a Dockerized WireMock 3.5.2 setup with templated HTTP stubs for integration testing.
Install
npx skills add https://github.com/giuseppe-trisciuoglio/developer-kit --skill wiremock-standalone-dockerWhat is this skill?
- Docker Compose 3.8 service on wiremock/wiremock:3.5.2 with port 8080 exposed
- Global response templating enabled for dynamic stub bodies
- curl-based healthcheck on /__healthcheck every 10s with 5 retries
- Example stubs: DELETE 403, GET urlPattern with pathSegments and {{now}} templating
- Malformed JSON response stub for client error-handling tests
- WireMock image tag 3.5.2
- Healthcheck interval 10s with 5 retries
Adoption & trust: 833 installs on skills.sh; 271 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You cannot reliably test your app against external APIs that are down, costly, or not built yet.
Who is it for?
Indie builders dockerizing services or mobile clients who need shared HTTP mocks with realistic status codes and JSON edge cases.
Skip if: Teams that only need JVM in-process WireMock in unit tests with no container workflow.
When should I use this skill?
User needs local HTTP API mocking with WireMock in Docker, stub mappings, or global response templating for development and tests.
What do I get? / Deliverables
You get a healthy local WireMock on port 8080 with stub mappings and templated responses so tests and dev clients run against deterministic HTTP behavior.
- docker-compose.yml WireMock service
- Example JSON stub mappings under ./wiremock
Recommended Skills
Journey fit
Contract and integration testing with mocks belongs in Ship when you harden behavior before release. Testing subphase covers isolated HTTP doubles, healthchecks, and failure scenarios without hitting real third-party APIs.
How it compares
Dockerized HTTP double for cross-service tests—not a replacement for production API contracts or full E2E environments.
Common Questions / FAQ
Who is wiremock-standalone-docker for?
Solo developers and small teams running API-dependent apps who want a standalone WireMock container with example mappings and healthchecks.
When should I use wiremock-standalone-docker?
During Ship testing when you stub partner APIs, simulate 403/forbidden paths, or exercise malformed JSON handling before release.
Is wiremock-standalone-docker safe to install?
Review the Security Audits panel on this Prism page; the skill pulls a public Docker image and exposes port 8080 locally—keep it off public networks in production.
SKILL.md
READMESKILL.md - Wiremock Standalone Docker
version: "3.8" services: wiremock: image: wiremock/wiremock:3.5.2 container_name: wiremock-standalone ports: - "8080:8080" volumes: - ./wiremock:/home/wiremock command: ["--global-response-templating"] healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/__healthcheck"] interval: 10s timeout: 5s retries: 5 networks: - wiremock-network # Example application that uses WireMock # app: # build: . # ports: # - "8081:8081" # environment: # - API_BASE_URL=http://wiremock:8080 # depends_on: # - wiremock networks: wiremock-network: driver: bridge { "request": { "method": "DELETE", "url": "/api/users/123" }, "response": { "status": 403, "jsonBody": { "error": "Forbidden", "message": "Insufficient permissions to perform this action" } } } { "request": { "method": "GET", "urlPattern": "/api/users/.*" }, "response": { "status": 200, "jsonBody": { "id": "{{request.pathSegments.[1]}}", "timestamp": "{{now}}", "randomUuid": "{{randomValue}}", "method": "{{request.method}}" }, "headers": { "Content-Type": "application/json", "X-Request-Id": "{{randomValue}}" } } } { "request": { "method": "GET", "url": "/api/users/malformed" }, "response": { "status": 200, "body": "{ invalid json" } } { "request": { "method": "GET", "url": "/api/users/rate-limit" }, "response": { "status": 429, "jsonBody": { "error": "Too Many Requests", "message": "Rate limit exceeded. Please retry after 60 seconds." }, "headers": { "Content-Type": "application/json", "Retry-After": "60", "X-RateLimit-Limit": "100", "X-RateLimit-Remaining": "0" } } } { "request": { "method": "GET", "url": "/api/protected" }, "response": { "status": 401, "jsonBody": { "error": "Unauthorized", "message": "Invalid or missing authentication token" }, "headers": { "Content-Type": "application/json", "WWW-Authenticate": "Bearer realm=\"api\"" } } } { "request": { "method": "GET", "url": "/api/users/error" }, "response": { "status": 500, "body": "Internal Server Error", "headers": { "Content-Type": "text/plain" } } } { "request": { "method": "GET", "url": "/api/users/999" }, "response": { "status": 404, "jsonBody": { "error": "User not found", "code": "USER_NOT_FOUND" }, "headers": { "Content-Type": "application/json" } } } { "request": { "method": "GET", "url": "/api/users/slow" }, "response": { "status": 200, "fixedDelayMilliseconds": 5000, "jsonBody": { "id": "slow", "message": "This response was intentionally delayed" } } } { "request": { "method": "GET", "url": "/api/users/123" }, "response": { "status": 200, "jsonBody": { "id": 123, "name": "Mario Rossi", "email": "mario.rossi@example.com" }, "headers": { "Content-Type": "application/json" } } } --- name: wiremock-standalone-docker description: Provides patterns and configurations for running WireMock as a standalone Docker container. Generates mock HTTP endpoints, creates stub mappings for testing, validates integration scenarios, and simulates error conditions. Use when you need to mock APIs, create a mock server, stub external services, simulate third-party APIs, or fake API responses for integration testing. allowed-tools: Read, Write, Edit, Bash, Glob, Grep --- # WireMock Standalone Docker Skill ## Overview Provides patterns for running WireMock as a standalone Docker container to mock external APIs during integration and end-to-end testing. Runs WireMock as a separate service that simulates real API behavior for testing HTTP clients