feat(instant-start): setup starter provisioned repo on init - #245
Conversation
Provide a single CLI flow to provision or export an Instant Start repository, download the starter, and set up local development. Co-authored-by: Cursor <cursoragent@cursor.com>
Inline the command handler, use synchronous ZIP extraction, and drop the mock-heavy orchestration test while keeping focused API and filesystem coverage. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: José Pereira <jomifepe@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Restore the standalone init command and move the paired starter handoff into a dedicated starter download namespace with repository validation, pinned GitHub download, local preview setup, and post-extract documents cleanup. Co-authored-by: Cursor <cursoragent@cursor.com>
Check for an existing localhost preview before adding one so rerunning the command does not create duplicate preview configs. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep starter download independent from Website Generator while incorporating the latest CLI improvements. Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve the GitHub archive URL from persisted starter provenance instead of a hardcoded commit, and reject repositories without recorded revision metadata. Co-authored-by: Cursor <cursoragent@cursor.com>
Build the GitHub archive URL directly from repository metadata and only reject repositories without starter provenance. Co-authored-by: Cursor <cursoragent@cursor.com>
Mark the Instant Start onboarding step complete only after the starter has been downloaded and configured locally, without failing setup if tracking fails. Co-authored-by: Cursor <cursoragent@cursor.com>
Read the deployment URL from repository starter metadata so download removes the exact preview configured during provisioning. Co-authored-by: Cursor <cursoragent@cursor.com>
Move Instant Start local setup to `prismic init --repo` for existing projects, removing the dedicated starter download command and zip flow. Co-authored-by: Cursor <cursoragent@cursor.com>
These exports were removed during the starter download cleanup but are still required by completeStarterHandoff, which broke TypeScript and runtime preview setup. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Nice work on this! I found a few implementation issues, but the overall behavior checks out.
…entions (#250) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 4 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1db41c1. Configure here.
Derive local preview and simulator URLs from adapter config instead of hardcoding Next.js values. Rename package.json to the repo when the local project matches the starter template after handoff completes. Co-authored-by: Cursor <cursoragent@cursor.com>
Unskip starter handoff coverage now that instant-start provisioning returns starter provenance in production, and delete seeded documents before removing custom types in the no-models scenario. Co-authored-by: Cursor <cursoragent@cursor.com>
angeloashmore
left a comment
There was a problem hiding this comment.
Looks good! I left a few comments, but nothing blocking.
Merge origin/main for #249 file organization. Keep starter schema on slim repository client, move instantStart onboarding to onboarding.ts, drop z.pipe transform in favor of z.nullish, and use dedent for model conflict warning in init. Co-authored-by: Cursor <cursoragent@cursor.com>

Summary
prismic init --repoto complete Instant Start local handoff for existing degit'd projects: reconnect config, sync models (skipping the whole sync when reconnect has update/delete conflicts), removedocuments/, swap hosted preview for local Development preview, set the slice simulator URL, renamepackage.jsonto the repo when the starter package matches, and mark the onboarding step donestarter.id,starter.revision,starter.framework,starter.deploymentUrl)prismic starter downloadcommand and GitHub archive zip extraction flowTest plan
npm run test(lint, types, unit)npm run unit -- test/init.test.ts(reconnect, model-conflict warnings, and Instant Start handoff e2e viawebsite-generator/instant-start)Made with Cursor