Skip to content

feat(zoo-migration): add final Roo-to-Zoo migration handoff flow#12266

Draft
edelauna wants to merge 2 commits intoRooCodeInc:mainfrom
edelauna:feat-migration-to-zoo
Draft

feat(zoo-migration): add final Roo-to-Zoo migration handoff flow#12266
edelauna wants to merge 2 commits intoRooCodeInc:mainfrom
edelauna:feat-migration-to-zoo

Conversation

@edelauna
Copy link
Copy Markdown

@edelauna edelauna commented May 4, 2026

Related GitHub Issue

Closes: #

Description

Adds the final Roo-to-Zoo migration handoff flow for the VS Code extension.

This PR adds:

  • A roo-cline.prepareZooMigration command that prepares a Zoo migration handoff bundle from Roo's local storage.
  • Copy-based migration output under Roo global storage, including settings and task history while leaving the original Roo folders untouched.
  • Explicit opt-in handling for provider profiles/API keys so secrets are only included when the user chooses to include them.
  • A VS Code activation notification that surfaces the Zoo migration path on reload.
  • Zoo migration actions in the release announcement panel: Prepare Migration and Install Zoo.
  • Localized backend, command palette, and webview strings for all supported locales.
  • A 3.53.1 version/changelog update and a new announcement id so users who saw the previous announcement get the Zoo-focused one.

Reviewer focus areas:

  • Handoff schema/content in src/services/zoo-migration/ZooMigration.ts.
  • Secret opt-in behavior for provider profile export.
  • Notification behavior: it intentionally shows on extension activation/reload instead of being permanently dismissed.
  • Announcement copy and webview message handling for migration/install actions.

Test Procedure

Automated checks run locally:

node scripts/find-missing-translations.js
pnpm --dir src check-types
pnpm vitest run services/zoo-migration/__tests__/ZooMigration.spec.ts
pnpm vitest run src/components/chat/__tests__/Announcement.spec.tsx

Manual verification:

  • Reload the Roo extension and confirm the Zoo migration notification appears.
roo-to-zoo
  • Run Roo Code: Prepare Zoo Migration from the command palette.
  • Verify Roo prompts before including API keys.
roo-to-zoo-prompt
  • Confirm the generated zoo-migration/handoff-v1.json exists under Roo global storage and points at copied data/settings and data/tasks folders.
roo-to-zoo-handoff
  • Open the release announcement panel and confirm the Zoo migration copy plus Prepare Migration / Install Zoo buttons are present.
roo-to-zoo-chat

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
  • Scope: My changes are focused on the linked issue (one major feature/fix per PR).
  • Self-Review: I have performed a thorough self-review of my code.
  • Testing: New and/or updated tests have been added to cover my changes (if applicable).
  • Documentation Impact: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
  • Contribution Guidelines: I have read and agree to the Contributor Guidelines.

Documentation Updates

  • No documentation updates are required for this PR beyond the changelog entry.

Additional Notes

The migration handoff is intentionally copy-based. Roo data remains in place so users can verify the handoff before installing or switching to Zoo Code.

Get in Touch

Discord:

Interactively review PR in Roo Code Cloud


const ZOO_REPOSITORY_URL = "https://github.com/Zoo-Code-Org/Zoo-Code"
const ZOO_ANNOUNCEMENT_URL = "https://www.reddit.com/r/RooCode/comments/1syufn1/roo_is_back_as_zoo/"
const ZOO_EXTENSION_ID = process.env.ZOO_CODE_EXTENSION_ID
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

TODO: Either hard code extension id once available, or add as variable to release ci job.

const ZOO_ANNOUNCEMENT_URL = "https://www.reddit.com/r/RooCode/comments/1syufn1/roo_is_back_as_zoo/"
const ZOO_EXTENSION_ID = process.env.ZOO_CODE_EXTENSION_ID

const CONFIGURATION_KEYS = [
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

TODO: confirm if exhaustive list for all use cases

@edelauna edelauna changed the title Feat migration to zoo feat(zoo-migration): add final Roo-to-Zoo migration handoff flow May 4, 2026
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.

1 participant