freezeray init
Initialize FreezeRay in your project by creating directory structure and adding the package dependency.Synopsis
Description
Theinit command sets up FreezeRay in your project:
- Detects project type (Swift Package or Xcode Project)
- Creates directory structure (
FreezeRay/Fixtures/andFreezeRay/Tests/) - Adds FreezeRay package dependency to Package.swift or Xcode project
Usage
Swift Package
- Creates
FreezeRay/directory structure - Adds dependency to
Package.swift:
Xcode Project
- Creates
FreezeRay/directory structure - Adds FreezeRay package to Xcode project
- Adds
FreezeRay/folder reference to project navigator (yellow folder)
Options
--package-path <PATH>
Specify path to FreezeRay package (for local development):
https://github.com/TrinsicVentures/FreezeRay.git)
--skip-dependency
Skip adding FreezeRay dependency (only create directory structure):
Directory Structure
After runninginit, your project will have:
FreezeRay/ directory is initially empty. It will be populated when you run freezeray freeze.
Examples
Basic initialization
Skip dependency installation
Local package development
Requirements
- macOS 14+
- Xcode 15+ (for Xcode projects)
- Swift 5.9+
- Run from project root directory containing:
Package.swift(for Swift Packages), or*.xcodeproj(for Xcode Projects)
Error Messages
”No Swift Package or Xcode project found”
Cause: Not running from project root directory Fix:“FreezeRay dependency already exists”
Cause: FreezeRay is already added to your project Solution: This is fine! The init command is idempotent. Directory structure will be created if missing.”Could not modify Package.swift”
Cause: Package.swift has unusual formatting Fix: Manually add FreezeRay to yourPackage.swift:
“Could not modify Xcode project”
Cause: Xcode project format issue or permissions Fix: Manually add FreezeRay in Xcode:- File → Add Package Dependencies…
- Enter:
https://github.com/TrinsicVentures/FreezeRay.git - Select version 1.0.0 or later
- Add to your main app target
Next Steps
After initializing FreezeRay:1
Annotate your schema
Add
@FreezeSchema(version: "1.0.0") to your VersionedSchema2
Freeze your schema
Run
freezeray freeze 1.0.0 to create fixtures3
Commit fixtures
Run
git add FreezeRay/ and commit to your repository4
Run tests
Press ⌘U in Xcode to run drift and migration tests