Files
frames/docs/schema/frames.json
T
zooqueen e0266e8a63 docs: point the skills and the docs site at our own stack
The workflow skills, the CLI reference, and the guides described a vendor's
services: a separate account to sign into, a credential file beside the
project, a music library and asset search that are not ours, and preview
media on a CDN we do not run.

Auth is now one Hanzo IAM token in $HANZO_API_KEY, read from Hanzo KMS —
one credential for voice, music, sound effects, images, video, the shared
catalog, and cloud rendering. The credential guide, the cloud-render
pages, and the CLI auth reference all say the same thing, because there
is now only one thing to say.

Docs previews resolve from the docs site's own /images/ path, produced by
our own generator. They are not committed (docs/images/ is ignored), so a
deploy must run `bun run generate:catalog-previews` first — the same gap
as before, minus a CDN we cannot publish to. Element grounding calls
zen-vl through api.hanzo.ai rather than a third-party vision endpoint,
and the LUT library builds every look from params, so no look needs a
host at all.

Command examples read `npx @hanzo/frame` / `hanzo frame` throughout.
Three navigation entries left dangling by the rebrand now resolve.

The changelog and the weekly archive keep their entries as written and
say plainly that pre-port entries describe the upstream product.
2026-08-13 17:29:50 -07:00

62 lines
2.4 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://frames.hanzo.ai/schema/frames.json",
"title": "Hyperframes Project Config",
"description": "Per-project configuration for a Hyperframes project (frames.json). Tells `hanzo frame add` which registry to pull items from and where to drop them in the project tree. Created by `hanzo frame init`; users may edit it to point at custom registries or reshape their project layout.",
"type": "object",
"required": ["registry", "paths"],
"additionalProperties": false,
"properties": {
"$schema": {
"type": "string",
"format": "uri",
"description": "JSON Schema URL — https://frames.hanzo.ai/schema/frames.json."
},
"registry": {
"type": "string",
"format": "uri",
"minLength": 1,
"description": "Base URL of the registry to pull items from. Point at the official Hyperframes registry or a custom one."
},
"paths": {
"type": "object",
"description": "Target paths for each item type, relative to the project root.",
"required": ["blocks", "components", "assets"],
"additionalProperties": false,
"properties": {
"blocks": {
"type": "string",
"minLength": 1,
"description": "Where `frames:block` items land. Defaults to `compositions`."
},
"components": {
"type": "string",
"minLength": 1,
"description": "Where `frames:component` items land. Defaults to `compositions/components`."
},
"assets": {
"type": "string",
"minLength": 1,
"description": "Where asset files (images, fonts, videos) land. Defaults to `assets`."
}
}
},
"media": {
"type": "object",
"description": "Media handling options.",
"additionalProperties": false,
"properties": {
"autoProxy": {
"type": "boolean",
"description": "Automatically create H.264 proxies for browser-hostile video codecs on supported preview surfaces. Defaults to true."
}
}
},
"authoringSkill": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$",
"description": "Owning authoring-workflow skill slug (e.g. product-launch-video). Set by `hanzo frame init --skill` or seeded from the first `hanzo frame render --skill`; every render of this project is then attributed to it on anonymous telemetry, without re-passing the flag."
}
}
}