Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FXVsD1DgdzZLiPuwtKzMSY
2.0 KiB
CLI conventions for agents and CI
-
Prefer
--jsonfor agent and CI calls. Server-moderender,preview, andplaydo not provide ordinary JSON output;preview --selection --jsonandpreview --context --jsonare query-mode exceptions. -
doctor --jsonalways exits zero. Gate on its payload:npx hyperframes doctor --json | jq -e '.ok' >/dev/null -
Non-TTY mode is automatic and scaffolds the centered blank. Pass
--exampleonly to start from a named example. Use--non-interactiveto force flag-only mode on a TTY. -
Use one
HYPERFRAMES_RUN_IDfor all commands in the same verification loop. -
When disk is tight, run
npx hyperframes clean(--dry-runto list first); it removes what dead renders left and idle caches that rebuild themselves, never outputs, sources or anything a running render uses. Write disposable QC frames to a temp dir, then remove only that owned directory. Managed snapshot runs retain the newest 10 plus current/latest/rendered evidence; active captures and runs younger than 24 hours are protected. Copy intentional before/after evidence outside managed storage before it ages out. Never delete.hyperframeswholesale: it also holds project history. -
Use
--strict,--strict-all, and--strict-variableswhen the corresponding warnings, variables, or CI conditions must gate the render. -
For
shader_unbounded_cosine_pow, clamp the cosine to[0, 1]beforepow(1 - cosine, exponent); a lower-onlymaxis insufficient. Then preview and export on the affected GPU to confirm. Lint only recognizes static shader expressions, and software rendering can miss hardware-specific invalid pixels. -
JSON paths redact the home directory as
$HOME; do not try to reverse the redaction. -
When a hosted cloud project approaches or exceeds the 200 MB upload limit, use
cloud render --dry-run --jsonand follow the.hyperframesignoreinvestigation inreferences/cloud.md. Never ignore an asset merely because it is large. -
Never render merely because checks pass. Pause at the final preview and wait for approval.