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
Check · Review · Land · Live done — Landed and live in production.
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
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
paceRowsinsrc/tui/screens/about.tscallsappPacefromsrc/actions/apps.ts. That function already wrapsgoldenPathLine(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 whatgoldenPathLinereturns. I keptgoldenPathLine'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 pathtext 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
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:
- docs/TOUR.md ("How long the golden path took") lists where the pace shows; add the About card (I) to that sentence.
- The test inserts deploy and pull rows with raw SQL; a small shared helper for that would help the next pace test.
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 examplefirst preview 3m after New app · in production 1h.paceRowsinsrc/tui/screens/about.tscallsappPacefromsrc/actions/apps.ts. That function already wrapsgoldenPathLine(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.first preview in 3 min · first production in 1 h) differs from whatgoldenPathLinereturns. I keptgoldenPathLine's words, since the issue asks for the same words as the apps page, and left that function alone.test/tui-about-golden.test.tscovers four cases:golden pathtext on a plain repository.The new test, the existing About-card tests and
test/golden-path.test.tspass, andbun x tsc --noEmitis 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