hyperframes-cli

ساخت، بررسی و رندر ویدیوهای HTML با HyperFrames از طریق CLI.

این Skill گردش‌کار کامل HyperFrames را از ساخت پروژه و بررسی کد تا مشاهده فریم‌ها، ویرایش timeline، preview و render مدیریت می‌کند. همچنین می‌تواند پروژه‌ها را به‌صورت محلی، ابری یا در زیرساخت AWS و GCP اجرا و publish کند.

با اجرای lint و check، خطاهای layout، runtime و contrast پیش از رندر شناسایی می‌شوند. ابزارهای snapshot، timeline و history نیز امکان بازبینی دقیق، ویرایش امن و بازگردانی تغییرات را فراهم می‌کنند.

چه چیزی می‌گیرید

  • ساخت پروژه با init یا capture و خواندن ساختار آن با info و compositions
  • اجرای lint و check برای پیدا کردن خطاهای build، layout، runtime و contrast
  • مشاهده فریم‌ها، keyframeها و مقایسه خروجی با snapshot و compare
  • ویرایش timeline با move، trim، split، duplicate، delete و undo
  • preview، render و publish محلی، ابری، Docker، AWS Lambda یا Cloud Run

برای چه کاری خوب است

  • توسعه‌دهندگانی که ویدیوهای متحرک را با HTML و HyperFrames می‌سازند
  • تیم‌هایی که پیش از render نهایی به بررسی خودکار و snapshot فریم‌ها نیاز دارند
  • پروژه‌هایی با timeline چندبخشی، خروجی‌های batch یا رندر ابری
  • افرادی که می‌خواهند تغییرات پروژه را قابل‌ردگیری و قابل‌بازگردانی نگه دارند

برای چه کاری نیست

  • پروژه‌هایی که به تولید ویدیو با ابزارهایی غیر از HyperFrames نیاز دارند
  • ویرایش دستی و آزاد ویدیو در نرم‌افزارهای سنتی مانند Premiere یا After Effects
  • زمانی که Node.js، FFmpeg یا محیط اجرای HyperFrames در دسترس نیست

دربارهٔ این اسکیل

Plugin installs: Before setup or freshness commands, follow plugin execution rules when this skill is inside a HyperFrames plugin.

HyperFrames CLI

Run npx hyperframes <command> unless the project gives a wrapper; then use the wrapper. It needs Node.js 22+ and FFmpeg. Every command has --help; most take --json, and a failure prints ✗ …, a Fix: line and exits non-zero.

Commands by job

JobCommands
Startinit <dir> (blank; --example <name> only when asked), capture <url>
Read a projectinfo, compositions, timeline --json, docs <topic>
Check itlint while writing; check --json as the gate (lint, runtime, layout, contrast)
Look at itsnapshot (--at <t,…>, --range START,END, --composition <id>, --zoom, --angle, --against <video>), keyframes, compare, audio
Edit the timelinetimeline with move, trim, split, set, duplicate, delete, apply, undo, ids
Reusecatalog, add (/hyperframes-registry)
Media and soundmedia-treatment, grade-compare, remove-background, tts, transcribe, beats, normalize-audio (/media-use)
Show and shippreview, present (/slideshow), render, publish, cloud, lambda, cloudrun
Desktop appopen, catch-up
Upkeepdoctor, browser, upgrade, skills, usage, clean, feedback

validate, inspect and layout are deprecated aliases of check; events is telemetry for skills' own scripts. Don't run them.

The loop

  1. Write, then npx hyperframes lint after the first pass and after structural changes.
  2. npx hyperframes check --json and fix every error. While a lint error remains the layout and contrast audits don't run; "0 samples" means nothing was checked. Contrast failures carry a suggestedColor. A finding at a single sample (an entrance in flight) is info; a 3 s+ video with no visible change fails sweep_static.
  3. npx hyperframes snapshot and read the PNGs (under .hyperframes/artifacts/snapshots/): that is how you see the video. With sub-compositions, snapshot a midpoint of every scene; tiny unstyled content or a missing hero is a mount defect (../hyperframes/references/format.md).
  4. npx hyperframes preview --background, check the URL answers 200, give the person the project URL and wait, unless they asked for the file or for no stops. Passing checks alone is not a reason to render.
  5. When it is time to render (step 4): npx hyperframes render --quality looks --output out.mp4 (draft while iterating, delivery for the final). Confirm the file is non-empty and its ffprobe duration matches the root data-duration, then look at decoded frames.

"This element" or the current selection: npx hyperframes preview --context --json --context-fields selection; no-selection means ask them to click it.

Edit the timeline

These are the edits Studio itself makes, so the result stays in Studio's shape.

  • timeline --json lists clips with absolute absStart/absEnd, owning file and the #id ref the edit commands take (timeline ids stamps missing ids).
  • timeline move|trim|split|set|duplicate|delete <ref> … --plan --json previews one edit; run it again without --plan. --start, --end, --duration set one edge or the length.
  • An edit is refused when the clip would overlap a neighbour (--overwrite, or move the neighbour first) or end past its composition: raise the root's data-duration first. No command changes data-duration.
  • Several edits at once: a JSON file such as [{"verb": "move", "ref": "#outro", "time": "9"}], then timeline apply plan.json --json. Each run prints a receipt; save it and timeline undo receipt.json reverts it.

<!-- history (trial): remove this block together with the command -->

Project history

Every write is kept and can be undone. At the start of a turn, npx hyperframes history begin --who <you> --label "<plan>", then history --since mine --who <you> to see what the person changed; build on their edits. A check failed or they say it got worse: history undo --who <you>, never hand-edit back. End the turn with history end.

<!-- /history (trial) -->

Render where

NeedCommand
Localrender --quality looks --output out.mp4 (draft, delivery)
Reproducible containerrender --docker --strict --output out.mp4
Batch from variablesrender --batch rows.json --output "renders/{name}.mp4"
Hosted, no local Chrome or FFmpegcloud render (references/cloud.md)
Your own AWS or GCPlambda render, cloudrun render (references/lambda.md, references/cloudrun.md)

A 30 s film renders in a minute or two: run it in the foreground. Detach only a render longer than your tool's timeout (HYPERFRAMES_RENDER_DETACHED=1, its own group, output to a log) and wait with until grep -qE 'Render (complete|failed)' render.log; do sleep 5; done, never pgrep -f, which matches its own loop and waits until the tool times out.

After a verified render, send one feedback --rating, plus a report for anything the person asked for that HyperFrames can't do, unless telemetry is off: references/feedback.md.

When a command fails

SymptomFix
Chrome missing or won't startnpx hyperframes browser ensure; doctor --json always exits 0, gate on .ok
A heavy page isn't ready in timeRaise --timeout on check or snapshot
Unusual codec looks blankKeep --proxy on (the default)
Render slow on LinuxThe summary's second line says screenshot + software gpu: the slow path
capture fails or writes BLOCKED.mdTake nothing from its partial files; retry into a new -o folder
Disk tightclean --dry-run, then clean; never delete .hyperframes (it holds history)

References

Read the row before running its command.

CommandsRead
init, capture, skillsreferences/init-and-scaffold.md
lint, check, motion sidecars, snapshotreferences/lint-validate-inspect.md
compare, grade-compare, render --batchreferences/compare-and-batch.md
beatsreferences/beats.md
preview, play, render, publish, Studio contextreferences/preview-render.md
doctor, browserreferences/doctor-browser.md
auth, cloud, template variablesreferences/cloud.md
lambda, cloudrunreferences/lambda.md, references/cloudrun.md
info, upgrade, compositions, timeline, docs, usage, telemetryreferences/upgrade-info-misc.md
--strict flags, run ids, clean, shader lint, JSON pathsreferences/conventions.md
keyframes../hyperframes/references/motion.md (Seeing motion)

دانلود ZIP