verify

Featured

Drive an engine app headlessly in a pty, record a video of the whole verification, and open a summary page (video + timeline + checks) with pixel open.

Web & Frontend 2,856 stars 134 forks Updated today MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

Apps here render via the kitty graphics protocol, so they can be verified without a real terminal. Every verification is **recorded**: the harness in `tools/verify-recorder/` captures every frame the app emits, overlays your inputs (click ripples, caption bar), encodes a video, and generates a summary page. Do not hand-roll one-off pty scripts that only dump PNGs. ## Writing a verification Write a driver script (in /tmp is fine) using the checked-in package: ```python import sys sys.path.insert(0, "<repo>/tools/verify-recorder") from driver import Driver from recorder import Recorder rec = Recorder("wheel-pan", title="Wheel pan keeps cursor anchored") d = Driver(["<repo>/engine/target/debug/typing"], rec, cols=120, rows=32, xpixel=1200, ypixel=800) d.pump(3.0) # pump between actions so frames arrive rec.check("app painted", d.frame_size is not None, f"{d.frame_size}") w, h = d.frame_size # REAL framebuffer size — always use this d.text("hello", "type into editor") # every input takes a description d.click(w // 2, h // 3, "select the note") # mouse coords are pixels (1016 mode) d.wheel(w // 2, h // 2, down=True, n=3, description="scroll content") d.pump(1.0) rec.check("scroll redrew", len(rec.frames) > 40, f"{len(rec.frames)} frames") rec.still("after-scroll") # named snapshot for the summary page d.stop("ctrl+c") # or "ctrl+q" depending on the ...

Details

Author
zenbu-labs
Repository
zenbu-labs/terminal-browser
Created
2 months ago
Last Updated
today
Language
Rust
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

Code & Development Listed

app-verify

Drive a running or deployed web app end-to-end as a real user to catch bugs that automated tests and typechecks miss: pages that return HTTP 200 but render wrong, forms that POST 200 yet never save, stat cards that are hardcoded fakes, reports fed by dead database columns, and silent data-layer failures (access rules hiding rows, swallowed query errors, wrong DB identity or connection) — for any framework and any datastore. Also verifies deployments against the live server: build gate, push, deploy, health check, commit match. Use whenever the user wants to verify prod, smoke test the app, QA the app, test every page or tab, check the app as a user, confirm a deploy shipped, ask if production is healthy, or sweep the whole app for what's broken — even if they never say the word "test", and right after any deploy. Do NOT use for: running an existing unit/integration test suite, fixing a typecheck or build error, scoring code quality (that's a "health" check), reviewing a PR diff, setting up CI, debugging one k

0 Updated 1 months ago
nikhilkyn-png
AI & Automation Listed

verify

Drive the real Electron app headlessly with Playwright to verify renderer changes (md viewer, terminal, viewer bands) by screenshot.

4 Updated today
albertwujj
Testing & QA Listed

verify

Verify an engine change end-to-end by rendering the bundled fixture (examples/local-demo) and inspecting the output MP4 and intermediates. Use when the user says "verify", "run the smoke test", "e2e this change", "does the fixture still render", or before committing a nontrivial engine change. Knows the gotchas: OPENAI_API_KEY (or a local OPENAI_BASE_URL server) is needed for voice/captions but not probe/record/compose, stage-by-stage re-runs beat full re-renders, AIDEMO_KEEP_TMP=1 keeps .compose-tmp for compose debugging, logs/fail-*.png from failed takes. Do NOT use for: recording real product demos (use record-demo) or doc-only changes with no runtime surface.

7 Updated yesterday
tandryukha