플러그인 설치: 이 스킬이 HyperFrames 플러그인 내부에 있을 경우, 설정 또는 새로 고침 명령 전에 플러그인 실행 규칙을 따르세요. 독립 실행형 설치는 아래 업데이트 지침을 유지합니다.
HyperFrames CLI
프로젝트 지침에서 래퍼를 제공하지 않는 한 명령어를 npx hyperframes ...로 실행하세요. 래퍼가 있으면 이를 따르세요. CLI에는 Node.js 22 이상과 FFmpeg가 필요합니다.
개발 루프
- 스캐폴드:
npx hyperframes init <project>(가운데 정렬된 빈 화면). 또는 사이트를 캡처하세요. 이름이 지정된 예제에서 시작하려는 경우에만--example=<name>을 전달하세요. - 움직임 찾기: 요청이 에셋, 사운드, 이미지, 음성 또는 빠른 시각적 편집을 지정하는 경우, 계획을 제안하기 전에
/media-use를 통해 해결하세요. 그렇지 않으면 수동으로 모션을 작성하기 전에 이미 그 작업을 수행하는 프리미티브가 있는지 검색하세요:npx hyperframes catalog --query "reveal a headline one line at a time". 염두에 둔 메커니즘이 아닌 원하는 효과를 물어보세요.npx hyperframes add <name>으로 설치하세요(/hyperframes-registry참조). 아무것도 맞지 않는 경우에만 수동으로 작성하세요. - 작성:
/hyperframes-core를 사용하여 컴포지션을 작성하세요. 프로젝트 타임라인(트랙, 클립, 시작, 종료, 재생 내용)을 확인하려면npx hyperframes timeline --json을 실행하세요.index.html과 모든 서브 컴포지션 파일을 읽는 대신: 중첩된 행은 로컬 서브 컴포지션 시간뿐만 아니라 절대 메인 타임라인absStart/absEnd와 소유file을 전달합니다. 텍스트 형식보다--json을 선호하세요. 동일하거나 더 나은 정확성에 대해 더 적은 토큰을 소모합니다. 전체 출력을 읽지 않고도 일반적인 질문에 답하는 한 줄 명령은references/upgrade-info-misc.md를 참조하세요. - 편집 중 빠른 피드백 받기: 첫 번째 HTML 패스 이후와 구조적 변경 후에
npx hyperframes lint를 실행하세요. - 최종 게이트 실행:
npx hyperframes check를 실행하세요. lint를 다시 실행한 후 브라우저를 엽니다. 중복된 독립 lint 호출을 앞에 추가하지 마세요. 주석이 달린 개요 프레임과 크롭 찾기를 위해--snapshots를 추가하세요. - 서브 컴포지션 검사:
index.html이data-composition-src를 마운트하는 경우, 중간 지점 스냅샷을 캡처하고 각 마운트된 씬을 검사하세요. - 최종 Studio 미리보기 열기:
npx hyperframes preview --background를 실행하고, URL이 HTTP 200을 반환하는지 확인한 후 타임라인 프로젝트 URL을 사용자에게 전달하고 수정 또는 렌더링할지 물어보세요. 검토가 끝날 때까지 실행 상태를 유지하세요. - 승인 후에만 렌더링: 반복 중에는
--quality draft를 사용하고, 첫 번째 실제 인코딩에는--quality looks(CLI 기본값), 최종 제공에는--quality delivery를 사용하세요. - 출력 확인: 파일이 존재하고 비어 있지 않은지 확인하세요. 렌더링 요약의 두 번째 줄(
beginframevsscreenshot, GPU, 단계 타이밍)을 읽으세요. Linux에서screenshot+software gpu는 느린 경로입니다.ffprobe -v error -show_format -show_streams를 실행하고 지속 시간(및 브리프에서 설정한 경우 fps)을 루트data-duration과 비교하세요.
턴에서 프로젝트 기록
프로젝트에 대한 모든 쓰기는 실행 취소할 수 있는 항목으로 보관됩니다. 모든 단계가 아닌 두 가지 순간에만 사용하세요:
- 턴 시작:
npx hyperframes history begin --who <your-name> --label "<당신이 하려는 일>"를 실행한 다음,npx hyperframes history --since mine --who <your-name>을 실행하여 마지막 턴 이후 그 사람이 변경한 사항을 확인하세요. 그들의 편집 내용을 기반으로 구축하고 덮어쓰지 마세요. - 검사가 실패했거나 사람이 더 나빠졌다고 말한 경우:
npx hyperframes history undo --who <your-name>은 가장 최근 턴을 취소하고 그 사람의 편집 내용은 그대로 둡니다. 수동으로 되돌리지 마세요. 충돌이 발생하면 exit 2로 종료되고 두 선택지를 모두 출력합니다.
각 턴을 npx hyperframes history end로 끝내면 쓰기가 "앱 외부에서 변경됨"이 아닌 당신의 것으로 읽힙니다. 턴이 열려 있는 동안 10분 동안 쓰기가 없으면 모든 프로젝트 쓰기가 당신의 것으로 계산됩니다. 그 후 턴은 자동으로 종료됩니다.
필수 크리에이터-편집 상호 참조
- 줌, 펀치 인/펀치 아웃, 리프레임, 카메라 움직임 또는 키프레임 모션을 작성하거나 진단하기 전에 먼저
/hyperframes-keyframes를 읽으세요. hyperframes keyframes전에/hyperframes-keyframes를 읽으세요. 명령어는 애니메이션 궤적을 표시하며 클립 컷을 진단하지 않습니다.- 컷, 트림, 스플라이스, 재정렬 또는 소스 타이밍 편집의 경우
/hyperframes-core를 읽고 해당 클립/타임라인 계약을 사용하세요. - 페이드 인/페이드 아웃, 크로스페이드, 트랙 게인, 볼륨 자동화, 덕킹, 보이스오버 카빙 또는 배치된 오디오에 대한 FX의 경우
/hyperframes-audio를 읽으세요. 클립 배치나 픽처 타이밍도 변경되는 경우 코어를 함께 로드하세요. - 에셋, 사운드, 이미지, 음성 또는 빠른 시각적 편집을 지정하는 요청은 계획이 제안되기 전에
/media-use를 통해 해결됩니다. 크리에이터 편집 마크업을/hyperframes-core→references/creator-editing-recipes.md에서 복사하세요.
# 빠른 반복 검사; 필요에 따라 작성 중 반복하세요.
npx hyperframes lint
# 필수 최종 게이트; lint를 포함합니다.
npx hyperframes check
npx hyperframes preview --background
npx hyperframes render --quality looks --output out.mp4
test -s out.mp4
ffprobe -v error -show_format -show_streams out.mp4
check는 lint를 먼저 실행한 다음, 하나의 브라우저 세션과 하나의 시크 패스를 사용하여 런타임 오류, 실패한 요청, 레이아웃, *.motion.json 어설션 및 WCAG 대비를 감사합니다. 영구적인 발견 사항은 종료 코드를 게이트합니다. 일시적인 진입 또는 종료 발견 사항은 정보 제공용입니다. 경고를 게이트하려면 --strict를 사용하세요. validate, inspect 및 layout은 호환성을 위해 별칭으로 남아 있지만 새 명령어나 스크립트에 나타나서는 안 됩니다.
렌더링 전 미리보기
조립된 타임라인을 검토하기 위해 check가 통과한 후에만 최종 컴포지션 미리보기(#project/<name>)를 여세요. 채팅의 계획과 storyboard.html 스케치 시트는 최종 비디오의 승인이 아닙니다. 렌더링은 항상 hyperframes/references/review-loop.md에 정의된 최종 승인이 필요합니다.
서브 컴포지션 스모크 테스트
정적 감사는 모든 마운트 실패를 잡을 수 없습니다. 프로젝트가 서브 컴포지션을 사용하는 경우 각 호스트 슬롯에 대해 적어도 하나의 보이는 중간 지점을 캡처하세요:
npx hyperframes snapshot --at <t1>,<t2>,<t3>
아주 작은 스타일 없는 콘텐츠, 캔버스 크기 아이콘, 누락된 히어로 요소 또는 타임라인 등록 시간 초과를 렌더링 차단 마운트 결함으로 처리하세요. 해당 수정 사항은 hyperframes-core/references/sub-compositions.md를 참조하세요.
에이전트 규칙
-
수동으로 모션을 작성하기 전에 카탈로그를 검색하세요.
npx hyperframes catalog --query "<비트를 평범한 영어로>". 검색은 완전히 로컬에서 이루어집니다: 호스팅된 계층, 계정이 없으며 쿼리 텍스트는 절대 전송되지 않습니다. 기본적으로 항목의 이름, 제목, 설명 및 태그와 공유되는 어휘에 따라 순위를 매기므로 카탈로그 자체의 표현을 재사용하지 않는 모든 표현을 놓칩니다. 대신 의미에 따라 순위를 매기려면--on-device를 추가하세요(아래 오프라인 계층 참조). -
비디오가 영어가 아닌 경우에도 영어로 쿼리하세요. 두 계층 모두 영어 카탈로그를 인덱싱하므로 다른 문자로 된 쿼리는 검색 가능한 용어를 생성하지 않으며 아무것도 반환하지 않습니다. 영어로 움직임을 설명하세요. 화면의 복사본은 비디오에 필요한 모든 언어로 유지됩니다.
No searchable words in query는 정확히 이것을 의미하며 누락된 구성 요소가 아니므로 카탈로그 격차로 보고하지 마세요. -
어떤 계층이 응답했는지 읽으세요. 결과가 나타난다고 추론하지 마세요.
--json을 사용하면 봉투에query,tier(on-device또는words),tier_detail,dropped,unindexed,shown,total및results가 포함되며, 응답 계층이 하나를 생성할 때top_score와 계층이 요청되었지만 실행할 수 없거나 검색이 아무것도 반환하지 않았고 더 나은 계층이 누군가의 동의를 기다리고 있을 때warnings가 포함됩니다.words에 대한 약한 결과는 예상됩니다.on-device에 대한 동일한 결과는 버그입니다.top_score는 온디바이스 전용이며 그 뒤에 임계값이 없습니다: 순위는 모든 쿼리에 대해 전체 카탈로그를 어떤 순서로 반환하므로 통과 또는 실패가 아닌 증거로 읽으세요. -
dropped와unindexed는 레지스트리와 온디바이스 인덱스 사이의 반대 편향이며, 쿼리를 바꾸는 것으로는 둘 다 고쳐지지 않습니다.dropped는 이 레지스트리가 설치할 수 없는 순위가 매겨진 이름을 계산하므로 가장 강력한 일치 항목이 손실됩니다.unindexed는 인덱스가 전혀 볼 수 없는 레지스트리 움직임을 계산하므로 어떤 쿼리도 반환할 수 없습니다. 레지스트리 새로 고침은 둘 중 하나에 대한 답이 아닙니다: 매니페스트는 24시간 TTL을 가지며 자체적으로 복구되는 반면, 벡터는~/.hyperframes/catalog/에 가져온 별도로 게시된 아티팩트입니다.unindexed가 0보다 클 때--on-device로 다시 실행하면 해당 인덱스를 다시 가져오므로 이것이 사용자에게 제공하는 해결책입니다. 순수한 오버 커버리지 편향(dropped가 0보다 크고unindexed가 0인 경우)은 다시 가져오기를 트리거하지 않습니다.~/.hyperframes/catalog/를 지우는 것이 유일한 해결 방법입니다. 두 개수 모두 결과가 아닌 이름의 개수이므로 둘 중 하나가total을 초과할 수 있습니다. -
검색 결과에 설치할 가치가 있는 것이 없으면 그렇게 말하세요.
npx hyperframes feedback --search-miss "<실행한 쿼리>" --wanted "<필요한 움직임>" --tier <응답한 계층>. 해당 줄을 조립할 필요는 없습니다:catalog --query가 미리 채워서 출력하며 모든--json검색 봉투는report_gap으로 쿼리와 계층이 이미 올바르게 포함되어 있습니다.--wanted를 채우고 보내세요. 이것이 쿼리를 어디로든 보내는 유일한 경로이며, 일반catalog --query가 아무것도 보내지 않겠다는 약속을 지키도록 하는 별도의 의도적인 명령입니다. 어느 계층에서든 보고하세요. 결과가 작업을 수행하지 못할 때마다 온디바이스 계층을 기다리지 마세요. 온디바이스 계층은 동의가 필요한 33MB 다운로드가 필요하므로 대부분의 에이전트 실행에서 꺼져 있습니다. 기다리면 보고를 전혀 하지 못하게 됩니다. 계층은 보고서에 포함되므로, 어휘 누락과 의미 누락이 구분 가능한 상태로 유지됩니다. 반환되는 것은 카탈로그에 아직 없는 움직임 목록이며, 설치 횟수에서 추측한 것이 아니라 직접 읽은 것이므로 중요한 표현은 당신이 상상한 항목 이름이 아닌 원하는 효과입니다. 등급을 포함하지 않으며 등급 메트릭에 포함되지 않습니다. -
오프라인 계층을 제공하세요. 절대 조용히 활성화하지 마세요. 일회성 ~33MB 다운로드(
bge-small-en-v1.5의 양자화된 ONNX 빌드와 토크나이저, 고정된 리비전에 고정됨) 및 레지스트리의 카탈로그 벡터는 모두~/.hyperframes/아래에 캐시되며 프로젝트나 패키지에 추가되지 않습니다. 일단 캐시되면 아무것도 전송하지 않고 의미에 따라 순위를 매깁니다. 크기를 소리 내어 말하고 사람이 결정하게 한 다음 동의하면--on-device(-y를 추가하여 프롬프트 건너뛰기)를 전달하세요. 대화형 제공은 TTY에서만 작동합니다.--json에서는 프롬프트가 없지만 아무것도 찾지 못한 검색은warnings에 동일한 요청을 넣으므로 해당 배열을 읽고 결정을 사용자에게 직접 맡기세요. 사람이 다운로드가 무엇인지, 왜 이 모델인지, 또는 무엇이 머신을 떠나는지 물으면 https://hyperframes.heygen.com/developers/catalog-search를 가리키세요. -
에이전트 및 CI 호출에는
--json을 선호하세요. 서버 모드render,preview및play는 일반 JSON 출력을 제공하지 않습니다.preview --selection --json및preview --context --json은 쿼리 모드 예외입니다. -
doctor --json은 항상 0으로 종료됩니다. 페이로드에서 게이트하세요:
npx hyperframes doctor --json | jq -e '.ok' >/dev/null
- 비-TTY 모드는 자동이며 가운데 정렬된 빈 화면을 스캐폴드합니다. 이름이 지정된 예제에서 시작하려는 경우에만
--example을 전달하세요. TTY에서 플래그 전용 모드를 강제하려면--non-interactive를 사용하세요. - 동일한 확인 루프의 모든 명령에 대해 하나의
HYPERFRAMES_RUN_ID를 사용하세요. - 디스크 공간이 부족하면
npx hyperframes clean을 실행하세요(먼저 나열하려면--dry-run). 죽은 렌더링이 남긴 것과 자체적으로 재구축되는 유휴 캐시를 제거하며, 출력, 소스 또는 실행 중인 렌더링이 사용하는 것은 절대 제거하지 않습니다. QC 프레임은 프로젝트가 아닌 임시 디렉토리에 쓰세요. - 해당 경고, 변수 또는 CI 조건이 렌더링을 게이트해야 하는 경우
--strict,--strict-all및--strict-variables를 사용하세요. - JSON 경로는 홈 디렉토리를
$HOME으로 수정합니다. 수정을 되돌리려고 하지 마세요. - 호스팅된 클라우드 프로젝트가 200MB 업로드 제한에 도달하거나 초과하는 경우
cloud render --dry-run --json을 사용하고references/cloud.md의.hyperframesignore조사를 따르세요. 에셋이 단지 크다고 해서 무시하지 마세요. - 검사가 통과했다고 해서 렌더링하지 마세요. 최종 미리보기에서 멈추고 승인을 기다리세요.
Studio 지시 편집
사용자가 "이 요소" 또는 현재 선택 항목을 참조하는 경우, 추측하는 대신 Studio를 쿼리하세요:
npx hyperframes preview --context --json --context-fields selection
가능한 경우 selection.target.hfId를 사용하고, 그렇지 않으면 해당 선택자와 소스 파일을 사용하세요. 결과가 no-selection을 보고하면 사용자에게 요소를 클릭하고 다시 실행하도록 요청하세요. 필요한 컨텍스트 조각만 요청하세요. 계산된 스타일이나 편집 가능한 텍스트 메타데이터에만 --context-detail full을 사용하세요. 전체 동작 및 실패 코드는 references/preview-render.md에 있습니다.
렌더링 선택
| 필요 | 명령어 |
|---|---|
| 빠른 로컬 반복 | npx hyperframes render --quality draft |
| 첫 번째 실제 인코딩 | npx hyperframes render --quality looks --output out.mp4 |
| 최종 로컬 제공 | npx hyperframes render --quality delivery --output out.mp4 |
| 재현 가능한 컨테이너 렌더링 | npx hyperframes render --docker --strict --output out.mp4 |
| 로컬 변수 기반 배치 렌더링 | npx hyperframes render --batch rows.json --output "renders/{name}.mp4" |
| HeyGen 호스팅 제로-인프라 렌더링 | npx hyperframes cloud render |
| 자체 관리 분산 AWS 렌더링 | `npx hyperframes l |