Skip to content

Prefer forking trusted community packages over creating from scratch - #804

Merged
kody-bot merged 3 commits into
mainfrom
cursor/fork-first-onboarding-3a1c
Jul 20, 2026
Merged

kody-bot merged 3 commits into
mainfrom
cursor/fork-first-onboarding-3a1c

Conversation

@kentcdodds

@kentcdodds kentcdodds commented Jul 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

Agents were steered to create packages after integration bootstrap, while community forking lived off the default path. This change steers agents to prefer trusted/close community packages first, and adds in-place one-click install on onboarding starter cards.

Agent steering

  • Onboarding setup prompt, MCP package lifecycle instructions, and package_lifecycle / integration_bootstrap guides now say: after smoke test, community_search (prefer trusted), fork/adapt when close, create only when nothing suitable exists
  • Light usage/contributing doc updates to match

Onboarding UI

  • Starter cards keep a detail link, plus Install → Installing → Copy prompt
  • Copy prompt uses remix/ui/popover as a hover/focus tooltip (Remix has no dedicated Tooltip)
  • Reuses existing POST /community/:listingId/install.json (featured listings are trusted)

Tests

  • Unit coverage for setup-prompt wording
  • Featured e2e covers Install → Copy prompt (install.json mocked locally; clears leftover featured_at marks)
System recap — composes existing primitives (low risk)

Mode: recap · Base: main @ a55b430b · Head: 6633d42e

Classification: composes — reuses community install, featured listings, MCP instructions, and official guides; no new primitives.

Primitives touched

Primitive Group Impact
mcp-server surfaces composes — lifecycle instructions prefer community fork before create
capability-registry assistant composes — guide summaries mention fork-before-create
app-ui surfaces composes — onboarding starter Install → Copy prompt
app-sessions auth composes — onboarding setup prompt text

System map

Agents and onboarding both prefer trusted community packages before creating new ones; install stays on the existing community install API.

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
	mcpServer["mcp-server<br/>MCP endpoint (/mcp)"]:::touched
	capabilityRegistry["capability-registry<br/>Capability registry"]:::touched
	appUi["app-ui<br/>Browser app (Remix 3)"]:::touched
	appSessions["app-sessions<br/>Browser sessions"]:::touched
	mcpServer -->|"package lifecycle step 3"| capabilityRegistry
	appSessions -->|"setupPrompt fork-first copy"| mcpServer
	appUi -->|"POST community install.json"| appSessions
	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
	need[Need durable package]
	searchOwn[search own capabilities/packages]
	community[community_search prefer trusted]
	close{Close enough?}
	fork[Fork or one-click install then adapt]
	create[Create new package]
	need --> searchOwn --> community --> close
	close -->|yes| fork
	close -->|no| create
Loading

Plan vs actual

  • Shipped as planned: broader agent steering + onboarding in-place install with Copy prompt tooltip via remix/ui/popover
  • E2e mocks install.json (local env lacks Cloudflare credentials for repo-backed forks) and clears leftover featured marks
Open in Web Open in Cursor 

Summary by CodeRabbit

  • New Features

    • Featured starter packages on onboarding now support one-click installation without leaving the page.
    • After installation, users can copy a setup prompt to continue configuration.
    • Installation immediately activates packages, including scheduled jobs and auto-start services.
  • Documentation

    • Updated package lifecycle and integration guides to recommend finding and adapting trusted community packages before creating new ones.
    • Clarified onboarding, community package installation, and integration bootstrap workflows.
    • Updated guidance to include authenticated smoke testing before proceeding.

@coderabbitai

coderabbitai Bot commented Jul 20, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The change adds trusted community-package reuse guidance across documentation and agent instructions, and replaces featured onboarding listing links with interactive starter cards that install or fork packages and provide a setup prompt.

Changes

Community package onboarding

Layer / File(s) Summary
Package reuse guidance
docs/guides/*, docs/use/*, docs/contributing/*
Documentation now directs users and agents to search for, inspect, fork, install, and adapt close trusted community packages before creating new durable packages.
Agent instruction updates
packages/worker/src/app/onboarding-data*, packages/worker/src/mcp/...
Onboarding prompts, official guide descriptions, and MCP instructions include trusted community-package checks before package creation.
Onboarding starter-card flow
packages/worker/client/routes/*, e2e/community-featured.spec.ts
Featured onboarding listings use OnboardingStarterCard, which handles installation, status and error states, prompt copying, authentication redirects, and expanded end-to-end coverage.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

  • kentcdodds/kody#763: Implements the community install API consumed by the new onboarding starter card.
  • kentcdodds/kody#765: Covers the related featured community listings and onboarding flow.
  • kentcdodds/kody#760: Adds trusted community listing data exposed through community search and retrieval.

Suggested reviewers: kody-bot

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% 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 clearly captures the main fork-first guidance change introduced by the pull request.
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/fork-first-onboarding-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 17:46
@github-actions

github-actions Bot commented Jul 20, 2026 •

Copy link
Copy Markdown
Contributor

🔎 Preview deployed: https://kody-pr-804.kody-a99.workers.dev

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

Mocks:

Prefer community_search/community_fork in onboarding prompts, MCP
lifecycle instructions, and official guides. Add in-place Install on
onboarding starter cards that becomes Copy prompt after success.
Local Playwright lacks Cloudflare credentials for repo-backed forks;
fulfill install.json so the Install → Copy prompt UI path still runs.
Disable close-on-anchor-click so Install → Copy prompt can copy without
the popover dismissing the interaction, and tighten the e2e assertion.
@cursor
cursor Bot force-pushed the cursor/fork-first-onboarding-3a1c branch from 6633d42 to 2465302 Compare July 20, 2026 17:57

@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/src/app/onboarding-data.node.test.ts (1)

10-18: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Cover the new one-click-install wording.

The prompt now advertises one-click install on /onboarding and listing details, but this test does not protect that new user-facing path. Add an assertion such as expect(prompt).toContain('one-click install') so the guidance cannot regress unnoticed.

Proposed test addition
 	expect(prompt).toContain('community_fork')
+	expect(prompt).toContain('one-click install')
 	expect(prompt).toContain(
🤖 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/src/app/onboarding-data.node.test.ts` around lines 10 - 18,
Add an assertion to the existing onboarding prompt test around
buildOnboardingSetupPrompt that verifies the prompt contains the exact
“one-click install” wording, preserving the current assertions and test scope.
🤖 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/src/app/onboarding-data.node.test.ts`:
- Around line 10-18: Add an assertion to the existing onboarding prompt test
around buildOnboardingSetupPrompt that verifies the prompt contains the exact
“one-click install” wording, preserving the current assertions and test scope.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: fd75af7d-14aa-4576-a302-90d0f1acd0ce

📥 Commits

Reviewing files that changed from the base of the PR and between 00a5fcb and 2465302.

📒 Files selected for processing (13)
  • docs/contributing/community-packages.md
  • docs/guides/README.md
  • docs/guides/integration-bootstrap.md
  • docs/guides/package-lifecycle.md
  • docs/use/community-packages.md
  • docs/use/first-steps.md
  • e2e/community-featured.spec.ts
  • packages/worker/client/routes/onboarding-starter-card.tsx
  • packages/worker/client/routes/onboarding.tsx
  • packages/worker/src/app/onboarding-data.node.test.ts
  • packages/worker/src/app/onboarding-data.ts
  • packages/worker/src/mcp/capabilities/coding/kody-official-guide.ts
  • packages/worker/src/mcp/server-instructions.ts

@kody-bot
kody-bot merged commit f8aa3b5 into main Jul 20, 2026
5 checks passed
@kody-bot
kody-bot deleted the cursor/fork-first-onboarding-3a1c branch July 20, 2026 18:04
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