Test Everything

The only testing framework that does integration, E2E, and visual regression testing. All without a staging environment.

Unit tests cover your logic. Browser tests cover your UI.
Dokkimi ensures everything works together seamlessly.

Terminal
brew install dokkimi/tap/dokkimi
or
npm install -g dokkimi
or stay in the loop

Built for AI

Your agent already understands your application E2E — now you can let it test it properly. Dokkimi ships with a full MCP server and auto-registers with your AI tools on install.

MCP ServerShips with a full MCP server — your AI agent can validate, run, inspect, and debug tests as native tool calls. No shell wrappers.
Zero ConfigurationAuto-registers with Claude Code, Cursor, and GitHub Copilot on install. Your agent is ready to write tests immediately.
JSON & YAML DefinitionsStructured config files that AI agents can read, write, and iterate on natively.
Full Raw OutputComplete structured output so AI can diagnose failures, diff traffic, and iterate without guessing.

Why Dokkimi?

Your existing tests are great at what they do. Dokkimi tests the parts they were never built to reach.

Test Across Your Whole Stack

Drive a real browser, hit real services, query real databases, and mock external APIs, all in one test. Assert on what the user sees and what your backend does.

Assert on What You Can't See

Intercept every HTTP call between services. Inspect database queries. Mock external APIs like Stripe and Auth0 with controlled responses. Assert on the traffic other tools never capture.

Scale the Environment to the Test

Define only what you need. One service and a mock, or your full stack with seeded databases. Seed Postgres, MySQL, MongoDB, or Redis with custom data. Every test gets its own isolated namespace.

Built for AI

Ships with a full MCP server. Your AI agent can write, validate, run, and debug tests directly. YAML/JSON definitions and structured output mean agents work with Dokkimi natively.

Every testing layer covers a piece.

Dokkimi fills in the rest.

AssertedUnobserved
Browser / FEAPI / BackendExternal APIDatabase

How It Works

Define your services, databases, and tests in simple YAML/JSON. Dokkimi handles the rest.

# .dokkimi/blog/definitions/publish-post.yaml
name: author-publish-flow
items:
  - $ref: ../shared/web-app.yaml
  - $ref: ../shared/api-gateway.yaml
  - $ref: ../shared/post-service.yaml
  - $ref: ../shared/postgres-db.yaml
  - $ref: ../shared/mock-auth0-jwks.yaml

tests:
  - name: Publish a new post
    steps:
      # Drive the browser through the publish flow
      - action:
          type: ui
          url: http://web-app:3000/posts/new
          subSteps:
            - action: type
              selector: '#title'
              value: 'My new post'
            - action: click
              selector: '[data-testid="publish-btn"]'
            - action: waitForSelector
              selector: '[data-testid="success-toast"]'
            - action: screenshot
              name: post-published
        assertions:
          # Verify the API call went through correctly
          - match:
              path: $.traffic
              where:
                - path: $$.origin
                  operator: eq
                  value: web-app
                - path: $$.request.method
                  operator: eq
                  value: POST
                - path: $$.request.url
                  operator: contains
                  value: api-gateway/v1/posts
              count: 1
            assertions:
              - path: $.match.response.status
                operator: eq
                value: 201

      # Query the database directly to verify
      - action:
          type: dbQuery
          database: postgres-db
          query: "SELECT title FROM posts WHERE title = 'My new post'"
        assertions:
          - count: $.response.data
            operator: eq
            value: 1
1
Define

Declare services, databases, mocks, and UI flows in YAML. Reference shared fragments with $ref.

2
Run

dokkimi run deploys everything into an isolated Docker environment — services, database, browser, and all.

3
Assert Everywhere

Assert on HTTP traffic between services, query the database directly, and diff screenshots against baselines for visual regression detection.

Pricing

Free to run locally and in CI. Cloud pricing coming soon.

Community

Free
  • Run on your machine with Docker
  • Unlimited test definitions and runs
  • E2E UI testing with headless Chromium
  • Visual regression with screenshot diffing
  • Traffic interception, mocks, and database assertions
  • CI/CD with the GitHub Action
  • CLI + AI agent integration
Get started

Ready to test everything?

Install Dokkimi and run your first test in minutes.

brew install dokkimi/tap/dokkimi
or read the docs to learn more