---
name: ios-xcode
description: Xcode setup and tooling guidance for iOS 26 / Swift 6.2 clinic modular MVVM-C projects covering project configuration, SwiftData container wiring, testing, debugging, profiling, and distribution workflows. Use when configuring App-target infrastructure or day-to-day tooling around clinic architecture modules.
---

# iOS Xcode & Tooling Best Practices

Comprehensive guide for Xcode project configuration, SwiftData persistence, testing, debugging, profiling, and app distribution. Contains 19 rules across 6 categories.


## Clinic Architecture Contract (iOS 26 / Swift 6.2)

All guidance in this skill assumes the clinic modular MVVM-C architecture:

- Feature modules import `Domain` + `DesignSystem` only (never `Data`, never sibling features)
- App target is the convergence point and owns `DependencyContainer`, concrete coordinators, and Route Shell wiring
- `Domain` stays pure Swift and defines models plus repository, `*Coordinating`, `ErrorRouting`, and `AppError` contracts
- `Data` owns SwiftData/network/sync/retry/background I/O and implements Domain protocols
- Read/write flow defaults to stale-while-revalidate reads and optimistic queued writes
- ViewModels call repository protocols directly (no default use-case/interactor layer)

## When to Apply

Reference these guidelines when:
- Setting up Xcode projects with AppStorage, ScenePhase, or widgets
- Implementing SwiftData models, queries, and CRUD operations
- Writing tests with Swift Testing framework
- Debugging with breakpoints and console output
- Profiling performance with Instruments
- Distributing apps via TestFlight
- Building for visionOS or integrating ML features

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | SwiftData & Persistence | CRITICAL | `data-` |
| 2 | Project & Platform | HIGH | `platform-` |
| 3 | Testing | HIGH | `test-` |
| 4 | Debugging & Profiling | MEDIUM-HIGH | `debug-`, `perf-` |
| 5 | Distribution | MEDIUM | `dist-` |
| 6 | Specialty Platforms | MEDIUM | `ml-`, `spatial-` |

## Quick Reference

### 1. Project & Platform (HIGH)

- [`platform-app-storage`](references/platform-app-storage.md) - Use AppStorage for user preferences
- [`platform-scene-phase`](references/platform-scene-phase.md) - Respond to app lifecycle with ScenePhase
- [`platform-widget-integration`](references/platform-widget-integration.md) - Design for widget and Live Activity integration
- [`platform-system-features`](references/platform-system-features.md) - Integrate system features natively

### 2. SwiftData & Persistence (CRITICAL)

- [`data-model-macro`](references/data-model-macro.md) - Define models with @Model macro
- [`data-query-for-fetching`](references/data-query-for-fetching.md) - Use @Query for fetching data
- [`data-model-container`](references/data-model-container.md) - Configure model containers
- [`data-relationships`](references/data-relationships.md) - Define model relationships
- [`data-crud-operations`](references/data-crud-operations.md) - Implement CRUD operations

### 3. Testing (HIGH)

- [`test-swift-testing`](references/test-swift-testing.md) - Use Swift Testing framework
- [`test-preview-sample-data`](references/test-preview-sample-data.md) - Create preview sample data
- [`test-preview-macro`](references/test-preview-macro.md) - Use #Preview macro for rapid iteration

### 4. Debugging & Profiling (MEDIUM-HIGH)

- [`debug-breakpoints`](references/debug-breakpoints.md) - Use breakpoints for debugging
- [`debug-console-output`](references/debug-console-output.md) - Use console output for debugging
- [`perf-instruments-profiling`](references/perf-instruments-profiling.md) - Profile SwiftUI with Instruments

### 5. Distribution (MEDIUM)

- [`dist-testflight`](references/dist-testflight.md) - Distribute via TestFlight
- [`dist-app-icons`](references/dist-app-icons.md) - Design app icons for distribution

### 6. Specialty Platforms (MEDIUM)

- [`ml-natural-language`](references/ml-natural-language.md) - Integrate Natural Language ML
- [`spatial-visionos-windows`](references/spatial-visionos-windows.md) - Build for visionOS spatial computing

## How to Use

Read individual reference files for detailed explanations and code examples:

- [Section definitions](references/_sections.md) - Category structure and impact levels
- [Rule template](assets/templates/_template.md) - Template for adding new rules

## Reference Files

| File | Description |
|------|-------------|
| [references/_sections.md](references/_sections.md) | Category definitions and ordering |
| [assets/templates/_template.md](assets/templates/_template.md) | Template for new rules |
