Skip to content

Declare a showcase frame for the hqtui.com apps gallery - #36

Merged
ralyodio merged 1 commit into
mainfrom
worktree-apps-showcase-frame
Sep 8, 2026
Merged

Declare a showcase frame for the hqtui.com apps gallery#36
ralyodio merged 1 commit into
mainfrom
worktree-apps-showcase-frame

Conversation

@ralyodio

@ralyodio ralyodio commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

hqtui.com/apps captures screenshots of applications built on the library. The capture script takes an application directory and imports scripts/showcase.ts from it, because only the application knows what a good state looks like.

This adds ours: the two-pane browser mid-transfer.

 DiskPush  two-pane rsync browser                              Local → deploy@edge-01  ? help
╭─  ▪ Local  ──────────── ~/src/profullstack/diskpush ─╮╭─  ▪ deploy@edge-01  ──── /srv/releases ─╮
│ ▸ apps                                    —   09:12  ││ ▸ releases                    —   09:20 │
│ ▸ dist                                    —   09:18  ││   checksums.txt            312B   09:19 │
│   bun.lock                             184K   08:55  ││   diskpush-0.6.0.tar.gz    9.4M   09:19 │
╰─  6 items  ·  190K  ·  name▲  ───────────────────────╯╰─  4 items  ·  19M  ·  name▲  ──────────╯
╭─  Syncing  ───────────── …diskpush/dist  →  deploy@edge-01:/srv/releases ─╮
│ copy ███████████████████████████████████████████▉──────────────────  78%  │
│   7.3M  ·  2.3M/s  ·  2 files                                  0:01 left  │
│  +1   ~1   =1                                                             │
│ ADD   diskpush-0.6.0.tar.gz                                        9.4M   │
╰─  esc  cancel  ───────────────────────────────────────────────────────────╯

Why a fixture

A screenshot from a real run changes on every capture, and would publish whatever happened to be in somebody's home directory and on the far end of an SSH connection. Neither reviewable in a diff nor safe to put on a website.

Why it is typed rather than cast

The state is built from the real Change, ChangeSummary, RsyncProgress and Transfer types, with no as unknown as anywhere, so this file stops compiling if the model moves underneath it. A showcase frame that has silently drifted from the application is worse than no frame — it is a screenshot of something that no longer exists.

Writing it that way caught my own first draft, which invented a Transfer shape (changes, done, total, bytes) that the model does not have.

Checks

  • npx tsc --noEmit on the new file: clean
  • npx vitest run: 1 failed / 398 passed, identical with and without this change — verified against a stashed baseline. The 19 collection failures and the one failing test are pre-existing and untouched here.
  • Frame renders: the output above is the real renderToText, not a mock-up.

This adds nothing to the shipped CLI — it is a build-time fixture only.

🤖 Generated with Claude Code

https://claude.ai/code/session_017Df2FNu5DhinMV2soRz3cy

hqtui.com/apps captures screenshots of applications built on the
library. The capture script takes an application directory and imports
`scripts/showcase.ts` from it, because only the application knows what
a good state looks like.

The frame is a fixture, not a live session. A screenshot from a real
run changes on every capture and would show whatever happened to be in
somebody's home directory and on the far end of an SSH connection --
neither reviewable in a diff nor safe to publish.

It is built from the real Change, ChangeSummary, RsyncProgress and
Transfer types rather than cast into shape, so it stops compiling if
the model moves. A showcase frame that has silently drifted from the
app is worse than no frame.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017Df2FNu5DhinMV2soRz3cy
@ralyodio
ralyodio merged commit 1647e8f into main Sep 8, 2026
4 checks passed
@ralyodio
ralyodio deleted the worktree-apps-showcase-frame branch September 8, 2026 15:09
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.

1 participant