Skip to content

Open source · Apache-2.0 · BDD for UI and API

Release evidence, not just green checks

SDODS runs BDD tests for UI and API flows and leaves the proof behind: before/after screenshots of every step, the requests that produced them, and a history of every run. Anyone on the team can say yes to a release.

or read the source on GitHub

Install in one line on macOS, Linux or Windows. Only Node 22 is required.

curl -fsSL https://sdods.com/install.sh | sh

What a run leaves behind

Confidence to ship is usually scattered across a green pipeline, a manual check and a screenshot in a ticket. SDODS turns it into evidence anyone can point at: every scenario tied to a business capability, every run reproducible from one command, every regression explained by the screenshots and requests that produced it. These are real captures from the demo project.

SauceDemo login form filled in, before the login button is clicked
Before: login form, credentials filled
SauceDemo inventory page after the login step
After: inventory page, logged in
SDODS run viewer showing the step timeline with a before/after comparison
Run viewer: step timeline with a slider, overlay and pixel diff, beside the API panels

What ships in the box

UI, API and hybrid in one language

Gherkin with one merged fixture set, so a scenario can seed through the API and assert in the browser.

Before/after narratives

A screenshot before and after every UI step, API request/response snapshots and visual baselines, chosen per suite tag.

Self-healing locators

Scored candidate probes, persisted heal history, proposals to fix page objects.

Many apps, many environments

One YAML per project plus one per environment, explainable precedence, secrets only through ${VAR}.

Data and user pools

CSV, JSON, YAML, database tables and faker factories per environment; accounts leased per worker with login-state reuse.

Every browser you ship to

Chromium, Edge, Firefox, WebKit and mobile emulation; --project-matrix runs them all, and lint validates @skip:<browser>.

Run history that remembers

Results in SQLite or Postgres: flakiness, locator fragility, environment stability and suite health over time.

MCP server and agents

86 tools for Claude Code, Codex, Cursor, VS Code, Gemini CLI and any MCP client; a Claude Code plugin; planner, generator, healer, upgrader.

CI, GitHub and Jira

Check runs, PR comments, deduplicated issues and @jira:KEY links; cron schedules from the server, crontab, systemd or Actions; a web UI with roles.

How it works

Everything is CLI-first. The web UI, the MCP server and the scheduler spawn the same commands and stream their output, so CI needs nothing but Node and the repository.

  1. sdods CLI
  2. Config + registry
  3. Browser runs
  4. NDJSON + screenshots
  5. SQLite / Postgres
  6. Web UI · MCP · agents

Your first run

sdods init scaffolds a workspace with a demo project, so the first run needs nothing of yours.

sdods init ~/my-tests && cd ~/my-tests
sdods run -p demo-shop -e staging -l api
sdods run -p demo-shop -e staging -l ui -b chromium -t @smoke

Options, upgrade and uninstall are on the install page and in the installation guide.

Works with your AI coding tools

Claude Code, Codex, Cursor, VS Code, Gemini CLI, Windsurf and any MCP client. Install the plugin or the skills, then ask your assistant to plan, write, run, heal or review tests. Agents reuse your logged-in CLI session, so no API key is required.

A team can also share one SDODS server and connect every assistant to its /mcp endpoint with a scoped token. The AI coding tools guide covers each client.

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

Support SDODS

SDODS is free and open source — Apache-2.0 on npm, unlimited API tokens, no paid tier. If it saves your team time, support its development and help keep it that way.

Want a feature? Tell us.

Feature requests and feedback go straight to the maintainers as GitHub issues and discussions. No account with us needed.

Send feedback