macoslisted
Install: claude install-skill ndisisnd/cook
# macOS Standards
Default load: this file only; pull refs only when needed.
Applies to macOS app targets only — never iOS/iPadOS/watchOS/visionOS, even when `Info.plist`/entitlements globs match. Swift language rules → `standards/swift/`; universal rules → `standards/global/`; secret policy → `global/refs/security.md`.
**Scope:** full force for new targets and modules. In existing code, match established conventions; propose migrations (persistence stack, deployment target, architecture slices) as separate explicit tasks, never as a side effect.
## P0 — Platform Correctness
### Platform Baseline (2026)
- Ship universal 2 (arm64 + x86_64) while the deployment target spans Intel-capable macOS; verify with `lipo -info`. arm64-only is a deliberate decision → `refs/distribution.md`.
- Build with the current Xcode/SDK — required for Liquid Glass and current-OS behavior. SDK version ≠ deployment target.
- New apps: minimum deployment macOS 15 default; 14 is the practical floor (loses `@Observable`, modern scene APIs). Never bump an existing target as a side effect.
### App Structure & Lifecycle
- SwiftUI lifecycle (`@main struct App: App`); never `@NSApplicationMain`, hand-written `main.swift`, or `NSApplication.main()` for new *app* code (non-app bundles legitimately differ).
- `@NSApplicationDelegateAdaptor` only for what SwiftUI can't do; keep it a thin bridge. Scope, Dock-reopen gap, URL schemes → `refs/windows-and-scenes.md`.
- AppKit bridging: SwiftUI-first; wrap only th