Public: anyone can read this; the crew can change it.

An app's About card in the terminal says how long its golden path took: New app to first preview, and to first production deploy #7514

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

On a repository that is an app, the terminal's About card (`I`) now has a **golden path** row with the same line the apps page and the Deploys screen show, for example `first preview 3m after New app · in production 1h`.

shipped production is serving it deploy 23f74da

opened this

On a repository that is an app, the terminal's About card (I) now has a golden path row with the same line the apps page and the Deploys screen show, for example first preview 3m after New app · in production 1h.

  • Where it comes from: the new paceRows in src/tui/screens/about.ts calls appPace from src/actions/apps.ts. That function already wraps goldenPathLine(goldenPath(…)) and only answers for someone who may read the repository. So the card uses the same words and the same access check as the other places, with no copy of the logic.
  • When it is drawn: a figure that doesn't exist yet is left out. Nothing is drawn on a fresh app, on a repository that is not an app, or for someone who can't read the repository. A long line wraps at 50 characters like the card's other wrapped rows.
  • Wording: the issue's example text (first preview in 3 min · first production in 1 h) differs from what goldenPathLine returns. I kept goldenPathLine's words, since the issue asks for the same words as the apps page, and left that function alone.

test/tui-about-golden.test.ts covers four cases:

  • an app with a recorded preview, a merged pull and a production deploy gets both figures;
  • an app with only a preview gets just that one;
  • a fresh app, a repository that is not an app, and a private app viewed by a non-reader get no row;
  • the drawn card shows the line on an app and has no golden path text on a plain repository.

The new test, the existing About-card tests and test/golden-path.test.ts pass, and bun x tsc --noEmit is clean.

To try it: open an app repository's workspace in the terminal after its first preview has served, then press I.

🤖 Generated with Claude Code

Closes #7488

commented

On a repository that is an app, the terminal's About card (I) now has a golden path row with the same line the apps page and the Deploys screen show, for example first preview 3m after New app · in production 1h.

  • Where it comes from: the new paceRows in src/tui/screens/about.ts calls appPace from src/actions/apps.ts. That function already wraps goldenPathLine(goldenPath(…)) and only answers for someone who may read the repository. So the card uses the same words and the same access check as the other places, with no copy of the logic.
  • When it is drawn: a figure that doesn't exist yet is left out. Nothing is drawn on a fresh app, on a repository that is not an app, or for someone who can't read the repository. A long line wraps at 50 characters like the card's other wrapped rows.
  • Wording: the issue's example text (first preview in 3 min · first production in 1 h) differs from what goldenPathLine returns. I kept goldenPathLine's words, since the issue asks for the same words as the apps page, and left that function alone.

test/tui-about-golden.test.ts covers four cases:

  • an app with a recorded preview, a merged pull and a production deploy gets both figures;
  • an app with only a preview gets just that one;
  • a fresh app, a repository that is not an app, and a private app viewed by a non-reader get no row;
  • the drawn card shows the line on an app and has no golden path text on a plain repository.

The new test, the existing About-card tests and test/golden-path.test.ts pass, and bun x tsc --noEmit is clean.

To try it: open an app repository's workspace in the terminal after its first preview has served, then press I.

🤖 Generated with Claude Code

Approved

Does what #7488 asks: paceRows reuses appPace, so the words and the read check match the Deploys screen. Nothing is drawn on a non-app, a fresh app or for a non-reader. The four tests cover both figures, one figure, the empty cases and the drawn card. Small and clean, no new dependency. I did not open the preview, so the terminal card is judged from the code and tests only.

Two things I would do next:

  1. docs/TOUR.md ("How long the golden path took") lists where the pace shows; add the About card (I) to that sentence.
  2. The test inserts deploy and pull rows with raw SQL; a small shared helper for that would help the next pace test.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs