Loading...
Loading...
Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalog — for in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.
npx skill4agent add heygen-com/hyperframes contribute-catalog1. Clarify → 2. Scaffold → 3. Build → 4. Validate → 5. Preview → 6. Shipregistry/blocks/hyperframes:blockregistry/components/hyperframes:componentregistry/blocks/{block-name}/
{block-name}.html
registry-item.jsonregistry/components/{component-name}/
{component-name}.html
registry-item.json| Item name | ID prefix | Example IDs |
|---|---|---|
| | |
| | |
| | |
{
"$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
"name": "{block-name}",
"type": "hyperframes:block",
"title": "{Human Title}",
"description": "{one sentence}",
"dimensions": { "width": 1920, "height": 1080 }, // adjust: 1080x1920 for portrait/social
"duration": 10, // adjust for your composition
"tags": ["{category}", "{subcategory}"],
"files": [
{
"path": "{block-name}.html",
"target": "compositions/{block-name}.html",
"type": "hyperframes:composition"
}
]
}dimensionsduration{
"$schema": "https://hyperframes.heygen.com/schema/registry-item.json",
"name": "{component-name}",
"type": "hyperframes:component",
"title": "{Human Title}",
"description": "{one sentence}",
"tags": ["{category}"],
"files": [
{
"path": "{component-name}.html",
"target": "compositions/components/{component-name}.html",
"type": "hyperframes:snippet"
}
]
}-webkit-text-stroke: 2-3pxtext-shadowwindow.__hyperframes.fitTextFontSize()tl.to(wordEl, { color/scale }, WORDS[wi].start)tl.set(groupEl, { opacity: 0, visibility: "hidden" }, g.end)tl.from(el, { opacity: 0 })tl.set(el, { opacity: 1 })tl.to<span>{prefix}-ch-{group}-{char}tl.settl.setdisplay: flex; align-items: center; justify-content: center;position: absolute; bottom: 100px; left: 0; width: 100%; text-align: center;position: absolute; bottom: 100px; left: 120px; text-align: left;three@0.147.0tl.eventCallback("onUpdate", renderScene); renderScene();mulberry32data-composition-idwindow.__timelines["id"]gsap.timeline({ paused: true })Math.random()Date.now()hyperframes lint # 0 errors required
hyperframes validate --no-contrast # 0 console errors required# Render preview video
hyperframes render -o preview.mp4
# Snapshot for visual QA
hyperframes snapshot --at "1.0,3.0,5.0,7.0"
# Publish to hyperframes.dev for review
npx hyperframes publishdocs/images/catalog/{kind}/{name}.png{kind}blockscomponentsscripts/upload-docs-images.shengineering-767398024897{kind}blockscomponents# 1. Create branch
git checkout -b feat/registry-{name}
# 2. Format HTML
npx oxfmt registry/{kind}/{name}/*.html
# 3. Update registry/registry.json — add entry to the "items" array:
# { "name": "{name}", "type": "hyperframes:block" } (or "hyperframes:component")
# 4. Generate catalog docs page
npx tsx scripts/generate-catalog-pages.ts
# 5. Publish to hyperframes.dev so reviewers can preview
npx hyperframes publish
# 6. Stage everything
git add registry/{kind}/{name}/ registry/registry.json docs/catalog/
# 7. Commit
git commit -m "feat(registry): add {name} — {one sentence}"
# 8. Push and open PR with hyperframes.dev link
git push origin feat/registry-{name}
gh pr create --title "feat(registry): {name}" --body "preview: {hyperframes.dev-url}"gh auth loginhyperframes linthyperframes validatenpx oxfmt --checkregistry/registry.jsonscripts/generate-catalog-pages.tsnpx hyperframes publish