Positioning
What SDODS is at its core, and which parts are add-ons you can ignore.
SDODS does one thing at its core and offers several things around it. You can adopt the core on its own and never touch the rest.
The core: BDD, evidence, reproducibility
This is what SDODS is for, and it needs nothing but Node and your repository:
- BDD on Playwright. Gherkin features for UI, API and hybrid flows, a shared step library, page objects with heal-aware locators, and one merged fixture set so a scenario can seed through the API and assert in the browser.
- Evidence. Before/after screenshots per step (the amount set by the suite tag), API request
and response snapshots, traces, an HTML report and a dashboard for every run, under
.sdods/runs/<runId>/. - Reproducibility. One project yaml and one yaml per environment, an explainable config
precedence (
sdods config show --explain), secrets only as${VAR}, the tag taxonomy enforced bysdods lint, data and user pools, and HAR replay for offline runs. The same command gives the same run on a laptop and in CI.
The CLI is the product. Everything below spawns the same sdods commands.
Add-ons
Each of these is optional, off until you use it, and can be ignored entirely:
| Add-on | What it adds | Needs |
|---|---|---|
| Run history and insights | ingest into SQLite or Postgres: flakiness, locator fragility, suite health | a database (SQLite is zero-setup) |
| MCP server | SDODS tools for Claude Code, Cursor, VS Code and other MCP clients | an MCP client |
| Agents | plan, generate, heal, upgrade and review, writing only proposals a person accepts | an LLM provider, a local model, or --dry-run |
| Integrations | GitHub check runs, PR comments and issues; Jira issues, links and transitions | tokens for those services |
| Scheduler | cron schedules run by the server, or generated as a CI workflow | sdods serve, or your CI |
| Web UI and server | run viewer with before/after comparison, editor, proposals review, users, roles and API tokens | sdods serve |
| Desktop app | installs SDODS, starts the web UI and keeps both up to date | macOS, Windows or Linux |
Why the split matters
A tool that needs its platform to run a test is a tool you cannot leave. SDODS keeps the core free of every add-on: no database, server, account or AI provider is needed to write, run and defend a suite. The add-ons earn their place by saving time on top of that, and if one does not, you lose nothing by leaving it off.