Skip to content

putdotio/vref

Repository files navigation

vref

Visual reference CLI for curated put.io screenshots.

Build and serve static galleries from repo-local manifests so agents can inspect UI evidence before they edit.

CI npm version license

Installation

Install in an app repo that owns visual references:

pnpm add -D @putdotio/vref

Quick Start

Create a repo-local manifest and screenshots:

.vref/
  manifest.json
  screenshots/

Build the gallery:

vref build

Validate without writing index.html:

vref validate --output json
vref build --check --output json

After the owning app repo captures or updates screenshots, rebuild the gallery:

vref build

Open the gallery locally:

vref serve

Agents should inspect the command schema before automating:

vref describe --output json

When vref output is piped or captured in a non-interactive process, JSON is the default. Use --fields to keep automation responses small:

vref validate --fields screenshotCount,groupCount
vref describe --fields commands,automation

Manifest

vref reads .vref/manifest.json by default and writes .vref/index.html. Screenshot file paths are relative to .vref/ and must stay inside that directory.

{
  "version": 1,
  "title": "put.io Roku visual reference",
  "description": "Curated Roku screenshots for review and design comparison.",
  "updatedAt": "2026-05-19T13:35:00.000Z",
  "screenshots": [
    {
      "id": "home",
      "title": "Home",
      "group": "Main pages",
      "platform": "Roku",
      "device": "Roku 720p",
      "viewport": { "width": 1280, "height": 720 },
      "file": "screenshots/roku-720p/home.jpg",
      "capturedAt": "2026-05-19T13:34:00.000Z",
      "sizeBytes": 22788,
      "tags": ["home", "navigation"],
      "notes": ["Home menu with Files, Search, and Settings visible."]
    }
  ]
}

Append a screenshot entry from raw JSON without editing the manifest by hand:

vref manifest add --json '{"id":"settings","title":"Settings","group":"Main pages","platform":"Roku","device":"Roku 720p","viewport":{"width":1280,"height":720},"file":"screenshots/roku-720p/settings.jpg","capturedAt":"2026-05-19T13:35:00.000Z","sizeBytes":39716,"tags":["settings"],"notes":["Settings page."]}' --dry-run --output json

Remove --dry-run after the preview looks correct. The command only edits manifest metadata; app repos still own screenshot capture and file updates.

Docs

Contributing

See Contributing for setup, validation, and pull request expectations.

License

MIT, see License

About

Visual reference CLI for curated screenshots.

Topics

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Contributors