
Migrate
Migrates existing Xcode projects to Tuist generated workspaces with build and run...
Install
npx skills add tuist/tuist --skill migrate -g -a claude-code -y- Repository
- tuist/tuist5.9k
- Category
- Mobile
- Updated
- 3d ago
- License
- See repository
- Context cost
- Lightabout 1,206 tokens
- Runs scripts
- No, instructions only
What it does
Migrates existing Xcode projects to Tuist generated workspaces with build and run validation, external dependency mapping, and migration checklists. Use when adopting Tuist for an existing app or converting a hand-edited Xcode project to generated projects.
Migrating to Tuist Generated Projects
Quick Start
- Baseline build and run the app with xcodebuild.
- Inventory targets, build settings, and external dependencies.
- Create
Tuist.swift,Project.swift, andTuist/Package.swift. - Extract settings into
.xcconfigfiles and wire them inProject.swift. - Generate and build:
tuist generate --no-openthenxcodebuild build. - Fix build issues, regenerate, and validate runtime on a simulator.
Preflight Checklist
- Primary app scheme and any extension/test schemes
- Targets list (app, extensions, tests, helper tools)
- Deployment targets and bundle identifiers
- Info.plist locations and entitlements
- Custom build settings (per target and per configuration)
- External dependencies (SPM, XCFrameworks, local packages)
- Build scripts (SwiftGen, Sourcery, codegen)
- Runtime validation plan (simulator destination and launch command)
Outputs
Project.swiftandTuist.swiftTuist/Package.swiftfor external dependencies.xcconfigfiles (optional but recommended)- Build and runtime validation notes
- A short migration log of decisions and fixes
Migration Workflow
1. Baseline the project
Start by proving the current project builds and runs. Capture the command you use so the generated workspace can be validated the same way.
xcodebuild build \
-project App.xcodeproj \
-scheme App \
-configuration Debug \
-destination "generic/platform=iOS Simulator" \
-derivedDataPath DerivedDataBaseline
2. Map targets and settings
List every target and its role. Extract build settings into .xcconfig files when they are large or shared across targets. Keep deployment targets and bundle identifiers identical to the original project to avoid runtime surprises.
3. Add Tuist manifests
Create the manifests and keep them minimal and close to the existing project.
