One line. Everything wired.
That single call registers all DevTools middleware and input handlers. Press 1 through 6 to toggle each tool.
DevToolsHandle with destroy() for clean teardown
WCAG Accessibility Audit
Real-time contrast checking across every rendered cell. Flags WCAG AA violations (below 4.5:1), invisible text (below 1.5:1), and optionally AAA violations (below 7:1). Caches contrast ratios per unique color pair.
Violation Types
How It Works
- -- Scans every cell in the rendered buffer
- -- Caches contrast ratios per unique fg/bg pair (up to 4096 entries)
- -- Scans every 10 frames by default to limit overhead
- -- Violations get a red underline in the terminal
- -- Summary bar shows score, violations, unique color pairs
Audit Output
DevTools Overlay
A multi-panel debug overlay rendered at the bottom of the screen. Four tabs for inspecting every aspect of your running app -- tree structure, computed styles, performance metrics, and input events.
Four Panels
Collapsible component hierarchy. Shows element type, key, and layout dimensions. Selected element gets a highlight border in the main view above.
Computed props and layout for the selected element: position, size, flexDirection, padding, color, and all style props.
FPS sparkline, paint/diff/flush timing breakdown, cells changed count and percentage, budget bar showing frame time vs 16.67ms target.
Ring buffer of recent input events with type (key/mouse/paste/resize), detail, and relative timestamp.
Controls
Overlay Preview
Post-mortem diagnostics
On unhandled exception, unhandled rejection, or fatal signal, Storm auto-saves a synchronous JSON file with everything needed to debug the crash -- even when it only happens in production.
Crash Log Contains
Enabled by default with enableDevTools(). Disable with { crashLog: false }. Custom directory with { crashLogDir: "./crashes" }.