No linked issue.
Adds an opt-in SwifterPM-backed path for tuist install dependency resolution. When TUIST_USE_SWIFTERPM is present, Tuist shells out to SwifterPM for resolve and update, preferring a bundled vendor/swifterpm next to the Tuist executable and falling back to swifterpm on PATH. The default behavior continues to use swift package.
This also pins SwifterPM 0.5.1 in mise, installs it in the CLI release workflow, bundles it into tuist.zip, and codesigns/notarizes it with the rest of the CLI release payload.
tuist generate now reuses the package-info JSON cache that SwifterPM writes under .build/swifterpm/package-info when the cache is present and fresh. That avoids shelling out to load every package manifest after a SwifterPM-backed install. If the cache is missing, has an unsupported schema version, cannot be decoded, or an entry is older than its Package.swift, generation falls back to the existing manifest loader.
How to test locally
mise lock github:tuist/swifterpm --platform linux-x64,macos-arm64,macos-x64
swiftformat cli/Sources/TuistLoader/Loaders/SwiftPackageManagerGraphLoader.swift cli/Tests/TuistLoaderTests/Loaders/SwiftPackageManagerGraphLoaderTests.swift
PATH="$(dirname "$(mise which swifterpm)"):$PATH" TUIST_USE_SWIFTERPM=1 <built-tuist> install
PATH="$(dirname "$(mise which swifterpm)"):$PATH" TUIST_USE_SWIFTERPM=1 <built-tuist> generate --no-open
xcodebuild build -workspace Tuist.xcworkspace -scheme tuist CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=""
xcodebuild test -workspace Tuist.xcworkspace -scheme TuistUnitTests -only-testing TuistSupportTests/SwiftPackageManagerControllerTests -only-testing TuistLoaderTests/SwiftPackageManagerGraphLoaderTests CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=""