Install SDODS
One command on any operating system. It installs into ~/.sdods, adds an sdods command, and tells you what to run next. If you would rather your own package manager owned the install, the tabs below have it.
curl -fsSL https://sdods.com/install.sh | shOptions go after -s --, for example: | sh -s -- --workspace ~/my-tests --mcp claude
irm https://sdods.com/install.ps1 | iexWith options: & ([scriptblock]::Create((irm https://sdods.com/install.ps1))) -Workspace C:\my-tests
Or with a package manager you already use
Scoop
scoop bucket add sdods https://github.com/siri1410/scoop-sdodsThen: scoop install sdods — the desktop app, updated by scoop update.
brew install siri1410/sdods/sdodsInstalls the published CLI against your own Node. brew upgrade sdods updates it.
npm install -g @sdods/cliNeeds Node 22+. Currently @sdods/cli@0.10.0 — the same package the installer script fetches.
docker run --rm -p 8080:8080 -v sdods-data:/data ghcr.io/siri1410/sdods-serverThe server and web UI, browser engines included. Runs natively on Intel and Apple silicon.
sudo apt install ./SDODS-0.1.2-linux-amd64.debThe desktop app as a .deb, downloaded from the releases page first.
Or with a package manager you already use
apt repository
sudo apt update && sudo apt install sdodsAfter adding the signed SDODS repository once — the docs have the two setup lines.
Every tab above is a channel that has been checked against its registry. A package manager appears here only once the manifest is actually published to it, so nothing on this page can point at a version that does not exist.
Prefer to read it first? install.sh · install.ps1 · checksums at install.sh.sha256.
What the installer does
1.Checks Node
Needs Node 22+. Prints the exact fix for your platform, or installs it with --install-node.
2.Installs Bun
Only if you do not have it, and only inside ~/.sdods — your system stays untouched.
3.Fetches SDODS
The published @sdods/* packages into ~/.sdods. --source git builds from a clone instead.
4.Installs browsers
Chromium by default; --browsers all adds Firefox and WebKit, --browsers none skips them.
5.Writes the command
An sdods shim in ~/.local/bin. Your shell profile changes only with --modify-path.
6.Verifies
Runs sdods doctor and prints the commands to try next.
After it finishes
- Run the demo suite
cd ~/.sdods/app && sdods run -p demo-shop -e staging -l api- Try the UI layer
sdods run -p demo-shop -e staging -l ui -b chromium -t @smoke- See the results
sdods report --last --open- Open the web UI
sdods serve- Start from your app
sdods analyze /path/to/your-app --apply- Use it from your AI CLI
sdods mcp install claude # or: codex, cursor, vscode, windsurf, gemini
Add it to your AI coding agent
The installer is not needed for this: the plugin, the skills and the MCP server all run through npx.
Using an AI coding agent? Install SDODS:
Install the SDODS plugin in Claude Code: skills, subagents, commands and the MCP server.
/plugin marketplace add siri1410/sdods-skills/plugin install sdods@sdods
Common options
# scaffold a workspace and wire up Claude Code in one go
curl -fsSL https://sdods.com/install.sh | sh -s -- --workspace ~/my-tests --mcp claude
# every browser, and put sdods on PATH permanently
curl -fsSL https://sdods.com/install.sh | sh -s -- --browsers all --modify-path
# pin a release, install somewhere else
curl -fsSL https://sdods.com/install.sh | sh -s -- --version v0.2.0 --dir /opt/sdods
# see what it would do, or remove it
curl -fsSL https://sdods.com/install.sh | sh -s -- --dry-run
curl -fsSL https://sdods.com/install.sh | sh -s -- --uninstall --yesEvery flag has an environment-variable twin for Docker and CI. The full table is in the installer reference.
Starting over? Reset the web UI's users or its whole database without reinstalling: see reinstall or reset.
Requirements
Node.js 22 or newer, and about 2 GB of disk for the checkout, its dependencies and one browser. Git is used for the source install. Everything else the installer handles, and nothing is required to run tests: SDODS needs no account and no API key.