feat(frontend): expand onboarding product options - #5633
Conversation
NicholasKissel
commented
Sep 2, 2026
- Add branded onboarding choices for Rivet Actors, agentOS, Workflows, and Dynamic Apps.
- Tailor quickstarts and coding-agent prompts for each product while preserving flavor-specific availability.
- Keep product switching, step progress, and responsive card states synchronized.
|
🚅 Deployed to the actors-pr-5633 environment in rivet-frontend
|
bb97614 to
5db3135
Compare
ReviewReviewed the diff for 1.
|
5db3135 to
3f4c1e3
Compare
|
Onboarding after the MCP + prompt changes, OSS flavor ( Step 1 — product picker Step 2 — deploy. MCP is folded into the existing "Use your coding agent" prompt rather than a separate card, so the flow keeps one agent affordance. The banner notes it, and the copied prompt carries a Cloud flavor screenshots to follow. |
3f4c1e3 to
3f1b034
Compare
Cloud flavor onboardingCaptured against a local k3d platform stack with the cloud feature-flag set ( Step 1 — Run locally. Product selector with all four targets. Step 2 — Deploy to Rivet Compute. Two changes from the review round are visible here:
On this flavor |
3f1b034 to
7df6e8f
Compare
Updated: build-target cards
Also visible here: the top-of-flow banner now carries the MCP line, matching the deploy-step banner. Previously only the lower banners mentioned it, so the first banner under-promised what the copied prompt actually does. |
7df6e8f to
b58c258
Compare
b58c258 to
d8f95cc
Compare
Updated: step 1 headingCollapsed the duplicated headings on the first step. It previously stacked a step title ("Run locally"), a description ("Choose a product and get it running on your machine."), and then a second label right above the cards ("What are you building?"). Now it's a single heading: Select a product. Also dropped the step's |
d8f95cc to
604e868
Compare
604e868 to
3e2cf61
Compare
Product picker is now a launcherThe first screen is just the product grid. Clicking a card submits the step and advances, so the copy-prompt, quickstart banner, and Continue button are gone from it.
Two bugs found while wiring this upStepper computed next-step visibility from stale values. Rivet Compute could not be re-selected on the deploy step. Worth a follow-up outside this PR: adding |
Actors page: create button out, add-component picker inThe Create Actor button is gone from both the section header and the empty state, in both flavors. The cloud In its place, a dashed Add a component tile sits as the last cell of the grid, matching To keep the dialog and the onboarding step from drifting, the picker moved to a shared Also here: the progress line reads "Step 1 of 3" instead of "Step 1 of 3 · Local setup", and the Dynamic Apps card no longer wraps to two lines in the dialog's narrow column (the flex row was letting the label shrink below its content width to make room for the Preview badge). Onboarding skeleton no longer flashes the wrong shapeEntering a namespace bound for the onboarding wizard briefly rendered the actors-grid skeleton first. The namespace route's The pending component now derives the destination synchronously from the query cache and renders an onboarding-shaped skeleton when that says onboarding. Since This also turned up a flavor divergence: the OSS route had no VerificationExercised in the browser on the cloud flavor: grid with the tile, the dialog, product selection opening the right docs URL, and the full onboarding flow. The grid needed MSW dev mocks ( |
bdf1cd3 to
98603b5
Compare
OSS verificationVerified both commits on the OSS flavor against the local RocksDB engine, with real builds rather than mocks.
Two notes on the skeleton commit: The engine pending component reads its data provider from Fixed a mismatch while verifying: the skeleton drew four progress segments while the wizard now has three steps, so the bar would have visibly re-flowed on mount. Now three, with a note that agentOS only adds steps after a product is picked, which is past this skeleton. I could not force the exact pending window in a live browser. Warming the cache also satisfies the loader, so the route resolves without ever entering the pending state, which is the intended end result. The skeleton itself was verified through its Ladle story. |












