hyperframes-cli
Use the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, timeline, history, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering.
1How It Works & Mechanism
Formalize the entire CLI lifecycle into a 9-step loop (scaffold → catalog search for building blocks → author → lint fast feedback → check final gate → sub-composition snapshots → preview → render upon approval → verify output), establishing that check includes lint and prohibiting redundant extra lint passes.
run `npx hyperframes check`; it reruns lint before opening the browser.
Explicitly define catalog search as a local-only operation (no hosted layer, no account required, search queries never sent externally), and enforce disciplines such as 'query in English' and 'inspect the tier field rather than guessing based on search result presence'.
Search is entirely local: there is no hosted tier, no account, and the query text is never sent anywhere.
Formulate strict evaluation semantics for check: only persistent findings dictate exit codes, whereas transient entrance/exit findings are purely informational; use --strict when tighter validation is required.
Persistent findings gate the exit code; transient entrance or exit findings are informational.
Provide four distinct rendering paths (Local, HeyGen-hosted cloud, self-managed AWS Lambda, self-managed GCP Cloud Run), establishing clear selection criteria and a mandatory 'read reference before running' rule.
Use cloud rendering when the user wants hosted rendering without local Chrome, FFmpeg, or AWS.
Prioritize `timeline --json` over manual HTML parsing to inspect the timeline—nested rows contain absolute absStart/absEnd timings against the main timeline and owning files, saving tokens and improving accuracy compared to inspecting index.html.
run `npx hyperframes timeline --json` instead of reading `index.html` and every sub-composition file
Treat feedback as a first-class citizen with ethical constraints: send one report after success, sanitize public submissions, conditionally attach COMPOSITION_STRUCTURE privacy bundles based on ratings, and require explicit user consent via `--file-issue` before publishing minimal reproductions.
**Feedback is submitted to a public channel — anonymize before sending.**
Account for doctor JSON mode always returning exit 0 (indicating 'diagnostic execution completed' rather than 'environment is healthy'), requiring explicit inspection and gating on its payload.
`doctor --json` always exits zero. Gate on its payload:
Explicitly identify commands that should not be run: events is an internal telemetry endpoint for skill self-reporting (not for reading telemetry), while validate/inspect/layout are deprecated aliases—only check is maintained.
Two entries in `hyperframes --help` are not part of the authoring loop, and reaching for them wastes a turn
Enforce 'read corresponding reference before executing commands' as a strict requirement rather than optional background reading: 11 command domains have dedicated documentation alongside mandatory cross-skill references (sub-composition/motion/keyframes/audio/media-use).
The following references and owning skills are mandatory command contracts, not optional background reading.
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | 官方 npx hyperframes CLI(本 skill 覆盖的全部子命令面;要求 Node 22+ 与 FFmpeg) |
| api | HeyGen 托管云渲染 API(zip 直传 S3 → 提交渲染 → 轮询 → 下载签名 URL;按 credit 计费) |
| cli | AWS(Lambda 自管分布式渲染:SAM 部署 Lambda + Step Functions + S3 + IAM) |
| cli | GCP(Cloud Run + Workflows + Cloud Storage,靠 gcloud 与 Terraform 部署) |
| api | npm registry(upgrade --check 比对已装版本与 npm latest;npx 首次拉取官方包) |
| network | 官方站点/文档(catalog 搜索说明页;SKILL.md 直接引用) |
| network | GitHub(init 时对着 GitHub 检查并更新已装 skill;registry 条目与 skills 自刷新) |
| package | 可选的 on-device 语义检索索引(量化 ONNX 模型 + catalog 向量,需用户同意后下载并缓存在本机) |
| cli | ffprobe(渲染后对账:时长/帧率 vs 根 data-duration) |
4Recommended Governance & Evidence
- scripts/: Local script or command execution: The skill directory contains NO internal scripts (all 11 files are markdown: SKILL.md + 10 reference files); documented commands refer to the hyperframes CLI binary.
- 外部 API: Posting, creating, or modifying resources on external platforms.
- 环境变量 / API Key: Reading vendor service credentials: HeyGen credential resolution order (explicit in cloud.md): HEYGEN_API_KEY → HYPERFRAMES_API_KEY → ~/.heygen.
- 本地工作目录: File read/write and artifact output: Within projects: hyperframes.json, index.html, compositions/, renders/, snapshots/, beats/<au
5Second-Pass Verification
- [ok] 凭证读取是否真发生在该 skill 目录内(橙档判定关键) — 目录内无任何代码(11 个文件全 md),故严格意义上「读取」由官方 CLI 执行;橙档依据是**声明面**:cloud.md 明写凭证解析顺序 HEYGEN_API_KEY → HYPERFRAMES_API_KEY → ~/.heygen/credentials,SKILL.md 又把 auth/cloud/lambda/cloudrun/publish/feedback 列为本 skill 统领的命令。与同批 hyperframes-cli 之外的 figma(FIGMA_TOKEN)保持同一口径,并在 reason 里注明执行主体。
- [ok] SKILL.md 里的 hyperframes.heygen.com 链接是不是被当作端点调用 — 该 URL 出自「Search the catalog before writing motion by hand」段落,是 catalog 搜索的**说明页引用**(句末带句点,形如文档链接),不是命令参数;同段明确写搜索本身 entirely local、查询文本 never sent anywhere。故按范式归为文档引用,不计入外发面。
- [ok] 云上传是否真是「用户素材出网 + 消耗额度」,且是否有幂等风险提示 — cloud.md 的渲染流水线写明 zip → 直传 S3 → POST /v3/hyperframes/renders → 轮询 → 下载,并直说「you pay per credit」;同文另给安全重试条款:zip 上传非幂等,盲重试会重复计费,故须 --idempotency-key。声明与风险提示齐备,未夸大。
- [ok] feedback / telemetry 的隐私表述是否有反例 — preview-render.md 有专门的脱敏段落(剥离绝对路径、机器标识、密钥,保留 HF_*/PRODUCER_* 变量原名),并给 COMPOSITION_STRUCTURE 的「无路径/无 src URL/无用户文本」定义;upgrade-info-misc.md 说明 telemetry 指纹只做存在性探测、从不读环境变量取值,且提供 telemetry disable 与 HYPERFRAMES_NO_TELEMETRY。未发现与声明矛盾之处。
- [unlocatable] 是否漏网的高危行为(关沙箱/TLS 降级/绕过检测) — 对 keywords(sandbox / danger / no-verify / AutomationControlled / NODE_TLS / rejectUnauthorized)做全目录扫描均无命中;但本 skill 不含代码,真实执行细节在 packages/cli 内、不属于本 skill 目录,故只能声明「本目录未出现」,不能替 CLI 整体背书。
6Verdict & Scenarios
9d841064257cece2…