| name | swift-master |
| description | Review, optimize, migrate, guide, and generate Swift/iOS code across Swift 6, SwiftUI, Swift Concurrency, SwiftData, MVVM/TCA architecture, Pure DI, and Combine-to-AsyncSequence conversion. Use when Codex needs domain-specific Swift expertise for `.swift` files, iOS app codebases, SwiftUI state management, concurrency correctness, Swift 6 migration, architecture choices, dependency injection, or repo-wide code review. |
Swift Master
Overview
Swift/iOS ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ฆฌ๋ทฐ, ์ต์ ํ, ๋ง์ด๊ทธ๋ ์ด์
, ๊ฐ์ด๋, ์์ฑํ ๋ ์ฌ์ฉํ๋ ํตํฉ ์คํฌ.
ํญ์ ์์
๋ชจ๋์ ๋๋ฉ์ธ์ ๋จผ์ ๊ณ ๋ฅด๊ณ , ๊ด๋ จ reference๋ง ์ฝ๊ณ , ํ์ผ/๋ผ์ธ ๊ทผ๊ฑฐ๊ฐ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ด๊ธฐ.
Quick Start
- ๋จผ์
references/quick-reference.md์์ ์์
์ ํ๋ณ ์ง์
์ ์ ๊ณ ๋ฅด๊ธฐ.
- ์์ฒญ์ ๋ชจ๋์ ๋๋ฉ์ธ์ผ๋ก ๋ถ๋ฅํ๊ธฐ.
- ํ์ํ reference๋ง ์ ํํด์ ์ฝ๊ธฐ.
- ๋ฆฌ๋ทฐ๋ ๋ง์ด๊ทธ๋ ์ด์
์ ์ต์ ๋ณ๊ฒฝ๊ณผ ๋ฒ์ ์ ์ฝ์ ๋จผ์ ํ์ธํ๊ธฐ.
MainActor, Sendable, actor ๊ฒฝ๊ณ, cancellation์ด ์ฝํ๋ฉด strict concurrency ๊ฒ์ฆ์ ๊ธฐ๋ณธ ๊ฒ์ฆ ๊ธฐ์ค์ผ๋ก ์ฌ๋ฆฌ๊ธฐ.
- ๊ฒฐ๊ณผ์๋ ๊ทผ๊ฑฐ, ์ํฅ, ์์ ๋ฐฉํฅ, ๊ฒ์ฆ ๋ฐฉ๋ฒ์ ํฌํจํ๊ธฐ.
์์ฃผ ์ฐ๋ reference:
- ๋น ๋ฅธ ์ง์
:
references/quick-reference.md
- SwiftUI:
references/swiftui-reference.md
- SwiftData:
references/swiftdata-reference.md
- Concurrency:
references/concurrency-reference.md
- Swift 6:
references/swift6-reference.md
- Architecture:
references/architecture-reference.md
- Pure DI:
references/pure-di-reference.md
- Combine ๋ณํ:
references/combine-migration.md
- ์งง์ ํ ๊ท์น:
references/swift-conventions-reference.md
- ์์ ์ค์ฌ ์ค์ ํจํด:
references/swift-practices-reference.md
- ์ ์ฒด ๋ณํ ์์:
references/transformation-examples.md
Mode Selection
REVIEW
- ์ํฐํจํด, ๋ฒ๊ทธ ์ํ, ์ค๊ณ ๋ฌธ์ , ๋ง์ด๊ทธ๋ ์ด์
ํฌ์ธํธ๋ฅผ ์ฐพ๊ธฐ.
- ์ ์ฒด repo ๋ฆฌ๋ทฐ๋ผ๋ฉด ๊ด๋ จ ๋๋ฉ์ธ reference๋ฅผ 1~2๊ฐ๋ง ๋จผ์ ์ด๊ณ ๊ฒ์ ๋ฒ์๋ฅผ ์ขํ๊ธฐ.
OPTIMIZE
- ์ฑ๋ฅ, ๋ฉ๋ชจ๋ฆฌ, ์ฌ๋ ๋๋ง, ๋ถํ์ํ ์ถ์ํ, ์ทจ์ ๋๋ฝ, ์ํ ์ค์ผ์ ์ ๊ฒํ๊ธฐ.
- ์ฝ๋ ๋ณ๊ฒฝ์ด ํ์ ์์ผ๋ฉด ๊ด์ฐฐ ๊ฒฐ๊ณผ์ ์ฐ์ ์์๋ง ์ ์ํ๊ธฐ.
MIGRATE
- Swift 6,
@Observable, NavigationStack, Swift Concurrency, AsyncSequence ๋ฑ ์ต์ ํจํด์ผ๋ก ์ ํํ๊ธฐ.
- ๋ฐฐํฌ ํ๊น๊ณผ ํ๋ ์์ํฌ ์ ์ฝ์ด ํ์ธ๋์ง ์์ผ๋ฉด ๊ฐ์ ๊ณผ ๋์์ ํจ๊ป ์ ๊ธฐ.
GUIDE
- ํจํด ์ ํ, ์ค๊ณ ๋น๊ต, ๋ฒ ์คํธ ํ๋ํฐ์ค, ํ ๊ท์น ์ ๋ฆฌ์ ์ง์คํ๊ธฐ.
- MVVM/TCA, Pure DI, SwiftData ๋์
ํ๋จ ๊ฐ์ ์ง๋ฌธ์ ์ ํฉํ๊ธฐ.
GENERATE
- ์ ํ์
, ViewModel, Actor, AsyncSequence ๋ธ๋ฆฌ์ง, DI wiring ๊ฐ์ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ.
- ์์ฑ ์ ์ ํํ ํจํด์ ์ด์ ์ ํ
์คํธ ํฌ์ธํธ๋ฅผ ํจ๊ป ์ ์ํ๊ธฐ.
Domain Routing
SwiftUI
๋ค์์ ์ฐ์ ์ ๊ฒํ๊ธฐ.
ObservableObject vs @Observable
@State, @StateObject, @Bindable, @Environment ์ ํ
NavigationView โ NavigationStack
- View ์ฌ๋ ๋๋ง, state source of truth, MainActor ๊ฒฝ๊ณ
ํ์ ์ references/swiftui-reference.md๋ฅผ ์ฝ๊ธฐ.
SwiftData
๋ค์์ ์ฐ์ ์ ๊ฒํ๊ธฐ.
@Model ์ค๊ณ, ๊ด๊ณ ๋ชจ๋ธ๋ง, delete rule
ModelContext ์์ฑ ์์น
- ์ค๋ ๋ฉ ๊ท์น๊ณผ
PersistentIdentifier ์ ๋ฌ
- Preview/Test์ฉ in-memory container
ํ์ ์ references/swiftdata-reference.md๋ฅผ ์ฝ๊ธฐ.
Concurrency
๋ค์์ ์ฐ์ ์ ๊ฒํ๊ธฐ.
DispatchQueue, DispatchGroup, DispatchSemaphore ๋์ฒด
Task, TaskGroup, Actor, AsyncStream, cancellation
Sendable, actor ์ฌ์ง์
, @MainActor, continuation ์์ ์ฑ
- actor-isolated ํ์
์ด non-Sendable ์๋น์ค๋ protocol existential์ ๋ณด๊ดํ ์ฑ async ํธ์ถํ๋์ง
async func๊ฐ ์ค์ ์์
์๋ฃ ์ ์ returnํ๋ ์๋ฏธ ๋ถ์ผ์น ํจํด์ธ์ง
- ์ทจ์๋ ์ด์ Task๊ฐ ์ต์ ์์ฒญ์
isLoading / error / result ์ํ๋ฅผ ๋ฎ์ด์ฐ๋์ง
ํ์ ์ references/concurrency-reference.md์ references/swift6-reference.md๋ฅผ ์ฝ๊ธฐ.
Architecture / DI
๋ค์์ ์ฐ์ ์ ๊ฒํ๊ธฐ.
- MVVM vs TCA ์ ํ ๊ธฐ์ค
- Composition Root, Factory, Protocol Witness, Environment ํจํด
- Service Locator ๋๋ ์ ์ญ ์ํ ๋จ์ฉ ์ฌ๋ถ
ํ์ ์ references/architecture-reference.md์ references/pure-di-reference.md๋ฅผ ์ฝ๊ธฐ.
Combine / Migration
๋ค์์ ์ฐ์ ์ ๊ฒํ๊ธฐ.
Publisher โ AsyncSequence
sink โ for await
AnyCancellable โ Task
- ๋ ๊ฑฐ์ callback/delegate โ continuation ๋๋
AsyncStream
ํ์ ์ references/combine-migration.md์ references/transformation-examples.md๋ฅผ ์ฝ๊ธฐ.
Workflow
1) ๋ฒ์์ ๋ฒ์ ๊ฐ์ ํ์ ํ๊ธฐ
- ๋ฆฌ๋ทฐ ๋์ ํ์ผ, ํ๋ ์์ํฌ, ์ต์ iOS ๋ฒ์ , Swift ๋ฒ์ ์ ๋จผ์ ํ์ธํ๊ธฐ.
- ๋ฒ์ ์ด ๋ถ๋ช
ํํ๋ฉด ์ต์ ํจํด์ ๊ฐ์ ํ์ง ๋ง๊ณ ๊ฐ์ ์ผ๋ก ๋ช
์ํ๊ธฐ.
2) ํ์ํ reference๋ง ๊ณ ๋ฅด๊ธฐ
- SwiftUI ๋ฌธ์ ๋ฉด
swiftui-reference.md๋ถํฐ ์ฝ๊ธฐ.
- ๋์์ฑ ๊ฒฝ๊ณ ๋ ๋ฐ๋๋ฝ ์ํ์ด๋ฉด
concurrency-reference.md์ swift6-reference.md๋ฅผ ์ฝ๊ธฐ.
- ์ค๊ณ ์ง๋ฌธ์ด๋ฉด
architecture-reference.md ๋๋ pure-di-reference.md๋ฅผ ์ฝ๊ธฐ.
- ๋ชจ๋ reference๋ฅผ ํ ๋ฒ์ ์ฝ์ง ๋ง๊ธฐ.
3) ์ฝ๋์ ๋ก๊ทธ๋ฅผ ๊ฒ์ํ๊ธฐ
- repo-wide ๋ฆฌ๋ทฐ์์๋ ๋จผ์ ๊ฒ์์ผ๋ก ํ๋ณด๋ฅผ ์ขํ๊ธฐ.
- ์:
Task.detached, DispatchQueue.main.sync, @unchecked Sendable, NavigationLink(destination:), @State private var ... = ViewModel(), modelContext.insert
- ์:
Task { ... }๋ฅผ spawn๋ง ํ๊ณ ๊ธฐ๋ค๋ฆฌ์ง ์๋ async ํจ์, generate()์ฒ๋ผ ๋ณด์ด์ง๋ง ์ค์ ๋ก๋ startGenerate() ์๋ฏธ์ธ API, requestID/token ์์ด ์ต์ ์ํ๋ฅผ ๋ฎ์ด์ฐ๋ ์ฝ๋
- ๊ฒ์ ๊ฒฐ๊ณผ์ ์ค์ ์ฝ๋ ์ฝ๊ธฐ๋ฅผ ๊ฒฐํฉํด ํ๋จํ๊ธฐ.
4) ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ์กฐํํ๊ธฐ
- ๋ฆฌ๋ทฐ๋ ์ฌ๊ฐ๋๋ณ๋ก ๋ฌถ๊ธฐ.
- ๊ฐ ํญ๋ชฉ์ ํ์ผ/๋ผ์ธ, ๋ฌธ์ ์ด์ , ์ํฅ, ์ต์ ์์ ๋ฐฉํฅ์ ํฌํจํ๊ธฐ.
- ์ฐธ๊ณ ํ reference๋ฅผ ๊ฐ์ด ์ ๊ธฐ.
- strict concurrency ์ํ์ ์ฐพ์ผ๋ฉด ์ง๋จ์ผ๋ก ๋๋ด์ง ๋ง๊ณ , ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅํ ์์ ๋ฐฉํฅ 1๊ฐ ์ด์์ ๋ฐ๋์ ํฌํจํ๊ธฐ.
5) ๋ณ๊ฒฝ์ด๋ ์์ฑ์ด ํ์ํ๋ฉด ์ต์ diff๋ก ์งํํ๊ธฐ
- ๋ฌด๊ดํ ์คํ์ผ ์ ๋ฆฌ๋ ๋๊ท๋ชจ ๊ตฌ์กฐ ๊ฐํธ์ ํผํ๊ธฐ.
- ๋ง์ด๊ทธ๋ ์ด์
์ ํ ๋ฒ์ ํ ์ถ์ฉ ์งํํ๊ธฐ.
- ๊ฐ๋ฅํ๋ฉด ํ
์คํธ๋ ๊ฒ์ฆ ๋ช
๋ น๋ ํจ๊ป ์ ์ํ๊ธฐ.
- Concurrency ์์
์ ๊ฐ๋ฅํ๋ฉด
swift test, swift build, xcodebuild test, strict concurrency build๋ฅผ ์ฐ์ ๊ฒ์ฆ ๋ช
๋ น์ผ๋ก ์ ์ํ๊ธฐ.
Migration Defaults
- iOS 17+๊ฐ ํ์คํ๋ฉด
ObservableObject ๋์ @Observable์ ์ฐ์ ๊ฒํ ํ๊ธฐ.
- iOS 16+๋ฉด
NavigationView๋ณด๋ค NavigationStack์ ์ฐ์ ๊ฒํ ํ๊ธฐ.
- GCD์ callback์
async/await, TaskGroup, Actor, continuation์ผ๋ก ๋จ๊ณ์ ์ ํ์ ์ฐ์ ํ๊ธฐ.
- DI๋ container๋ณด๋ค Pure DI์ Composition Root๋ฅผ ์ฐ์ ๊ฒํ ํ๊ธฐ.
- Combine์ ์ ์ฝ๋์์ AsyncSequence ๊ธฐ๋ฐ ์ค๊ณ๋ฅผ ์ฐ์ ๊ฒํ ํ๊ธฐ.
- ๋ค๋ง ๋ฐฐํฌ ํ๊น, ํ ๊ท์น, ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ ๋๋ฌธ์ ์ ์ง๊ฐ ํ์ํ๋ฉด ๊ทผ๊ฑฐ๋ฅผ ๋จ๊ธฐ๊ธฐ.
Output Contract
-
ํญ์ ๋ค์์ ํฌํจํด ์๋ตํ๊ธฐ.
- ์์
๋ชจ๋์ ๋๋ฉ์ธ
- ๊ฒํ /์์ ํ ํ์ผ ๋ฒ์
- ํต์ฌ ์ด์ ๋๋ ์ ํํ ํจํด
- ๊ทผ๊ฑฐ์ ์ํฅ
- ์ต์ ์์ ๋ฐฉํฅ ๋๋ ์์ฑ ๊ฒฐ๊ณผ
- ๊ฒ์ฆ ๋๋ ๋ค์ ๋จ๊ณ
-
strict concurrency ์ํ์ ์ฐพ์ผ๋ฉด ์์ ์คํจ ๋ช
๋ น ๋๋ ์ค์ ์คํจ ๋ช
๋ น, ๊ทธ๋ฆฌ๊ณ ์ฆ์ ์ ์ฉ ๊ฐ๋ฅํ ๋ค์ ์์ ์์ ํฌํจํ๊ธฐ.
-
๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ์๋ ๊ฐ๋ฅํ๋ฉด ๋ค์ ํ์์ ๋ฐ๋ฅด๊ธฐ.
- CRITICAL: ๋ฐ๋์ ์์ ํด์ผ ํ๋ ๋ฌธ์
- WARNING: ๋์ ํ๋ฅ ์ ๋ฒ๊ทธ ๋๋ ์ ์ง๋ณด์ ์ํ
- INFO: ๊ฐ์ ๊ถ์ฅ ์ฌํญ
-
๊ฐ์ด๋ ์์ฒญ์๋ ๋ค์์ ํฌํจํ๊ธฐ.
- ์ถ์ฒ์
- ๋์ 1๊ฐ ์ด์
- ์ ํ ๊ธฐ์ค
- ์ ์ฉ ์ ์ฃผ์์