Integration testing platform using Vers VM branching. Use when user needs to test service integrations, compose multi-service stacks, run integration test matrices, deploy integrated systems, or manage complex testing environments. Activate for keywords: integration testing, service composition, microservices testing, API integration, end-to-end testing, staging environment, deployment, preview environments, chaos testing.
Branch VMs to run multi-service integration tests in parallel, then deploy passing branches to staging. Use when testing service compositions, API integrations, or creating preview environments.
/plugin marketplace add hdresearch/vers-integration-plugin/plugin install hdresearch-vers-integration-testing@hdresearch/vers-integration-pluginThis skill inherits all available tools. When active, it can use any tool Claude has access to.
COMPOSITION-PATTERNS.mdDEPLOYMENT-GUIDE.mdSERVICE-CATALOG.mdTESTING-STRATEGIES.mdTROUBLESHOOTING.mdVers transforms integration testing from a slow, painful process into a fast, parallelizable workflow. By capturing complete system state—multiple services, their data, network connections, and running processes—you can branch at any point and test integrations in parallel.
Traditional integration testing:
Start Postgres → Start Redis → Start App → Seed Data → Test A → Teardown ALL
Start Postgres → Start Redis → Start App → Seed Data → Test B → Teardown ALL
(15 minutes repeated per test suite!)
Vers integration testing:
Start All Services → Seed Data → [Checkpoint: "integration-ready"]
├── Branch → Test Suite A (instant)
├── Branch → Test Suite B (instant)
├── Branch → Test Suite C (instant)
└── Branch → Deploy to Staging (instant)
/vers-integration-init my-saas-app --template saas-starter
This creates vers-integration.yaml where you declare:
/vers-integration-add postgres@15 --databases app,analytics
/vers-integration-add redis@7 --maxmemory 256mb
/vers-integration-add stripe-mock --webhook http://localhost:3000/hooks
Each service is added to your manifest and validated for compatibility.
vers integration up
This:
services-readyvers connect
> npm run db:seed
> npm run setup:test-users
> exit
vers commit --tag "seeded-ready-for-testing"
# Create branches for each test scenario
vers integration test --parallel
# This automatically:
# 1. Creates branch for each test suite defined in manifest
# 2. Runs tests in parallel across branches
# 3. Collects results from all branches
# 4. Reports aggregated pass/fail
# Promote a tested branch to hosted environment
vers integration deploy staging --branch tests-passed
# This:
# 1. Takes the exact VM state from that branch
# 2. Deploys it to vers.sh hosted infrastructure
# 3. Configures networking/domain
# 4. Returns live URL
# Initialize integration project
vers integration init <name> [--template <template>]
# Add services
vers integration add <service@version> [--config key=value...]
# Start/stop services
vers integration up [--services <list>]
vers integration down
# Run tests
vers integration test [--suite <name>] [--parallel]
vers integration matrix # Test all version combinations
# Deploy
vers integration deploy <environment> [--branch <name>]
vers integration preview create <name> # PR preview environments
# Share
vers integration publish <name> [--public]
vers integration import <user>/<name>
name: my-integration
version: 1.0.0
vm:
memory_mib: 4096
vcpu: 2
storage_mib: 10000
services:
postgres:
template: postgres@15
config:
databases: [app, analytics]
extensions: [uuid-ossp]
healthcheck:
command: pg_isready
redis:
template: redis@7
config:
maxmemory: 256mb
app:
build: .
depends_on: [postgres, redis]
healthcheck:
command: curl localhost:3000/health
tests:
unit:
command: npm run test:unit
integration:
command: npm run test:integration
depends_on: [postgres, redis]
e2e:
command: npm run test:e2e
branches:
- name: happy-path
env: { SCENARIO: success }
- name: error-path
env: { SCENARIO: failure }
checkpoints:
- name: services-ready
after: services.*.healthcheck
- name: seeded
after: scripts/seed.sh
deploy:
staging:
target: vers.sh/hosted
domain: staging.myapp.vers.sh
production:
target: vers.sh/hosted
domain: myapp.vers.sh
| Service | Versions | Purpose |
|---|---|---|
| postgres | 13, 14, 15, 16 | Primary database |
| mysql | 5.7, 8.0 | Primary database |
| mongodb | 5, 6, 7 | Document store |
| redis | 6, 7 | Cache/sessions |
| elasticsearch | 7, 8 | Search |
| kafka | 3.x | Event streaming |
| rabbitmq | 3.x | Message queue |
| stripe-mock | latest | Payment testing |
| oauth-mock | latest | Auth testing |
| localstack | latest | AWS mocking |
| mailhog | latest | Email testing |
Use this approach when:
Don't use when:
Use when working with Payload CMS projects (payload.config.ts, collections, fields, hooks, access control, Payload API). Use when debugging validation errors, security issues, relationship queries, transactions, or hook behavior.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.