Skip to content

Redesign /download as a get-the-app install guide - #20

Open
leoisadev1 wants to merge 5 commits into
mainfrom
cursor/download-install-guide-b8f7
Open

leoisadev1 wants to merge 5 commits into
mainfrom
cursor/download-install-guide-b8f7

Conversation

@leoisadev1

@leoisadev1 leoisadev1 commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

/download is now an install guide instead of an inventory grid.

What this does

  • Detected-OS primary CTA (Download for Linux / macOS / Windows) from the latest GitHub release manifest
  • Quiet OS switcher; three illustrated install steps for the selected format
  • Checksums and the AGPL/source block stay gone (keeps fix(web): strip dead Coming soon blocks on /download #35)
  • Unpublished primary downloads say Shipping today — no invented URLs
  • A published Linux AppImage (or the first published Linux artifact) is the primary button when the manifest has one
  • Extra published formats appear as Also links (?kind=); missing extras are hidden

Review fixes

Rebased onto current main (including #59 Shipping today chips) and addressed every Greptile finding:

  • P1 — Zip as primary: Mac/Windows zip builds now have real unpack / launch steps and matching pictures, instead of dmg/msi installer copy
  • P1 — Also format tracking: ?kind= selects .deb / .rpm / .tar.gz / zip and updates both the steps and pictures
  • P2 — Windows MSI: promises a Start menu shortcut only (Explorer menu is not in the installer yet)
  • P2 — Archives: launch ./convt-app (desktop app), not the convt CLI; no invented Linux menu helper (menus ship with deb/rpm)
  • P2 — Processor label: shown again next to the download (e.g. Apple silicon for macos-arm64)
  • P2 — README: describes the primary download plus published extras only

Install guide

macOS (disk image, Apple silicon; Also zip):

macOS install guide

macOS zip (unpack steps, not dmg copy):

macOS zip install guide

Windows (MSI, 64-bit, Start menu shortcut only):

Windows install guide

Linux AppImage (Also deb / rpm / tar.gz):

Linux AppImage install guide

Linux .deb (Also switches the steps and pictures):

Linux deb install guide

Linux mobile (390px):

Linux install guide on a phone-width viewport

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

Devin Review

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 4 potential issues.

Devin Review

Comment thread apps/web/src/routes/_site/download.tsx Outdated
function DownloadPage() {
const { os, release } = Route.useLoaderData();
const published = release.slots.some((s) => s.artifact);
const primary = os ? release.slots.find((s) => s.os === os) : undefined;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Available builds receive a coming-soon button

When a release lacks its expected first format, primary selects the empty slot despite published alternatives. The main button says “Coming soon,” and InstallGuide describes an unavailable format.

Learn more

The release model creates expected slots even when their artifacts are absent. The first slot for Linux is AppImage, and the first for Windows is MSI in releaseFromManifest and releaseFromManifest. The page uses that first slot as both the primary button and the kind passed to the install guide. If another format is published, the page still has a valid download, but its prominent action cannot access it.

Example: A ready release contains a Windows .exe but no .msi. The main Windows button says “Coming soon,” while the executable appears only under “Also”; the guide still describes the MSI-oriented flow.

Recommended fix: Pick the first slot with a published artifact for the selected OS, falling back to the expected first slot only when none is published. Keep the displayed format and install guide aligned with that selected artifact.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread apps/web/src/routes/_site/download.tsx Outdated
Comment on lines +116 to +124
{extras.map((slot, index) => {
const artifact = slot.artifact;
if (!artifact) return null;
return (
<span key={slot.kind}>
{index > 0 && ", "}
<TextLink href={artifact.url} className="font-normal">
{kindLabels[slot.kind].title}
</TextLink>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Alternative Linux downloads show AppImage steps

When a visitor downloads a Linux .deb, .rpm, or tarball through extras, InstallGuide still receives the AppImage primary.kind. The displayed steps tell them to run an AppImage instead of installing their chosen package.

Learn more

The first Linux slot is AppImage even when other formats are published, as defined by releaseFromManifest. The alternative links here navigate directly to artifact URLs. They never record which format the visitor downloaded, while the guide uses primary.kind. Thus the dedicated .deb, .rpm, and tarball branches of installSteps cannot be reached by visitors downloading those formats.

Example: A visitor clicks “Debian package (.deb)” under “Also”. Their browser downloads a .deb, but the page says to make an AppImage executable and double-click it.

Recommended fix: Route each alternate format through a page state or kind query parameter that selects that artifact and its matching guide before the download, or offer format-specific instructions alongside each alternative. Preserve direct download access.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread apps/web/src/lib/install-guide.ts Outdated
Comment on lines +35 to +36
title: "Follow the installer",
body: "It puts convt on this computer and adds the right-click menu.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Install guide promises unavailable integrations

The Windows installSteps claims MSI installation adds a right-click menu, but the installer adds no Explorer integration. Mac dragging likewise never places the bundled convt command on PATH.

Learn more

The install guide describes features as present after completing its steps. The Windows installer contains only the payload and Start menu shortcut; Windows packaging identifies Explorer integration as future work. On macOS, the bundle layout puts the CLI inside convt.app/Contents/MacOS, but the DMG only copies the app and adds a link to Applications. The steps do not make that binary available as convt in a shell.

Example: Someone installs the MSI and right-clicks a file; there is no convt Explorer action. Someone drags the Mac app to Applications and types convt in a terminal; no command is found unless they manually configure PATH or a symlink.

Recommended fix: Describe only installed integrations, or implement the Explorer integration and a documented CLI PATH setup. Update the Mac step separately to show how to invoke or expose the bundled CLI.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread apps/web/README.md Outdated
| `content/openapi.placeholder.json` | `/docs/api` | Used only while `src/generated/openapi.json` is missing; the page then says the API is a preview. |

The release manifest is optional. Without it, or while its `distribution_ready` is false, every download and the source archive show "Coming soon" and nothing is linked. With it, the page lists the newest build's artifacts by platform and kind, and keeps the expected slots (macOS `dmg`, Windows `exe`, Linux `AppImage`, `deb`, `rpm`, `tar.gz`) that the build lacks as "Coming soon".
The release manifest is optional. Without it, or while its `distribution_ready` is false, the primary download for each OS shows "Coming soon" and nothing is linked. With it, the page offers the newest build for the visitor's OS and keeps missing expected slots (macOS `dmg`, Windows `msi`, Linux `AppImage`, `deb`, `rpm`, `tar.gz`) as "Coming soon".

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 README overstates visible pending downloads

The page shows “Coming soon” only for an unpublished primary format; it hides other unpublished formats. The README still says it keeps every missing expected slot visible.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

@greptile-apps

greptile-apps Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5 Tier: apex

[Medium risk] Redesigns the download page UI and install guidance flow.

The PR appears safe to merge; the remaining install-guide feedback is non-blocking.

Fix All in Claude CodeFindings

  1. P2 Terminal installs miss required libraries ▶
  2. P2 Windows menu promise is wrong ▶

Summary

Replaces the /download grid with an OS-specific download button, published extra formats, and three illustrated install steps.

  • Format selection now updates both the steps and pictures.
  • Zip instructions, archive launcher text, processor labels, and README wording were corrected.
  • Recommend one small correction to the Linux terminal install commands.
  • All seven earlier threads were rechecked. Tests and browser checks were not run; the testing guide was not mounted, and browser checks require permission.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A["OS from URL or browser"] --> C["selectedSlot"]
  B["Latest release manifest"] --> C
  K["Format from kind"] --> C
  C --> D{"Published file?"}
  D -- Yes --> E["Download button"]
  D -- No --> F["Shipping today"]
  C --> G["Matching steps and pictures"]
  C --> H["Other published formats"]
  H -- Choose a format --> K
Loading

Reviews (5) · Last reviewed commit: "style(web): format install-guide art com..." · Reviewed by Greptile

Comment thread apps/web/src/routes/_site/download.tsx Outdated
Comment thread apps/web/src/lib/install-guide.ts Outdated
},
{
title: "Follow the installer",
body: "It puts convt on this computer and adds the right-click menu.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Windows menu promise is wrong

The guide says the Windows installer adds a right-click menu, but the current MSI only installs the files and a Start menu shortcut. Explorer integration is still separate work. Remove this promise until the installer actually adds it, so users do not look for a menu that is not there.

Correctness confidence: 5/5.

Suggested change
body: "It puts convt on this computer and adds the right-click menu.",
body: "It puts convt on this computer and adds a Start menu shortcut.",

Fix in Claude Code

Comment thread apps/web/src/lib/install-guide.ts Outdated
Comment thread apps/web/src/lib/install-guide.ts Outdated
Comment thread apps/web/src/routes/_site/download.tsx Outdated
@cursor
cursor Bot force-pushed the cursor/download-install-guide-b8f7 branch from 13ea992 to 7f2c169 Compare October 7, 2026 03:26
Comment thread apps/web/README.md Outdated
@cursor
cursor Bot force-pushed the cursor/download-install-guide-b8f7 branch from 3549505 to d318596 Compare October 7, 2026 04:20
Comment thread apps/web/src/lib/install-guide.ts Outdated
cursoragent and others added 4 commits October 7, 2026 12:58
The page now leads with the detected OS download and quiet links for the others, then three install steps for that OS. Checksums and the AGPL source block are gone; missing builds still show Coming soon in the same layout.

Co-authored-by: Leo <leoisadev1@users.noreply.github.com>
…build

FolderGlyph x/y are numbers; passing strings failed `tsc`. The download
page now leads with a published artifact for the visitor's OS, so a
Linux AppImage in the GitHub latest manifest is the primary button
instead of an empty Coming soon slot.

Co-authored-by: Leo <leoisadev1@users.noreply.github.com>
Rust (Linux, core) failed in renamed_binary_uses_convt_in_help_and_errors
while copying the CLI binary. This PR only changes the website download
page; the same job passed on the sibling PRs.

Co-authored-by: Leo <leoisadev1@users.noreply.github.com>
Zip builds get archive steps and pictures instead of dmg/msi copy.
Also links set ?kind= so Linux .deb/.rpm/.tar.gz show matching steps.
Windows MSI promises a Start menu shortcut only; archives launch
./convt-app and no longer invent a menu helper. Published downloads
show the processor (Apple silicon, 64-bit) next to the file kind.

Co-authored-by: Leo <leoisadev1@users.noreply.github.com>
@cursor
cursor Bot force-pushed the cursor/download-install-guide-b8f7 branch from d318596 to 23f2ce2 Compare October 7, 2026 13:02
Co-authored-by: Leo <leoisadev1@users.noreply.github.com>
},
{
title: "Install the package",
body: "Confirm the install. You can also run sudo dpkg -i on the file.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Terminal installs miss required libraries

If a required graphics or desktop library is missing, the suggested dpkg -i and rpm -i commands cannot finish the install because they do not fetch it. Debian can leave the package unconfigured; RPM refuses the install. The same concern applies to the RPM step below.

Use sudo apt install ./file.deb and sudo dnf install ./file.rpm or sudo zypper install ./file.rpm instead.

Correctness confidence: 5/5.

Fix in Claude Code

This branch has not been deployed

No deployments
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