SDODS

Introduction

What SDODS is, what it wraps, and how its pieces fit together.

What you'll learn

What SDODS is, which problems it takes off your plate, the CLI-first principle that shapes every feature, and how the packages fit together.

SDODS is open-source BDD test automation for UI and API that leaves evidence behind every run: before/after screenshots, the requests that produced them, and a history of every run. You write scenarios in Gherkin, keep one YAML file per project and one per environment, and drive everything from the sdods command line. The same commands power the web UI, the MCP server and the scheduler.

Using an AI coding agent? Install SDODS:

Install the SDODS plugin in Claude Code: skills, subagents, commands and the MCP server.

  1. /plugin marketplace add YarlisAISolutions/sdods-skills
  2. /plugin install sdods@sdods
Every tool, the MCP endpoint and skills

What it gives you

ConcernA bare test runnerWith SDODS
UI, API and hybrid scenariosseparate test files, separate fixturesone merged fixture set; one scenario can seed through the API and assert in the browser
Many applications and environmentsone hand-written configprojects/<slug>/sdods.project.yaml and envs/<env>.yaml, generating a run target per project × layer × browser
Configurationenvironment variables and codesix layers with fixed precedence, validated, explainable with sdods config show --explain
Test dataad hocCSV, JSON, YAML, database tables and factories per environment; user pools leased per worker
ResultsHTML reportbefore/after screenshots per step, API snapshots, run history in SQLite or Postgres, insights
Resiliencenonescored self-healing locators with persisted history
Tooling around testsnoneMCP server, AI agents that write reviewable proposals, GitHub and Jira, cron schedules, web UI

The CLI-first principle

Every capability is an sdods command that works with no server and no database. The web UI, the MCP server and the scheduler spawn those commands and stream their output. CI needs nothing but Node and the repository.

bun run sdods run -p demo-shop -e staging -l api
bun run sdods run -p demo-shop -e staging -l ui -b chromium -t @smoke

How it works

Packages

PackageOwns
@sdods/contractsZod schemas for the YAML files, identifiers, attachment names, scopes, shared types
@sdods/coreconfiguration, project registry, fixtures, step library, data providers, screenshots, self-healing, recorder, lint, reporters
@sdods/dbKysely schema, migrations, ingest, insights
@sdods/mcptool registry and MCP transports
@sdods/integrationsGitHub and Jira providers
@sdods/agentsLLM adapters, agent roles, proposals
@sdods/serverREST, SSE, /mcp, authentication, scheduler
@sdods/webthe React application
@sdods/clithe sdods command

The test workers, vitest and the native database drivers run on Node 22. Bun is the package manager, script runner and bundler; pnpm works too. Nothing executes tests under Bun.

Status

All fourteen phases are implemented and verified; the roadmap walks them as five delivered chapters, with the numbers each claim rests on and the twelve months ahead. What is still open is listed on the known limitations page. SDODS is released: @sdods/cli and the other @sdods/* packages are on npm, each version has a GitHub release, and the server is published as a container image on GHCR. See Installation.

The web UI run view: scenario tree grouped by module with flaky, healed and browser badges
A run in the web UI. Every action it offers is an sdods command.

Next steps

Using an AI coding agent? Install SDODS:

Install the SDODS plugin in Claude Code: skills, subagents, commands and the MCP server.

  1. /plugin marketplace add YarlisAISolutions/sdods-skills
  2. /plugin install sdods@sdods
Learn more about using SDODS with AI tools

On this page