Quickstart
This guide walks you through recording your first demo, uploading it, and sharing it.
Prerequisites
- Rust toolchain installed
- Google Chrome or Chromium installed
- A Stepshots account
Steps
Install the CLI
cargo install stepshots-cliVerify the installation:
stepshots --versionInitialize a config
In your project directory, run:
stepshots initThis creates a stepshots.config.json with a sample tutorial. Edit it to point at your app:
{
"baseUrl": "https://your-app.com",
"viewport": { "width": 1280, "height": 800 },
"defaultDelay": 500,
"tutorials": {
"onboarding": {
"url": "/",
"title": "Onboarding Flow",
"steps": [
{ "action": "click", "selector": "button.get-started" },
{ "action": "type", "selector": "input[name='email']", "text": "user@example.com" },
{ "action": "click", "selector": "button[type='submit']" }
]
}
}
}Record the demo
stepshots recordThe CLI launches headless Chrome, runs the configured flow, and saves screenshots into a .stepshot bundle in the output/ directory. This works best for stable, predictable steps.
Use stepshots preview onboarding to watch the recording in a visible browser window before committing.
Upload to Stepshots
stepshots upload output/onboarding.stepshot --token YOUR_API_KEYOr set STEPSHOTS_TOKEN as an environment variable and omit the --token flag. See API Keys to generate one.
Edit and share
Open the Stepshots dashboard, find your demo, and use the overlay editor to add highlights, callouts, or blur regions.
When you're ready, toggle visibility to **Public** and copy the viewer link to share it.
What's Next
- Configuration — Full config file reference
- Recording — How recording works under the hood
- Overlay Editor — Learn all the editor tools