Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
c9e114c
feat(core): add font lint rules (google_fonts_import, font_family_wit…
ukimsanov May 7, 2026
9458eb3
feat(skills): pipeline quality improvements for website-to-hyperframes
ukimsanov May 7, 2026
b0e42b8
fix(skills): resolve 8 audit findings across website-to-hyperframes
ukimsanov May 7, 2026
3eca797
fix(skills): add SFX copy instruction so agents find bundled audio files
ukimsanov May 7, 2026
acf1141
feat(cli): caption SVGs via Gemini text analysis in capture pipeline
ukimsanov May 8, 2026
0cdbe03
fix(core): font lint rule skips producer-bundled fonts
ukimsanov May 8, 2026
a8ece0d
fix(skills): address 4 root causes from transcript analysis
ukimsanov May 10, 2026
921d3d2
feat(skills): add verified shader transition pattern for sub-composit…
ukimsanov May 11, 2026
aec70f8
fix(skills): add critical position:absolute CSS for beat host divs
ukimsanov May 11, 2026
f14c781
feat(skills): add SFX manifest with durations and AI descriptions
ukimsanov May 11, 2026
b1f7731
fix(skills): improve CTA beat guidance and remove implicit beat count
ukimsanov May 11, 2026
a8e470b
fix(cli): wait for shader loading overlay before snapshots + fix svgs…
ukimsanov May 11, 2026
9af3307
feat(skills): add skeleton generator for website-to-hyperframes pipeline
ukimsanov May 11, 2026
d4f18ac
feat(skills): add SFX manifest, device models, and local CLI document…
ukimsanov May 16, 2026
3cffd37
fix(cli): paginated contact sheets, fit-contain, SVG root scan, seman…
ukimsanov May 16, 2026
e643d88
feat(skills): hyperframes core — remove prescriptive tables, fix tone…
ukimsanov May 16, 2026
d895bdb
feat(skills): website-to-hyperframes pipeline v2
ukimsanov May 16, 2026
91c16cd
chore(skills): remove deprecated step-2-design and step-3-script files
ukimsanov May 16, 2026
a80f761
chore(skills): remove old pipeline files left over from prior commits
ukimsanov May 16, 2026
309a641
chore: gitignore review-package and scratch files; fix SKILL.md step-…
ukimsanov May 16, 2026
f4f6739
docs: add HANDOFF.md, agent feedback, and CLAUDE.md session header
ukimsanov May 16, 2026
f8e733b
fix(pipeline): snapshot wait, SFX ownership, VO timing, optional shader
ukimsanov May 16, 2026
65533ef
docs: update HANDOFF and feedback doc with v2 run fixes and status
ukimsanov May 16, 2026
3695317
fix(pipeline): sfx timing rules, font wiring, asset paths, captions, …
ukimsanov May 16, 2026
8db7300
docs: mark v3-prep fixes in agent feedback status table
ukimsanov May 16, 2026
ca4c5cc
docs: add v3 agent feedback with root cause analysis and cross-iterat…
ukimsanov May 16, 2026
a2ccc1e
fix(pipeline): transcript CWD footgun and template script/style rules
ukimsanov May 16, 2026
f74beb8
fix(pipeline): document data-start/data-duration rule for HyperShader…
ukimsanov May 16, 2026
ba9aa4c
docs: data-start rule in sub-agent RULES, v3 feedback with arc root c…
ukimsanov May 16, 2026
d7d0ee6
docs: update HANDOFF with v3 run results and new P0 findings
ukimsanov May 16, 2026
ebdc8d3
fix(pipeline): loom v3 fixes, HeyGen v3 API, snapshot auto-clear, bea…
ukimsanov May 16, 2026
a5a405e
refactor(pipeline): reduce overengineering — cut reading burden
ukimsanov May 16, 2026
4ae59e5
fix(snapshot): two sub-composition seek bugs causing black beats
ukimsanov May 16, 2026
07c5679
docs: add v4 agent feedback with root cause analysis
ukimsanov May 16, 2026
841f877
feat(snapshot): gemini vision descriptions + v4 skill fixes
ukimsanov May 16, 2026
215b41d
fix(linter): add invalid_capture_path error rule
ukimsanov May 16, 2026
0df846b
fix(skill): warn against published CLI for capture and snapshot
ukimsanov May 16, 2026
a997f79
fix(pipeline): auto-load .env, second-based snapshot names, banner di…
ukimsanov May 16, 2026
5e33c32
feat(pipeline): pacing system, launch-video skill, verification gates…
ukimsanov May 17, 2026
f606cdf
refactor(pipeline): strip dead capture outputs, add easing vocabulary…
ukimsanov May 18, 2026
cefd03f
fix(skill): don't ask questions the user already answered in their pr…
ukimsanov May 18, 2026
853d92e
fix(skill): move easing vocabulary into RULES section so sub-agents s…
ukimsanov May 18, 2026
f5e4a67
feat(skill): beat-builder-guide.md — self-contained sub-agent workflow
ukimsanov May 18, 2026
7a283b6
fix(skill): asset selection guidance + remove creative direction summary
ukimsanov May 18, 2026
ec5edfa
feat(snapshot): font verification + pacing-first + creative summary r…
ukimsanov May 18, 2026
e1bd22d
fix(skill): beats must have continuous motion, not just entrance anim…
ukimsanov May 18, 2026
04827b9
feat(skill): examples library scaffold + section 01 (typography) — 10…
ukimsanov May 19, 2026
a877da7
feat(skill): examples library section 04 — composed UI, 8 scenes
ukimsanov May 19, 2026
ba0098c
feat(skill): wire examples library into the workflow
ukimsanov May 19, 2026
7ec923c
feat(skill): examples library lifts from 3 production projects (6 sce…
ukimsanov May 19, 2026
7a6ffc2
feat(skill): examples library batch 2 — 6 more lifts from production …
ukimsanov May 19, 2026
128e0f8
feat(skill): examples library batch 3 - sections 02 + 13 + beat-build…
ukimsanov May 19, 2026
01ef436
feat(skill): examples library batch 4 - sections 05 + 06 complete, li…
ukimsanov May 19, 2026
68235f5
feat(skill): examples library scene 04-10 - terminal + live preview
ukimsanov May 19, 2026
01e0098
feat(skill): examples library batch 5 - 6 lifts from team archive
ukimsanov May 19, 2026
b2f4ee2
docs: HANDOFF-examples-library.md — 49 scenes, gallery live, full ses…
ukimsanov May 19, 2026
4662933
feat(skill): examples library batch 6 - 4 more archive lifts (53 scen…
ukimsanov May 19, 2026
3d7564b
docs: update handoff with batch 6 - 53 scenes + Grand Tour reel
ukimsanov May 19, 2026
8f4b7eb
feat(skill): examples library batch 7 — 4 gap-fillers + 3-mode skill …
ukimsanov May 19, 2026
f2d1d11
docs(skill): sync library READMEs with batch 7 — 3-mode framework + 4…
ukimsanov May 19, 2026
6bbfafe
docs(skill): sync remaining section READMEs (01, 02, 04, 10, 11) — 9 …
ukimsanov May 19, 2026
2bdba5e
docs: finalize handoff — batches 7-9 (57 scenes, 3-mode wiring, READM…
ukimsanov May 19, 2026
39069a1
feat(skill): examples library batch 10 — 5 second-pass lifts (62 scenes)
ukimsanov May 19, 2026
04b46a1
feat(skill): examples library batch 11 — 3 hand-authored gap-fillers …
ukimsanov May 19, 2026
9513192
feat(skill): examples library batch 12 — 3 hand-authored gap-fillers …
ukimsanov May 19, 2026
21cd7f9
feat(skill): examples library batch 13 — 3 hand-authored gap-fillers …
ukimsanov May 20, 2026
9c66717
feat(skill): examples library batch 14 — 3 hand-authored gap-fillers …
ukimsanov May 20, 2026
dbcd650
feat(skill): examples library batch 15 — 3 hand-authored common-patte…
ukimsanov May 20, 2026
e0ac2cc
feat(skill): examples library batch 16 — 2 composed-UI common pattern…
ukimsanov May 20, 2026
3b04f00
feat(skill): examples library batch 17 — 2 more hand-authored scenes …
ukimsanov May 20, 2026
851d62f
feat(skill): workflow audit batch 18 — invert default visual strategy…
ukimsanov May 20, 2026
363f017
docs: HANDOFF for full-video-refs (batch 19 plan) + workflow audit lo…
ukimsanov May 20, 2026
6ed4ecc
feat(skill): examples library batch 19 — 3 full-video reference projects
ukimsanov May 20, 2026
6ee54ef
feat(skill): examples library batch 20 — 3 more full-video refs (6 to…
ukimsanov May 20, 2026
d001c7b
revert(skill): remove examples library + scrub workflow wiring
ukimsanov May 20, 2026
6813cf3
chore(.gitignore): catch repo-root project dirs
ukimsanov May 20, 2026
2c8b60d
chore: drop HANDOFF banner from CLAUDE.md
ukimsanov May 20, 2026
86ac4e2
feat(capture): identify hashed fonts via OpenType name table
ukimsanov May 20, 2026
01af799
feat(skill,cli): verify-beats gate + concept-first restructure + TS fix
ukimsanov May 20, 2026
448297e
Merge origin/main into feat/pipeline-quality-v2
ukimsanov May 20, 2026
eaafea0
feat(skill): dial back asset-avoidance + restore careful verification
ukimsanov May 20, 2026
78ed6e2
feat(skill): must-read contact sheets + allow css chrome when called for
ukimsanov May 20, 2026
07b309c
Merge remote-tracking branch 'origin/main' into feat/pipeline-quality-v2
ukimsanov May 20, 2026
9cf7f5e
feat(skill,cli): replace verify-beats CLI with main-agent file reads
ukimsanov May 20, 2026
cc6b87a
fix(skill,cli): address copilot review on PR #984
ukimsanov May 20, 2026
ae0397b
fix: address copilot review round 2 + unblock typecheck
ukimsanov May 20, 2026
1fda414
chore: drop session-ephemera files from branch
ukimsanov May 20, 2026
ad578ff
chore: drop duplicate root-level models/ folder
ukimsanov May 20, 2026
4fc05c6
chore: drop AGENT-FEEDBACK-V3.md (last session-ephemera doc)
ukimsanov May 20, 2026
d34c20f
fix: address miguel + rames review on PR #984
ukimsanov May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ Thumbs.db
# non-generated assets (logos, svgs) that should stay in the repo.
docs/images/

videos/

# IDE
.vscode/
.idea/
Expand Down Expand Up @@ -74,6 +76,7 @@ examples/*
!examples/k8s-jobs
!examples/k8s-jobs/**
packages/studio/data/

.desloppify/
.worktrees/

Expand Down Expand Up @@ -103,10 +106,22 @@ captures/
cursor-tests/
basecamp-video/
launch-video*/
!skills/launch-video/
ab-test/
compositions/
video-6-2-patched/
claude-design-hyperframes-video/
# Per-site video work at the repo root (huly-*, raycast-*, etc.)
# Anything under videos/ is already covered above, but agents sometimes write
# project dirs to the repo root when iterating. Catch the common per-brand
# patterns and any *-demo-N variants the *-demo/ rule above misses.
huly-*/
raycast-*/
*-demo-*/
test-runs/
test-outputs/

# Claude Code worktrees + superpowers docs
.claude/worktrees/
.claude/
docs/superpowers/
Expand Down
23 changes: 23 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,29 @@ packages/
studio/ → Browser-based composition editor UI
```

## Local CLI

The published `npx hyperframes` is a released version and does **not** include local changes. Use the local CLI for commands where changes are in flight:

```bash
# Local CLI (use instead of `npx hyperframes` for capture and snapshot):
npx tsx packages/cli/src/cli.ts <command>

# Examples:
npx tsx packages/cli/src/cli.ts capture <URL> -o videos/<name>/capture
npx tsx packages/cli/src/cli.ts snapshot videos/<name> --frames <N>
```

Commands with local changes: **capture** (paginated contact sheets, fit:contain, SVG root scan), **snapshot** (3-col contact sheet). All other commands (lint, validate, preview, render) can use `npx hyperframes` as-is.

For **shader transitions**, copy the local build into the video project instead of using the CDN — the local build includes CSS crossfade mixing support and other fixes not yet published:

```bash
cp packages/shader-transitions/dist/index.global.js <project-dir>/hyper-shader-local.js
```

Then reference `hyper-shader-local.js` instead of the `@hyperframes/shader-transitions` CDN URL in `index.html`.

## Development

```bash
Expand Down
42 changes: 33 additions & 9 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,15 @@
"citty": "^0.2.1",
"compare-versions": "^6.1.1",
"esbuild": "^0.25.12",
"fontkit": "^2.0.4",
"giget": "^3.2.0",
"hono": "^4.0.0",
"onnxruntime-node": "^1.20.0",
"open": "^10.0.0",
"postcss": "^8.5.8",
"prettier": "^3.8.1",
"puppeteer-core": "^24.39.1",
"sharp": "^0.34.0"
"sharp": "^0.34.5"
},
"devDependencies": {
"@clack/prompts": "^1.1.0",
Expand All @@ -47,6 +48,7 @@
"@hyperframes/producer": "workspace:*",
"@hyperframes/studio": "workspace:*",
"@types/adm-zip": "^0.5.7",
"@types/fontkit": "^2.0.9",
"@types/mime-types": "^3.0.1",
"@types/node": "^25.0.10",
"linkedom": "^0.18.12",
Expand Down
Loading
Loading