Setup decision tree
Use this page to pick packages and commands without reading every README first.
What is your goal?
Section titled “What is your goal?”Integrate story tests into an existing test suite
Section titled “Integrate story tests into an existing test suite”- Install the adapter for your framework or language (see Package map).
- Configure the reporter with
rawRunPathso CI writes RawRun JSON. - Add
executable-stories-formattersfor report generation.
| Stack | Package | Reporter config |
|---|---|---|
| Vitest | executable-stories-vitest | StoryReporter + rawRunPath |
| Jest | executable-stories-jest | Jest reporter + rawRunPath |
| Playwright | executable-stories-playwright | Playwright reporter + rawRunPath |
| Cypress | executable-stories-cypress | Cypress reporter + rawRunPath |
| Go / pytest / Ruby / Rust / JVM / .NET | language package | default .executable-stories/raw-run.json |
Quick bootstrap for JS projects: executable-stories-init.
Publish human-readable docs from CI
Section titled “Publish human-readable docs from CI”After tests write RawRun JSON:
executable-stories format reports/raw-run.json --format html,markdown --output-dir reportsFor a Starlight/Astro docs site from artifacts: executable-stories-demo or formatters init-astro — see Astro docs site.
Enable coding agents (behavior catalog)
Section titled “Enable coding agents (behavior catalog)”Emit machine artifacts in CI:
executable-stories format reports/raw-run.json \ --format story-report-json,scenario-index-json,behavior-manifest-json \ --output-dir reports \ --output-name indexOptional MCP: MCP server (executable-stories-mcp).
Full contract: Agent artifact contract.
Embed reports in a React product
Section titled “Embed reports in a React product”- Generate StoryReport JSON in CI (see above).
- Install
executable-stories-react. - Render the report in your app — see Embed reports in React apps.
Verify cross-language parity
Section titled “Verify cross-language parity”Non-JS adapters must produce RawRun compatible with the shared formatter pipeline. See Cross-language parity and run:
pnpm run verify:gopnpm run verify:pytestpnpm run verify:ruby# … etc../scripts/verify-all.shOverlap clarified
Section titled “Overlap clarified”| Package | Use it for | Not for |
|---|---|---|
executable-stories-formatters | CLI, all output formats, validation | In-test story API |
executable-stories-init | First-time JS wiring | Non-JS adapters |
executable-stories-demo | Demo/publish site from artifacts | In-process test API |
executable-stories-react | Product UI embedding | Static HTML reports (use formatters HTML) |
executable-stories-mcp | Agent query + focused runs | Replacing your test runner |
Example app scripts
Section titled “Example app scripts”Monorepo example apps include report:agents:
cd apps/vitest-example && pnpm test:reportThis runs tests, then generates StoryReport, scenario index, and behavior manifest under reports/.