Configuration File Structure
Webreel uses awebreel.config.json file to define video recordings. The config includes global defaults and a videos object mapping video names to their configurations.
JSON Schema Support
Include a$schema field for IDE autocompletion and validation:
Top-Level Fields
JSON Schema URL for IDE autocompletion. Use
https://webreel.dev/schema/v1.json.Default output directory for all videos. Can be overridden per-video with the
output field.Prepended to relative video URLs. Useful for recording multiple pages on the same domain.
Default browser viewport dimensions. Accepts an object with
width and height, or a preset name.Default cursor and HUD overlay customization. See Theme Customization.
Sound effects configuration for click and key events.
Array of paths to JSON files containing steps. These steps are prepended to all videos.Example
steps/dismiss-cookie-banner.json:Default delay in milliseconds to wait after each step (except
pause). Can be overridden per-video or per-step.Milliseconds to pause between mouse-down and mouse-up during clicks. Affects visual timing of click animations.
Object mapping video names to their configurations. See Video Options.
Configuration Inheritance
Per-video fields inherit from top-level defaults:baseUrl- Videos use top-levelbaseUrlunless they define their ownviewport- Videos use top-levelviewportunless they define their owntheme- Videos use top-levelthemeunless they define their ownsfx- Videos use top-levelsfxunless they define their owndefaultDelay- Videos use top-leveldefaultDelayunless they define their ownclickDwell- Videos use top-levelclickDwellunless they define their owninclude- Videos use top-levelincludeunless they define their own
Complete Example
Creating a Config File
Use theinit command to scaffold a new config: