boutique-best-practices
Installation
SKILL.md
Boutique Best Practices
Use this skill when migrating to Swift 6, troubleshooting concurrency issues, setting up tests, or following Boutique's recommended patterns.
Swift 6 and @MainActor Isolation
Boutique's Store, StoredValue, and SecurelyStoredValue are all @MainActor isolated. In Swift 6 with strict concurrency, this means:
- All store operations (
insert,remove,removeAll) must be called from a@MainActorcontext. - Controllers that use
@Stored,@StoredValue, or@SecurelyStoredValueare implicitly@MainActorsince the property wrappers are@MainActor. - SwiftUI views are already
@MainActor, so no extra annotation is needed there.