Skip to content

feat(studio): restyle Studio for promptwise, trim CI to Studio and the CLI - #1

Merged
P5ina merged 8 commits into
mainfrom
claude/project-thread-82evdk
Oct 29, 2026
Merged

P5ina merged 8 commits into
mainfrom
claude/project-thread-82evdk

Conversation

@P5ina

@P5ina P5ina commented Oct 29, 2026 •

Copy link
Copy Markdown

What

Restyles HyperFrames Studio so it can replace promptwise's Timeline tab:

  • It uses BoardUI tokens, Inter and JetBrains Mono, Remix icons and the promptwise mark.
  • Our builds have HeyGen telemetry off.
  • Studio has an embedded mode for when it runs inside promptwise.
  • A release workflow ships the CLI with this Studio as an npm tarball.
  • CI keeps only the checks for what this fork changes.

Why

Timur chose to fork HyperFrames Studio instead of keeping our own timeline editor. Studio shows overlays as live HTML, which also fixes Safari's live preview (it can't show VP9 alpha). Timur asked to remove the CI the fork doesn't need.

Before

Upstream Studio:

Upstream Studio

After

Dark:

promptwise Studio, dark

Light:

promptwise Studio, light

Embedded in an iframe, with the agent chip:

Embedded Studio

Related work

Step 1 of the 5-PR plan: https://claude.ai/artifact/1oY2CCj6f1JbiePziooT3Z

How

  • Icons: src/promptwise/phosphor-remix.tsx exports every Phosphor name Studio uses, backed by @remixicon/react. It honours IconContext. Vite and tsconfig alias @phosphor-icons/react to that file.
  • Look: src/promptwise/theme.css is an unlayered :root override of Studio's tokens with BoardUI values, light and dark.
    • Dock tabs get 2px less padding, so the left group's four tabs fit in Inter at the default width.
    • hex-baseline.json counts the new file's colours.
  • Header: the promptwise mark replaces the logo. The desktop-app button is removed.
  • Telemetry: our release builds Studio with VITE_HYPERFRAMES_NO_TELEMETRY=1. The sandbox sets HYPERFRAMES_NO_TELEMETRY=1 for the CLI. Upstream's telemetry code is unchanged.
  • Embedded mode: src/promptwise/embed.ts turns it on when Studio runs inside another page.
    • The theme toggle is hidden. The theme comes from ?theme=light|dark, which index.html reads.
    • "Describe a change to the agent" posts {type: "promptwise:ask-agent"} to the parent page.
    • Outside promptwise the chip is hidden, and its test covers that.
  • Release: .github/workflows/promptwise-release.yml runs on promptwise-v* tags. It packs packages/cli as hyperframes, the name upstream publishes it under, and attaches the tarball to a GitHub release.
  • CI: ci.yml runs four jobs: lint, format and typecheck; the Studio tests; the CLI tests; and the Studio load smoke.
    • Upstream's other 19 workflows are deleted, along with CodeQL's config, CODEOWNERS and Renovate. They covered renders, Windows lanes, Lambda images, the catalog, npm publish, perf benches and PR-body gates.
    • publish.yml would have tried to release upstream's packages from our main.

Test plan

  • Unit tests added or updated.
    • Studio's full vitest suite passes.
    • So do the CLI telemetry tests, the skills tests and the media-use copy parity test.
  • Manual testing performed.
    • scripts/studio-runtime-smoke.mjs passes.
    • Screenshots of hyperframes preview look right in light, in dark, and inside an iframe.
    • The iframe chip posts promptwise:ask-agent to the parent page.
    • The packed tarball installs with npm and serves this Studio.
    • bun run format:check and oxlint pass for packages/studio and packages/cli.
  • Documentation updated (if applicable)
  • Comments follow CONTRIBUTING.md "Comments"

🤖 Generated with Claude Code

https://claude.ai/code/session_01TxF6LmXTzH1ddsYtpnkrkh

Swaps the logo for the promptwise mark, removes HeyGen telemetry keys and the
desktop button. Embedded in promptwise's Timeline tab, Studio hides its theme
toggle and the 'Describe a change to the agent' chip asks the parent page to
focus its chat.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TxF6LmXTzH1ddsYtpnkrkh
@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Edit accuracy: accurate 271 (base branch 271), smooth 182 of those

The gate passes.
Smoothness is reported in the artifact, not gated. A case fails only if it fails 2 of 3 runs.

Quarantined, measured but not gated (0)

…honour IconContext

HeyGen telemetry is now off at build time (VITE_HYPERFRAMES_NO_TELEMETRY in the
release workflow) instead of blanked keys, which kept upstream's tests and the
media-use copy parity intact.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TxF6LmXTzH1ddsYtpnkrkh
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TxF6LmXTzH1ddsYtpnkrkh
…ting them

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TxF6LmXTzH1ddsYtpnkrkh
Upstream's renders, Windows lanes, Lambda images, catalog, npm publish, perf benches,
CodeQL and its PR-body gates test code this fork does not change, and publish.yml
would try to release upstream's packages. CI now runs lint, format, typecheck,
the Studio and CLI tests and the Studio load smoke.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TxF6LmXTzH1ddsYtpnkrkh
@P5ina P5ina changed the title feat(studio): restyle Studio for promptwise feat(studio): restyle Studio for promptwise, trim CI to Studio and the CLI Oct 29, 2026
@P5ina
P5ina marked this pull request as ready for review October 29, 2026 18:24
@P5ina
P5ina merged commit 0e1050e into main Oct 29, 2026
4 checks passed
P5ina pushed a commit that referenced this pull request Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants