PkgLift v0.1.0
PkgLift v0.1.0 is the first public release of a conservative CocoaPods-to-SwiftPM migration CLI for Apple projects.
Highlights
- Analyze CocoaPods dependencies and existing Xcode targets without evaluating Ruby.
- Generate reviewable migration plans with
AUTO,REVIEW,BLOCKED, andUNKNOWNclassifications. - Apply only fully evidenced
AUTOmigrations with clean-Git enforcement, backups, atomic rollback, and typed errors. - Add exact SwiftPM package and product references through the Xcode project model.
- Preserve unknown pods, target blocks, unrelated Ruby, and remaining CocoaPods integration.
- Structurally verify project parsing, package references, product links, and migrated Podfile declarations.
- Validate the bundled registry of 10 verified mappings.
Install on Apple Silicon
Download both release assets, then run:
shasum -a 256 -c pkglift-macos-arm64.tar.gz.sha256
tar -xzf pkglift-macos-arm64.tar.gz
sudo mkdir -p /usr/local/libexec/pkglift /usr/local/bin
sudo cp pkglift /usr/local/libexec/pkglift/
sudo cp -R PkgLift_PkgLiftRegistry.bundle /usr/local/libexec/pkglift/
sudo ln -sf /usr/local/libexec/pkglift/pkglift /usr/local/bin/pkgliftArchive SHA-256:
4bae076b56d788413b6feaa65b0ec7e9b8f8567ed1f29e8cdfd3da858023d1c1
Verification
- 74 automated tests passed: 69 XCTest and 5 Swift Testing tests.
- Build, Test, Registry Validation, and final Release workflows passed on commit
320c8cb. - The downloaded public archive passed checksum, arm64, direct-execution, and symlink-installation smoke tests.
- A missing registry bundle returns a typed error with exit code 1 instead of trapping.
- A representative real Capacitor/CocoaPods project pilot produced zero unsafe
AUTOmigrations and no project mutation.
v0.1.0 limitations
- Release binary targets Apple Silicon and macOS 14 or later.
- Only CocoaPods-to-SwiftPM migrations are supported.
- Automatic migration requires a verified registry mapping, a lockfile-backed semantic version, and exactly one destination target.
- Dynamic Ruby, hooks, external pod sources, ambiguous targets, and unsupported configurations remain manual-review cases.
- PkgLift does not run
pod installautomatically.