Shared Swift packages used by CleanTemplate-based apps. This repo exposes a single multi-product Swift package that groups the core modules.
- Domain: Entities and repository protocols
- Data: Repository implementations (depends on Domain + Networking)
- Networking: API request/response handling
- LocalPersistance: Keychain and UserDefaults caching
- DesignSystem: UI components, colors, typography, resources
- Swift 5.9+ (tools 6.0)
- iOS 18.0+
Package.swift example:
dependencies: [
.package(url: "https://github.com/sakhnenkoff/app-core-packages.git", from: "1.0.0")
]Add products to targets:
.target(
name: "MyApp",
dependencies: [
.product(name: "Domain", package: "app-core-packages"),
.product(name: "Data", package: "app-core-packages"),
.product(name: "Networking", package: "app-core-packages"),
.product(name: "LocalPersistance", package: "app-core-packages"),
.product(name: "DesignSystem", package: "app-core-packages")
]
)Xcode: File > Add Packages... then use the repo URL.
In Xcode, use File > Packages > Add Local... and point to a local clone of this repo. Xcode will prefer the local package while you iterate.
swift build
swift test- Update code and tests
- Run
swift test - Tag and push:
git tag x.y.z && git push --tags