Skip to content

Square onboarding starter cards with Choose your own adventure - #806

Merged
kody-bot merged 1 commit into
mainfrom
cursor/onboarding-square-cards-3a1c
Jul 20, 2026
Merged

kody-bot merged 1 commit into
mainfrom
cursor/onboarding-square-cards-3a1c

Conversation

@kentcdodds

@kentcdodds kentcdodds commented Jul 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

Tightens the onboarding install step: denser square cards for featured packages, removes the separate setup-prompt step, and adds a trailing Choose your own adventure card that copies the open-ended agent prompt (what used to be step 2).

Changes

  • Starter packages render in a responsive square-card grid (Install β†’ Installing β†’ Copy prompt unchanged)
  • Trailing DIY card copies buildOnboardingSetupPrompt() for custom exploration/build
  • Featured listing cap raised from 6 β†’ 12 so more starters fit
  • Step numbering is now: 1) MCP connect, 2) Install a starter (or DIY)
  • Docs + featured e2e updated (DIY always present)
System recap β€” composes existing primitives (low risk)

Mode: recap Β· Base: main @ 49680f32 Β· Head: 56345528

Classification: composes β€” UI/layout and copy for onboarding starters; reuses existing install API and setup prompt.

Primitives touched

Primitive Group Impact
app-ui surfaces composes β€” square starter grid + DIY copy-prompt card

System map

Onboarding step 2 focuses on starter install cards; DIY copies the former setup prompt.

Legend: green = composes (wiring only) Β· amber = extended by this PR Β· red = new primitive Β· gray = context (unchanged, included only when an edge crosses it).

flowchart LR
	appUi["app-ui<br/>Browser app (Remix 3)"]:::touched
	appUi -->|"featured grid + DIY card"| appUi
	classDef touched fill:#1a7f37,color:#fff
	classDef extended fill:#9a6700,color:#fff
	classDef added fill:#cf222e,color:#fff
	classDef untouched fill:#57606a,color:#fff
Loading

Change flow

flowchart TD
	mcp[1 Add MCP server]
	grid[2 Square starter card grid]
	install[Install featured package]
	diy[Choose your own adventure]
	prompt[Copy open-ended setup prompt]
	mcp --> grid
	grid --> install
	grid --> diy --> prompt
Loading
Open in WebΒ Open in CursorΒ 

Summary by CodeRabbit

  • New Features
    • Added a square-card grid for installing starter packages directly from onboarding.
    • Added β€œCopy prompt” actions for agent setup.
    • Added a β€œChoose your own adventure” card for custom integrations.
    • Increased the number of featured starter packages shown from 6 to 12.
  • Documentation
    • Updated onboarding and agent connection guidance to reflect the new starter package and DIY setup experience.
  • Bug Fixes
    • Improved onboarding behavior and layout across featured and non-featured package scenarios.

Remove the separate setup-prompt step; focus step 2 on a denser card
grid of featured packages plus a trailing Choose your own adventure
card that copies the open-ended agent prompt. Raise the featured cap
to 12 so more starters fit.
@coderabbitai

coderabbitai Bot commented Jul 20, 2026 •

Copy link
Copy Markdown

Review Change Stack

πŸ“ Walkthrough

Walkthrough

Onboarding now supports up to 12 featured starter packages in a responsive card grid, adds a persistent DIY prompt card with clipboard feedback, updates starter-card styling and route flow, and revises documentation and end-to-end expectations.

Changes

Featured onboarding flow

Layer / File(s) Summary
Featured listing limit and onboarding contract
packages/worker/src/app/community-data.ts, docs/contributing/community-packages.md, docs/use/community-packages.md, docs/use/connect-your-agent.md
The featured listing limit increases from 6 to 12, and documentation describes in-place installation, copy prompts, and the DIY path.
Starter and DIY card implementation
packages/worker/client/routes/onboarding-starter-card.tsx, packages/worker/client/routes/onboarding-diy-card.tsx
Starter cards receive responsive grid-oriented markup and styling, while the new DIY card copies setup prompts and reports copied or failed states.
Onboarding route integration
packages/worker/client/routes/onboarding.tsx
The route renders featured starter cards and always includes the DIY card in the responsive starter-package grid.
Featured onboarding validation
e2e/community-featured.spec.ts
End-to-end checks cover the starter-package area, persistent DIY card, featured-card removal, and updated onboarding states.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Member
  participant OnboardingRoute
  participant OnboardingStarterCard
  participant OnboardingDiyCard
  participant Clipboard
  Member->>OnboardingRoute: Open onboarding
  OnboardingRoute->>OnboardingStarterCard: Render featured listings
  OnboardingRoute->>OnboardingDiyCard: Render setup prompt
  Member->>OnboardingStarterCard: Install or copy prompt
  Member->>OnboardingDiyCard: Copy DIY prompt
  OnboardingDiyCard->>Clipboard: Write setup prompt
  Clipboard-->>OnboardingDiyCard: Return copy result
Loading

Possibly related PRs

πŸš₯ Pre-merge checks | βœ… 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 28.57% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
βœ… Passed checks (4 passed)
Check name Status Explanation
Description Check βœ… Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check βœ… Passed The title accurately summarizes the main UI change: square onboarding starter cards plus a Choose your own adventure card.
Linked Issues check βœ… Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check βœ… Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
πŸ“ Generate docstrings
  • Create stacked PR
  • Commit on current branch
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/onboarding-square-cards-3a1c

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands.

@kody-bot
kody-bot marked this pull request as ready for review July 20, 2026 18:54
@github-actions

Copy link
Copy Markdown
Contributor

πŸ”Ž Preview deployed: https://kody-pr-806.kody-a99.workers.dev

Worker: kody-pr-806
D1: kody-pr-806-db
KV: kody-pr-806-oauth-kv

Mocks:

@coderabbitai coderabbitai 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.

🧹 Nitpick comments (1)
packages/worker/client/routes/onboarding-diy-card.tsx (1)

168-178: πŸ“ Maintainability & Code Quality | πŸ”΅ Trivial | πŸ’€ Low value

Export and reuse tooltipSurfaceCss to avoid duplication.

This object is an exact duplicate of tooltipSurfaceCss in onboarding-starter-card.tsx. Consider exporting it from there and importing it here to ensure the tooltip styling remains consistent across onboarding cards.

πŸ› οΈ Proposed refactor

In packages/worker/client/routes/onboarding-starter-card.tsx, export the style object:

-const tooltipSurfaceCss = {
+export const tooltipSurfaceCss = {

Then, update the imports in this file:

 import {
 	starterCardCss,
 	starterCardItemCss,
+	tooltipSurfaceCss,
 } from '`#client/routes/onboarding-starter-card.tsx`'

And remove the duplicated block from this file:

-const tooltipSurfaceCss = {
-	maxWidth: '16rem',
-	padding: `${spacing.xs} ${spacing.sm}`,
-	borderRadius: radius.md,
-	backgroundColor: colors.surface,
-	color: colors.text,
-	fontSize: typography.fontSize.sm,
-	lineHeight: 1.4,
-	boxShadow: shadows.md,
-	border: `1px solid ${colors.border}`,
-}
πŸ€– Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/worker/client/routes/onboarding-diy-card.tsx` around lines 168 -
178, Export the existing tooltipSurfaceCss object from
onboarding-starter-card.tsx, import and reuse that symbol in
onboarding-diy-card.tsx, and remove the duplicate local definition while
preserving all current styling behavior.
πŸ€– Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@packages/worker/client/routes/onboarding-diy-card.tsx`:
- Around line 168-178: Export the existing tooltipSurfaceCss object from
onboarding-starter-card.tsx, import and reuse that symbol in
onboarding-diy-card.tsx, and remove the duplicate local definition while
preserving all current styling behavior.

ℹ️ Review info
βš™οΈ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 16260061-4ed9-4aa7-8021-b8493087d987

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 49680f3 and 5634552.

πŸ“’ Files selected for processing (8)
  • docs/contributing/community-packages.md
  • docs/use/community-packages.md
  • docs/use/connect-your-agent.md
  • e2e/community-featured.spec.ts
  • packages/worker/client/routes/onboarding-diy-card.tsx
  • packages/worker/client/routes/onboarding-starter-card.tsx
  • packages/worker/client/routes/onboarding.tsx
  • packages/worker/src/app/community-data.ts

@kody-bot
kody-bot merged commit e2c0e6c into main Jul 20, 2026
7 checks passed
@kody-bot
kody-bot deleted the cursor/onboarding-square-cards-3a1c branch July 20, 2026 19:02
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.

3 participants