Skip to content

Roadmap

Scenarist is evolving based on community needs. This page outlines planned features we’re considering. We’re waiting for community feedback before building these—if something here would help your workflow, let us know!

Status: Planned — awaiting community feedback

We’re exploring a browser-based developer tool for scenario management. Think React Query DevTools—a floating panel that lets you inspect and control state—but for scenarios, and framework-agnostic (not React-specific).

A floating panel in your browser that lets you:

  • See active scenario — Know exactly which scenario is active for the current session
  • Switch scenarios instantly — Click to change scenarios without touching code or restarting the server
  • Browse available scenarios — See all registered scenarios with their descriptions
  • Explore scenario details — Inspect what each scenario mocks before switching to it
┌─────────────────────────────────────────────────┐
│ Scenarist DevTools [−] [×] │
├─────────────────────────────────────────────────┤
│ Active: premium-user │
│ ───────────────────────────────────────────── │
│ Available Scenarios: │
│ │
│ ○ default Happy path baseline │
│ ● premium-user Premium tier with all │
│ features unlocked │
│ ○ payment-declined Card declined at checkout │
│ ○ api-timeout External APIs are slow │
│ ○ rate-limited API returns 429 │
│ │
│ [View Details] [Switch Scenario] │
└─────────────────────────────────────────────────┘

Local Development

Quickly explore different application states while developing. See how your UI handles premium users, error states, or edge cases without mocking code changes.

Stakeholder Demos

Product owners and stakeholders can explore different scenarios during demos. “Let me show you the premium user experience” — click, done.

Design Reviews

Designers can see how their work looks with different data states. Empty states, error states, loading states — all accessible without code.

Framework-Agnostic Unlike React-specific devtools, Scenarist DevTools would work with any framework—React, Vue, Svelte, Angular, Solid, or vanilla JavaScript. The tool communicates with your Scenarist server, not with framework internals.

Non-Production by Default The DevTools would only be available in development and testing environments. Your production bundle stays clean with zero overhead. Optionally, you could enable it in staging environments for stakeholder demos.

Simple Integration A single script tag or import—that’s it. No complex configuration. The tool discovers your scenarios automatically from the server.

Before we build this, we want to hear from you:

  • Would this tool help your workflow?
  • What features are most important to you?
  • Would you use it primarily for development, testing, or demos?
  • What frameworks are you using?

Share your thoughts on GitHub →


Status: Planned — prioritized by community demand

Scenarist currently supports Express and Next.js (App Router and Pages Router). We’re planning adapters for additional frameworks to bring scenario-based testing to more ecosystems.

SvelteKit

Full support for SvelteKit’s server-side rendering and API routes.

Angular

Adapter for Angular Universal and Angular SSR applications.

Solid Start

Support for Solid’s meta-framework with SSR and API routes.

Remix

Adapter for Remix loaders and actions.

Nuxt

Support for Nuxt’s server routes and SSR.

Hono

Lightweight adapter for Hono’s multi-runtime framework.

We’ll prioritize adapters based on community demand. If you’re using a framework not listed here, or want to see a specific adapter prioritized, let us know!

Request an adapter on GitHub →


Status: Planned — awaiting community feedback

Scenarist currently provides first-class Playwright fixtures with type-safe scenario switching and automatic test ID handling. We’re planning equivalent support for Cypress.

Type-Safe Scenarios

Autocomplete for scenario IDs, compile-time validation, and full TypeScript support—just like our Playwright fixtures.

Automatic Test Isolation

Each Cypress test gets a unique test ID. Run tests in parallel with different scenarios, no conflicts.

Custom Commands

cy.switchScenario('premium-user') — simple, readable commands that handle all the HTTP plumbing.

Intercept Integration

Works alongside Cypress’s cy.intercept() for browser-side mocks while Scenarist handles server-side scenarios.

cypress/support/e2e.ts
import { withScenarios } from '@scenarist/cypress-helpers';
import { scenarios } from '../../lib/scenarios';
withScenarios(scenarios);
// cypress/e2e/checkout.cy.ts
describe('Checkout', () => {
it('shows premium pricing for premium users', () => {
cy.switchScenario('premium-user'); // Type-safe! Autocomplete works
cy.visit('/checkout');
cy.contains('Premium Plan').should('be.visible');
cy.contains('$99.00').should('be.visible');
});
it('handles payment failure gracefully', () => {
cy.switchScenario('payment-declined');
cy.visit('/checkout');
cy.get('[data-testid="pay-button"]').click();
cy.contains('Payment declined').should('be.visible');
});
});

If you’re using Cypress and want first-class Scenarist support:

  • What features are most important to you?
  • How do you currently handle scenario switching in Cypress?
  • Would you prefer custom commands, fixtures, or a different API?

Share your Cypress use case on GitHub →


Scenarist is open source. If you’re interested in contributing to any of these features—or proposing new ones—we’d love to collaborate.


While we work on future features, Scenarist already provides:

Get started with Scenarist →