diff --git a/README.md b/README.md
index 9090da4ac2..ffe9f4c2c4 100644
--- a/README.md
+++ b/README.md
@@ -17,10 +17,10 @@
Write HTML. Render video. Built for agents.
- Studio |
+ Studio |
Quickstart |
Showcase |
- Playground |
+ Playground |
Catalog |
Docs |
Discord
@@ -148,57 +148,57 @@ The output is a `DESIGN.md` superset your whole toolchain can read. Atoms stay s
-Browse and remix them all at [hyperframes.dev/design](https://www.hyperframes.dev/design).
+Browse and remix them all at [hyperframes.studio/design](https://hyperframes.studio/design).
## How It Works
@@ -242,16 +242,16 @@ Preview instantly in the browser. Render locally or in Docker. The renderer seek
HyperFrames is the open-source rendering engine, plus a growing set of tools around HTML-native video creation.
-| Piece | Status | What it does |
-| ----------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------- |
-| CLI | Available | Scaffold, preview, lint, inspect, and render local video projects |
-| Core / Engine / Producer | Available | Parse compositions, drive headless Chrome, encode video, and mix audio |
-| Catalog | Available | Reusable blocks and components for transitions, overlays, captions, charts, maps, and effects |
-| Agent skills | Available | Teach coding agents the video-production patterns that generic web docs miss |
-| Studio | Available, evolving | Browser surface for previewing and editing compositions |
-| AWS Lambda rendering | Available | Deploy a distributed render stack and drive renders from your laptop or CI |
-| [hyperframes.dev](https://www.hyperframes.dev/) | Available | Community playground for previewing, iterating, sharing, and rendering HTML-native video projects |
-| [frame.md](https://www.hyperframes.dev/design) | Available | Invert your design system for the camera — a DESIGN.md superset an agent can compose video from |
+| Piece | Status | What it does |
+| ------------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------- |
+| CLI | Available | Scaffold, preview, lint, inspect, and render local video projects |
+| Core / Engine / Producer | Available | Parse compositions, drive headless Chrome, encode video, and mix audio |
+| Catalog | Available | Reusable blocks and components for transitions, overlays, captions, charts, maps, and effects |
+| Agent skills | Available | Teach coding agents the video-production patterns that generic web docs miss |
+| Studio | Available, evolving | Browser surface for previewing and editing compositions |
+| AWS Lambda rendering | Available | Deploy a distributed render stack and drive renders from your laptop or CI |
+| [hyperframes.studio](https://hyperframes.studio/) | Available | Community playground for previewing, iterating, sharing, and rendering HTML-native video projects |
+| [frame.md](https://hyperframes.studio/design) | Available | Invert your design system for the camera — a DESIGN.md superset an agent can compose video from |
## Catalog
diff --git a/docs/contributing/catalog.mdx b/docs/contributing/catalog.mdx
index cc8895edbf..77d26a68c2 100644
--- a/docs/contributing/catalog.mdx
+++ b/docs/contributing/catalog.mdx
@@ -202,7 +202,7 @@ Include:
- the item directory;
- the matching entry in `registry/registry.json`;
- regenerated Catalog output;
-- a `hyperframes.dev` preview from `npx hyperframes publish`;
+- a `hyperframes.studio` preview from `npx hyperframes publish`;
- when to use it, its useful duration range, and any known pitfalls.
External contributors should attach the preview MP4. A maintainer will publish
diff --git a/docs/docs.json b/docs/docs.json
index 5474d944ec..c4aa63d62f 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -1031,7 +1031,7 @@
},
{
"label": "Download the Studio app",
- "href": "https://hyperframes.dev/studio/download?src=docs-footer"
+ "href": "https://hyperframes.studio/studio/download?src=docs-footer"
},
{
"label": "GitHub",
@@ -1051,7 +1051,7 @@
"primary": {
"type": "button",
"label": "Download Studio",
- "href": "https://hyperframes.dev/studio/download?src=docs-navbar"
+ "href": "https://hyperframes.studio/studio/download?src=docs-navbar"
}
},
"redirects": [
diff --git a/docs/download-attribution.js b/docs/download-attribution.js
index 1e895eb8c3..a604da6b29 100644
--- a/docs/download-attribution.js
+++ b/docs/download-attribution.js
@@ -1,4 +1,4 @@
-// Studio download links name this visitor's PostHog id (`ph_id`), so hyperframes.dev counts the download under the
+// Studio download links name this visitor's PostHog id (`ph_id`), so hyperframes.studio counts the download under the
// same person as these docs' pageviews. Both sites send to one PostHog project, but each domain has its own cookie,
// so the download site cannot read this one. Mintlify runs every .js file in docs/ on every page
// (mintlify.com/docs/customize/custom-scripts). The id is added at click time only, so a copied link never carries it,
@@ -10,7 +10,7 @@
// default, in a cookie when a site configures that, so both are read.
var OPT_OUT = "__ph_opt_in_out_" + TOKEN;
// The one download address the docs link to (docs.json navbar and footer, quickstart.mdx).
- var DOWNLOAD = { protocol: "https:", hostname: "hyperframes.dev", pathname: "/studio/download" };
+ var DOWNLOAD = { protocol: "https:", hostname: "hyperframes.studio", pathname: "/studio/download" };
var UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
function cookie(name) {
diff --git a/docs/packages/cli.mdx b/docs/packages/cli.mdx
index ec931614df..98f6ed2cb3 100644
--- a/docs/packages/cli.mdx
+++ b/docs/packages/cli.mdx
@@ -1012,7 +1012,7 @@ editor, just playback. Same flags, `--port` defaults to 3003, plus `--proxy` /
### `publish`
-Upload the project and get back a stable `hyperframes.dev` URL.
+Upload the project and get back a stable `hyperframes.studio` URL.
```bash
npx hyperframes publish [dir]
@@ -1034,7 +1034,7 @@ content — so it keeps working after the CLI exits. No local server stays alive
and no tunnel is opened.
You can publish while signed out. The printed URL then carries a claim token:
-whoever opens it on `hyperframes.dev` can sign in, claim the project, and keep
+whoever opens it on `hyperframes.studio` can sign in, claim the project, and keep
editing in the web app.
Sign in with `npx hyperframes auth login` first when you want an owned, stable
diff --git a/docs/quickstart.mdx b/docs/quickstart.mdx
index a7366d4d09..094c11e4b0 100644
--- a/docs/quickstart.mdx
+++ b/docs/quickstart.mdx
@@ -30,7 +30,7 @@ drawing. For Mac (Apple Silicon or Intel), Windows (64-bit Intel and AMD; not Wi
- Download the Studio app, open it, and
+ Download the Studio app, open it, and
sign in with a free HeyGen account. [Install the Studio app](/studio-app) has the steps for each system.
diff --git a/docs/studio-app/export.mdx b/docs/studio-app/export.mdx
index 63ea2f23aa..3356362485 100644
--- a/docs/studio-app/export.mdx
+++ b/docs/studio-app/export.mdx
@@ -73,7 +73,7 @@ Watch the exported file once from start to end before you send it.
- **The video was made but could not be saved to your Downloads folder**: free up space or check that the Downloads
folder exists, then export again.
- **HyperFrames could not start its built-in FFmpeg**: the app may be damaged. Reinstall it from
- [hyperframes.dev/studio](https://hyperframes.dev/studio).
+ [hyperframes.studio/studio](https://hyperframes.studio/studio).
## Related topics
diff --git a/docs/studio-app/index.mdx b/docs/studio-app/index.mdx
index 76e9762663..e7685c527d 100644
--- a/docs/studio-app/index.mdx
+++ b/docs/studio-app/index.mdx
@@ -30,7 +30,7 @@ green guide, points you to the next step along the way.
- Go to [hyperframes.dev/studio](https://hyperframes.dev/studio) and choose **Download for macOS** (in Safari or Firefox the button is **Apple Silicon**, with an **Intel** link next to it).
+ Go to [hyperframes.studio/studio](https://hyperframes.studio/studio) and choose **Download for macOS** (in Safari or Firefox the button is **Apple Silicon**, with an **Intel** link next to it).
Open the downloaded disk image and double-click **Install HyperFrames**. The installer copies the app into
@@ -46,7 +46,7 @@ green guide, points you to the next step along the way.
- Go to [hyperframes.dev/studio](https://hyperframes.dev/studio) and choose **Download for Windows**. You get
+ Go to [hyperframes.studio/studio](https://hyperframes.studio/studio) and choose **Download for Windows**. You get
`Install-HyperFrames.exe`.
@@ -58,7 +58,7 @@ green guide, points you to the next step along the way.
- Go to [hyperframes.dev/studio](https://hyperframes.dev/studio) and choose **Download** next to Linux (.deb).
+ Go to [hyperframes.studio/studio](https://hyperframes.studio/studio) and choose **Download** next to Linux (.deb).
You get `HyperFrames-amd64.deb` for 64-bit Intel and AMD computers on Debian, Ubuntu and their
relatives.
diff --git a/packages/cli/src/commands/publish.ts b/packages/cli/src/commands/publish.ts
index ddbe4545c4..f5a8a027c2 100644
--- a/packages/cli/src/commands/publish.ts
+++ b/packages/cli/src/commands/publish.ts
@@ -313,7 +313,7 @@ export default defineCommand({
console.log(` ${c.dim("Access")} ${c.accent("Sign in required to claim")}`);
console.log();
console.log(
- ` ${c.dim("Open the claim URL on hyperframes.dev, sign in, and claim the project to continue editing.")}`,
+ ` ${c.dim("Open the claim URL on hyperframes.studio, sign in, and claim the project to continue editing.")}`,
);
console.log();
const visibilityTip =
diff --git a/packages/cli/src/help.ts b/packages/cli/src/help.ts
index 82a7cc7fb1..27cd45ed0c 100644
--- a/packages/cli/src/help.ts
+++ b/packages/cli/src/help.ts
@@ -118,7 +118,7 @@ import type { Example } from "./commands/_examples.js";
const ROOT_EXAMPLES: Example[] = [
["Create a new project", "hyperframes init my-video"],
["Start the live preview studio", "hyperframes preview"],
- ["Publish to hyperframes.dev", "hyperframes publish"],
+ ["Publish to hyperframes.studio", "hyperframes publish"],
["Render to MP4", "hyperframes render -o out.mp4"],
["Transparent WebM overlay", "hyperframes render --format webm -o out.webm"],
["Validate your composition", "hyperframes lint"],
diff --git a/packages/cli/src/server/desktopRoutes.test.ts b/packages/cli/src/server/desktopRoutes.test.ts
index 625668621d..f77d354a1f 100644
--- a/packages/cli/src/server/desktopRoutes.test.ts
+++ b/packages/cli/src/server/desktopRoutes.test.ts
@@ -69,7 +69,7 @@ describe("open-in-desktop routes", () => {
"/api/open-in-desktop",
)
).json();
- const downloadUrl = "https://hyperframes.dev/studio/download?os=windows&src=browser-editor";
+ const downloadUrl = "https://hyperframes.studio/studio/download?os=windows&src=browser-editor";
expect(await get(false)).toEqual({
available: true,
handoff: false,
@@ -91,7 +91,7 @@ describe("open-in-desktop routes", () => {
expect(await get(false)).toEqual({
available: true,
handoff: false,
- downloadUrl: "https://hyperframes.dev/studio/download?src=browser-editor",
+ downloadUrl: "https://hyperframes.studio/studio/download?src=browser-editor",
os: "darwin",
installed: false,
});
diff --git a/packages/cli/src/utils/desktopApp.test.ts b/packages/cli/src/utils/desktopApp.test.ts
index 5c4e24cc56..89ef05d0c0 100644
--- a/packages/cli/src/utils/desktopApp.test.ts
+++ b/packages/cli/src/utils/desktopApp.test.ts
@@ -22,7 +22,7 @@ import {
} from "./desktopApp.js";
const LIVE = { ready: true, platform: "darwin" as const, env: {}, installed: () => true };
-const MAC_DOWNLOAD = "https://hyperframes.dev/studio/download?src=cli";
+const MAC_DOWNLOAD = "https://hyperframes.studio/studio/download?src=cli";
const MAC_HINT = `Keep editing by chatting with Framey in the HyperFrames desktop app → ${MAC_DOWNLOAD}`;
const FILM = resolve("films", "a");
const never = () => {
@@ -136,7 +136,7 @@ describe("openInDesktop", () => {
).toEqual({
opened: false,
reason: "unsupported-platform",
- downloadUrl: "https://hyperframes.dev/studio",
+ downloadUrl: "https://hyperframes.studio/studio",
});
});
});
@@ -167,7 +167,7 @@ describe("openInDesktop on Windows", () => {
expect(missing).toEqual({
opened: false,
reason: "not-installed",
- downloadUrl: "https://hyperframes.dev/studio/download?os=windows&src=cli",
+ downloadUrl: "https://hyperframes.studio/studio/download?os=windows&src=cli",
});
const failed = openInDesktop(FILM, { ...WIN, exists: () => true, launch: () => false });
expect(failed).toMatchObject({ opened: false, reason: "open-failed" });
@@ -211,7 +211,7 @@ describe("openInDesktop on Linux", () => {
const gone = { ...LINUX, read: (p: string) => moved[p] ?? null, exists: () => false };
expect(openInDesktop(FILM, { ...gone, launch: never })).toMatchObject({
reason: "not-installed",
- downloadUrl: "https://hyperframes.dev/studio/download?os=linux&src=cli",
+ downloadUrl: "https://hyperframes.studio/studio/download?os=linux&src=cli",
});
expect(openInDesktop(FILM, { ...LINUX, read: () => "{", launch: never })).toMatchObject({
reason: "not-installed",
@@ -353,9 +353,9 @@ describe("desktopHint", () => {
it("offers the Linux and Windows builds there, and nothing where there is no build", () => {
expect(desktopHint(process.cwd(), { env: {}, platform: "linux", installed: false })).toBe(
- `Keep editing by chatting with Framey in the HyperFrames desktop app → https://hyperframes.dev/studio/download?os=linux&src=cli`,
+ `Keep editing by chatting with Framey in the HyperFrames desktop app → https://hyperframes.studio/studio/download?os=linux&src=cli`,
);
- const windowsHint = `Keep editing by chatting with Framey in the HyperFrames desktop app → https://hyperframes.dev/studio/download?os=windows&src=cli`;
+ const windowsHint = `Keep editing by chatting with Framey in the HyperFrames desktop app → https://hyperframes.studio/studio/download?os=windows&src=cli`;
expect(desktopHint(process.cwd(), { env: {}, platform: "win32", installed: false })).toBe(
windowsHint,
);
diff --git a/packages/cli/src/utils/desktopApp.ts b/packages/cli/src/utils/desktopApp.ts
index a0ecaf9632..a802abf737 100644
--- a/packages/cli/src/utils/desktopApp.ts
+++ b/packages/cli/src/utils/desktopApp.ts
@@ -11,7 +11,7 @@ import { writeRecord } from "./projectRecords.js";
const DESKTOP_BUNDLE_IDS = ["dev.hyperframes.desktop", "dev.hyperframes.desktop.canary"] as const;
const DESKTOP_APP_NAMES = ["HyperFrames.app", "HyperFrames Canary.app"];
const APP_NAMES = ["HyperFrames", "HyperFrames Canary"] as const;
-const STUDIO_PAGE = "https://hyperframes.dev/studio";
+const STUDIO_PAGE = "https://hyperframes.studio/studio";
const DOWNLOADS: Partial> = {
darwin: `${STUDIO_PAGE}/download`,
linux: `${STUDIO_PAGE}/download?os=linux`,
diff --git a/skills-manifest.json b/skills-manifest.json
index 5f70adf603..587f7e8b11 100644
--- a/skills-manifest.json
+++ b/skills-manifest.json
@@ -14,7 +14,7 @@
"files": 13
},
"hyperframes-registry": {
- "hash": "221af9e7fbffe732",
+ "hash": "c70325ad4ad08849",
"files": 13
},
"media-use": {
diff --git a/skills/hyperframes-registry/references/contributing.md b/skills/hyperframes-registry/references/contributing.md
index 28eb495704..de02d47661 100644
--- a/skills/hyperframes-registry/references/contributing.md
+++ b/skills/hyperframes-registry/references/contributing.md
@@ -120,7 +120,7 @@ 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
+# Publish to hyperframes.studio for review
npx hyperframes publish
```
@@ -152,7 +152,7 @@ npx tsx scripts/generate-registry-items.ts
# 4. Generate catalog docs page
npx tsx scripts/generate-catalog-pages.ts
-# 5. Publish to hyperframes.dev so reviewers can preview
+# 5. Publish to hyperframes.studio so reviewers can preview
npx hyperframes publish
# 6. Stage everything
@@ -161,9 +161,9 @@ 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
+# 8. Push and open PR with hyperframes.studio link
git push origin feat/registry-{name}
-gh pr create --title "feat(registry): {name}" --body "preview: {hyperframes.dev-url}"
+gh pr create --title "feat(registry): {name}" --body "preview: {hyperframes.studio-url}"
```
**If you don't have a GitHub account:** you need one to open a PR. Sign up at https://github.com/signup, then run `gh auth login`.