Getting started
Install pro-visu, scaffold a config, and generate your first assets.
Set it up with Claude Code (fastest)
pro-visu ships a Claude Code plugin so an AI agent can install it and write the config for you. In Claude Code, add the marketplace and install the plugin:
/plugin marketplace add pro-laico/pro-visu
/plugin install pro-visu@prolaicoThen just ask — e.g. "set up pro-visu for this project and capture the homepage." The skill
installs the CLI, scaffolds pro-visu.config.ts, picks generators, points them at your site (or a
managed server), and runs the generate for you.
Prefer to wire it up by hand? The rest of this page is the manual path.
Install
Two ways to run it — same CLI, same generators; they differ only in how you install it and author config:
| Dev dependency (recommended) | Global / npx (no install) | |
|---|---|---|
| Install | pnpm add -D pro-visu | npm i -g pro-visu, or just npx pro-visu … |
| Config | TS pro-visu.config.ts (defineConfig) — or JSON | JSON pro-visu.config.json |
| Editor help | Full TypeScript checking + autocomplete + hover docs | Autocomplete + validation + hover docs from a generated JSON Schema |
| Version | Pinned in your lockfile → you and CI build identical assets | Floating (npx fetches latest; pin with pro-visu@x.y.z) |
| Best for | A repo you own, and CI pipelines | One-off captures, trying it out |
A TS pro-visu.config.ts needs the dev dependency because it does
import { defineConfig } from "pro-visu", which has to resolve from your project's
node_modules (both to type-check and to run). A JSON config has no import, so it works in any
mode — and pro-visu init --json generates a pro-visu.schema.json that gives editors the same
autocomplete, validation, and hover docs.
A — As a project dev-dependency (recommended):
pnpm add -D pro-visuGives you the typed defineConfig authoring experience and pins the version in your lockfile, so
you — and CI — generate byte-identical assets.
B — Without installing (npx or global):
npx pro-visu init --json # dependency-free JSON config + JSON Schema
npx pro-visu generate…or install globally (npm i -g pro-visu). No project dependency; the generated
pro-visu.schema.json still gives your editor autocomplete + validation on the JSON config.
Unreleased builds (contributing, or pinning
main): install from GitHub (pnpm add -D github:pro-laico/pro-visu), apnpm link, or afile:path — see the package README for those.
Initialise
npx pro-visu initinit is idempotent and sets up everything needed:
- writes a starter
pro-visu.config.ts(unless a config already exists) — or, with--json, apro-visu.config.jsonplus apro-visu.schema.jsonfor editor autocomplete, - creates the output directory (
pro-visu/) and adds it to.gitignore, - adds a
"pro-visu": "pro-visu generate"script topackage.json(skip with--no-script), - downloads the managed Chromium and ensures ffmpeg (skip with
--skip-browser).
The first browser download is one-time, cached, and shared across projects.
Configure
Open pro-visu.config.ts and point an asset at your site. The starter looks like this:
import { defineConfig } from "pro-visu";
const URL = "http://localhost:3101";
export default defineConfig({
settings: {
outDir: "pro-visu",
concurrency: 2,
browser: { headless: true },
defaults: {
"scroll-reel": { width: 1440, height: 900, fps: 30 },
},
},
assets: [
{ name: "home-reel", url: URL, generator: "scroll-reel" },
],
});If you scaffolded with --json, the equivalent pro-visu.config.json carries a
"$schema": "./pro-visu.schema.json" line — your editor reads it for the same autocomplete and
validation. Refresh that schema after upgrading the tool with pro-visu schema.
See Configuration for the full shape, and Generators for every asset type and its options.
Generate
Start your site (or use a deployed URL), then:
npx pro-visu generateEach asset is rendered into outDir and recorded in manifest.json. Review what was
produced with:
npx pro-visu listDon't want to start the site yourself? Configure a managed server and the CLI will build → start → capture → stop it for you, so
pro-visu generateis the only command you run.
Iterate faster
pro-visu generate --draft— lower fps/scale and a faster encoder for quick previews.pro-visu generate --asset home-reel— only (re)build named assets (repeatable).pro-visu generate --cache— skip assets whose inputs + options are unchanged.pro-visu generate --skip-build— keep the managed server but skip its build step.
See the full CLI reference.
Requirements
- Node.js (the CLI runs on Node).
- Chromium — Playwright's managed build, fetched automatically; or point at your own via
settings.browser.channel/executablePath. - ffmpeg — a working binary is ensured automatically for the video generators.