Prepare your migration environment

  1. Create a working copy of your app so that you can preserve the original project:
    cp -R /path/to/your-app /path/to/your-app-dynamics
    cd /path/to/your-app-dynamics
  2. Verify that the working copy builds successfully:

    For an .xcworkspace project (CocoaPods or a multi-project workspace):

    xcodebuild -workspace YourApp.xcworkspace \
      -scheme YourApp -configuration Debug \
      -destination 'generic/platform=iOS Simulator' build

    For a .xcodeproj-only project (pure SPM or no Pods):

    xcodebuild -project YourApp.xcodeproj \
      -scheme YourApp -configuration Debug \
      -destination 'generic/platform=iOS Simulator' build

    Resolve any build issues before you continue. The migration tool requires a working project.

    If Git identity is not configured and prompt 00pre-bootstrap.md will initialize Git, set user.name and user.email locally or globally.

  3. Copy the migration tool (dynamics-migration-tool) into the root of your working copy:
    cp -R /path/to/dynamics-migration-tool ./dynamics-migration-tool
  4. Run the setup script for your AI agent:
    chmod +x dynamics-migration-tool/tooling/*.sh \
      dynamics-migration-tool/tooling/lib/*.sh
    ./dynamics-migration-tool/tooling/migrate.sh --agent <agent_name>

    For <agent_name>, type cursor, or if you are using another agent (for example, GitHub Copilot or Cody), type generic.

    To run an optional pre-flight compile before you start, add --verify-build and optionally --scheme YourScheme.

    If you specify --agent generic, you must do the following for each prompt that you run in the migration process:
    1. Paste steering/00-context.md as initial context.
    2. Paste the steering files referenced by that prompt (always include 06-inline-migration-comments.md, 14-api-provenance-and-replacement-catalog.md, and 79-migration-plan-state-and-call-site-closure.md).
    3. Paste the prompt file.
    4. After the prompt work, run validate.sh --check-prompt <id> when required, then record-prompt-execution.sh.
    5. Review and accept changes.
    The script verifies your project structure, installs steering or rules for the agent, and prints a ready-to-paste migration prompt. Copy the migration prompt for use in the next task (Migrate your iOS app to use the BlackBerry Dynamics SDK for iOS). Steering or rule files are installed in these locations:
    • Cursor: .cursor/rules/
    • Kiro: .kiro/steering/
Migrate your iOS app to use the BlackBerry Dynamics SDK for iOS.