SPA is short for Swift Package Add. It is a small Swift command for adding a Swift Package dependency to an Xcode GUI project.
It edits the first .xcodeproj/project.pbxproj found in the current directory and adds:
XCRemoteSwiftPackageReferenceXCSwiftPackageProductDependency- a Frameworks build phase entry for the first native target
spa <github-url> [version]
spa -r <package-name>spa https://github.com/user/repo
spa https://github.com/user/repo 1.2.3
spa -r ArchiveKitWhen version is omitted, spa uses the main branch. When version is provided, spa uses Xcode's upToNextMajorVersion requirement.
The package product name is inferred from the repository name. For example, https://github.com/user/ArchiveKit adds product ArchiveKit.
-r, --remove <package-name> Remove a package dependency
-h, --help Show help
-v, --version Show versionswift build -c release
cp .build/release/spa /usr/local/bin/spa
# Or
brew install jaywcjlove/tap/spa
brew reinstall jaywcjlove/tap/spamacOS 27 beta Install
sudo xcode-select -s /Applications/Xcode-26.5.app/Contents/Developer
sudo mv /Applications/Xcode.app /Applications/Xcode-26.5.app
sudo xcode-select -s /Library/Developer/CommandLineToolsBuild a universal release binary that supports both Apple Silicon and Intel Macs:
swift build -c releaseBuild a universal release binary that supports both Apple Silicon and Intel Macs:
$ swift build -c release --arch arm64 --arch x86_64 && \
tar -czf ./spa.tar.gz -C ./.build/out/Products/Release spa
$ brew tap jaywcjlove/tap
$ cd "$(brew --repository jaywcjlove/tap)"Install it with:
cp .build/apple/Products/Release/spa /usr/local/bin/spaVerify CPU architecture support:
file .build/apple/Products/Release/spaLicensed under the MIT License.